PDA

View Full Version : SetStopLoss Question


aethelwulf
07-03-2007, 01:10 PM
I'm trying to create a SetStopLoss that will place the stop loss at the low of the previous bar minus 2 pips. My entry name is called L1.

SetStopLoss("L1", CalculationMode.Price, Low[1]-2*TickSize, true);

This is what I came up with but it seems not to be working when a place the strategy on the chart or the backtester. Thanks for any help.

NinjaTrader_Ray
07-03-2007, 03:25 PM
SetStopLoss() is a method that submits a stop loss triggered by the incoming fills of an order. Therefore, its called before any position is open.

There are many approaches to get done what you want but it depends on several variables. First one is, are you entering "L1" using a market order?

If yes, you can add the line as you shown in your post one line before your EnterLong() or EnterShort() call. This should do the trick.

aethelwulf
07-03-2007, 03:49 PM
Thank you, that works good. I was wondering if i can enter a EMA stop loss instead of a Low[1]-2*ticksize. The ema would follow the ema after each new bar. Do i have to enter a bar update code to have the stop loss follow the EMA?

NinjaTrader_Ray
07-03-2007, 04:00 PM
Your understanding is correct. A few hints -

- When long, make sure the EMA value is less than the current bid, current ask when short...otherwise you can get rejected orders since the price may be invalid

- Yes, you have to update the price on each new OnBarUpdate() and pass in the new EMA value ... SetStopLoss("L1", CalculationMode.Price, EMA(20)[0], true);

- Make sure that the above call is ONLY made if you have an open position