![]() |
This website will be down for maintenance from Friday May 24th at 6PM MDT until Saturday May 25th at 11AM MDT. We apologize for the inconvenience. If you need assistance during this time, please email sales@ninjatrader.com
|
|||||||
| General Programming General NinjaScript programming questions. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Junior Member
Join Date: Jul 2007
Posts: 3
Thanks: 0
Thanked 0 times in 0 posts
|
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. |
|
|
|
|
|
#2 |
|
Administrator
Join Date: Nov 2004
Location: Denver, CO, USA
Posts: 11,163
Thanks: 6
Thanked 45 times in 32 posts
|
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.
Ray
NinjaTrader Customer Service |
|
|
|
|
|
#3 |
|
Junior Member
Join Date: Jul 2007
Posts: 3
Thanks: 0
Thanked 0 times in 0 posts
|
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?
|
|
|
|
|
|
#4 |
|
Administrator
Join Date: Nov 2004
Location: Denver, CO, USA
Posts: 11,163
Thanks: 6
Thanked 45 times in 32 posts
|
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
Ray
NinjaTrader Customer Service |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Dynamically Modifying SetStopLoss() | whitmark | Strategy Development | 6 | 10-13-2008 12:17 PM |
| SetStopLoss() & SetTrailStop() Concurrent Use | whitmark | Strategy Development | 8 | 11-14-2007 09:05 AM |
| Currency in SetProfitTarget / SetStopLoss | DarrylT | Strategy Development | 1 | 05-12-2007 10:54 AM |
| SetStopLoss and SetProfitTarget in Initialize | FireFly | Strategy Development | 9 | 04-05-2007 11:52 PM |
| setstoploss order from TS 8.1 | ppreal | Automated Trading | 15 | 12-20-2006 07:46 AM |