View Full Version : NT Autotrade is canceling stop loss orders leaving positions active
RDPoS
11-11-2010, 02:35 AM
Running a strategy that has never failed before but all of a sudden when the stop loss limit should have been triggered, NT canceled the order instead. Leaving me in the position.
I thought, how odd. Let me reload the script and reload to see if I can duplicate it. Sure enough the backtest exit worked as expected but the next time a stop loss should have been triggered, the same thing happened. It canceled the stop leaving me in the position.
NT6.5.1000.18 Sim
It ran fine for days on live trades and then switching back to sim it just craps out now.
Any thoughts on how to troubleshoot this?
On the chart, the stop loss should have been triggered at 2:04AM on 11/11, yet it was canceled instead.
http://i844.photobucket.com/albums/ab7/RDPoS/11-11-20103-20-40AMCancelledStop.png
http://i844.photobucket.com/albums/ab7/RDPoS/11-11-20103-23-22AMOrderLog.png
NinjaTrader_Bertrand
11-11-2010, 03:09 AM
RDPoS, you would need to run your script with TraceOrders to see why the order was cancelled here -
http://www.ninjatrader.com/support/forum/showthread.php?t=3627
RDPoS
11-11-2010, 03:26 AM
Funny, I opened the script to add the command and NT crashed. I will restart and add the command. I can't send logs to tech support because the mailer does not work in Ninja.
NinjaTrader_Bertrand
11-11-2010, 04:21 AM
You can also forward the log / trace files manually if you attach the ones from today (they all have a date) to an email to support at ninjatrader dot com. You can locate the files via the Log / Trace folders under MyDocuments > NinjaTrader 6.5 / 7
RDPoS
11-11-2010, 04:36 AM
Sent and scripts updated with TraceOrders().
How do I make use of this information now?
NinjaTrader_Bertrand
11-11-2010, 04:38 AM
Please take a look at the link I posted - you would open the output window and get additional order debug info helping you hopefully pin down why the cancellation happens.
RDPoS
11-11-2010, 05:04 AM
So that is a popup output window?
NinjaTrader_Bertrand
11-11-2010, 05:06 AM
No, you would open the regular output window via Tools > Output Window.
RDPoS
11-11-2010, 06:23 AM
Is it possible to get the value of the variables to print out when the orders are updated on the output log as well? That might be helpful as well.
NinjaTrader_Bertrand
11-11-2010, 06:26 AM
Yes, you could add Prints throughout your code to achieve this level of insight -
http://www.ninjatrader.com/support/forum/showthread.php?t=3418
RDPoS
11-12-2010, 04:21 AM
Ok I got NT to duplicate the error where it canceled the order that should have been executed.
From the TraceOrder() log:
11/12/2010 4:48:25 AM Amended matching order: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3674 StopPrice=1.3674 SignalName=Sell' FromEntrySignal=''
11/12/2010 4:48:34 AM Entered internal PlaceOrder() method at 11/12/2010 4:48:34 AM: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3684 StopPrice=1.3684 SignalName='' FromEntrySignal=''
11/12/2010 4:48:34 AM Amended matching order: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3684 StopPrice=1.3684 SignalName=Sell' FromEntrySignal=''
11/12/2010 4:52:24 AM Entered internal PlaceOrder() method at 11/12/2010 4:52:24 AM: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName='' FromEntrySignal=''
11/12/2010 4:52:24 AM Amended matching order: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName=Sell' FromEntrySignal=''
11/12/2010 4:58:47 AM Entered internal PlaceOrder() method at 11/12/2010 4:58:47 AM: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName='' FromEntrySignal=''
11/12/2010 4:58:47 AM Ignored PlaceOrder() method: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName=Sell' FromEntrySignal='' Reason='There already is a matching order with same prices and quantity'
11/12/2010 5:01:12 AM Entered internal PlaceOrder() method at 11/12/2010 5:01:12 AM: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName='' FromEntrySignal=''
11/12/2010 5:01:12 AM Ignored PlaceOrder() method: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName=Sell' FromEntrySignal='' Reason='There already is a matching order with same prices and quantity'
11/12/2010 5:02:06 AM Entered internal PlaceOrder() method at 11/12/2010 5:02:06 AM: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName='' FromEntrySignal=''
11/12/2010 5:02:06 AM Ignored PlaceOrder() method: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName=Sell' FromEntrySignal='' Reason='There already is a matching order with same prices and quantity'
11/12/2010 5:07:35 AM Entered internal PlaceOrder() method at 11/12/2010 5:07:35 AM: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName='' FromEntrySignal=''
11/12/2010 5:07:35 AM Ignored PlaceOrder() method: Action=Sell OrderType=StopLimit Quantity=0 LimitPrice=1.3690 StopPrice=1.3690 SignalName=Sell' FromEntrySignal='' Reason='There already is a matching order with same prices and quantity'
11/12/2010 5:07:38 AM Entered internal PlaceOrder() method at 11/12/2010 5:07:38 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3742 StopPrice=1.3742 SignalName='' FromEntrySignal=''
11/12/2010 5:07:38 AM Ignored PlaceOrder() method at 11/12/2010 5:07:38 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3742 StopPrice=1.3742 SignalName='Buy' FromEntrySignal='' Reason='Exceeded entry signals limit based on EntryHandling and EntriesPerDirection properties'
11/12/2010 5:07:38 AM Cancelled expired order: BarsInProgress=0: Order='7207b8fe0e084f598b526e8f13f64fcb/Sim101' Name='Sell' State=Working Instrument='M6E 12-10' Action=Sell Limit price=1.369 Stop price=1.369 Quantity=1 Strategy='FX4Chandy54Long' Type=StopLimit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='7207b8fe0e084f598b526e8f13f64fcb' Gtd='12/1/2099 12:00:00 AM'
11/12/2010 5:07:49 AM Entered internal PlaceOrder() method at 11/12/2010 5:07:49 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3731 StopPrice=1.3731 SignalName='' FromEntrySignal=''
11/12/2010 5:07:49 AM Ignored PlaceOrder() method at 11/12/2010 5:07:49 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3731 StopPrice=1.3731 SignalName='Buy' FromEntrySignal='' Reason='Exceeded entry signals limit based on EntryHandling and EntriesPerDirection properties'
11/12/2010 5:07:58 AM Entered internal PlaceOrder() method at 11/12/2010 5:07:58 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3721 StopPrice=1.3721 SignalName='' FromEntrySignal=''
11/12/2010 5:07:58 AM Ignored PlaceOrder() method at 11/12/2010 5:07:58 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3721 StopPrice=1.3721 SignalName='Buy' FromEntrySignal='' Reason='Exceeded entry signals limit based on EntryHandling and EntriesPerDirection properties'
11/12/2010 5:08:35 AM Entered internal PlaceOrder() method at 11/12/2010 5:08:35 AM: Action=Buy OrderType=StopLimit Quantity=1 LimitPrice=1.3721 StopPrice=1.3721 SignalName='' FromEntrySignal=''
Not seeing how it is an expired order since it was just called in seconds before. What happened? It is a single order strategy.
http://i844.photobucket.com/albums/ab7/RDPoS/4thError.png
NinjaTrader_Bertrand
11-12-2010, 04:25 AM
You normally submit your order on each new bar so it would get resubmitted - at this point in time where the expiry happend your stops switched to the upperside and thus not providing a resubmitted order to keep it alive (stop and limit order expire after one bar in NT if not resubmitted or sent with liveUntilCancelled = true).
RDPoS
11-12-2010, 04:32 AM
But how can it switch without being filled first? That is the part I don't understand.
NinjaTrader_Bertrand
11-12-2010, 04:48 AM
You would need to debug the strategy sequence of events to exactly understand what is happening - you use StopLimit orders for exit correct? Those could leave you unfilled and thus expiring on next bar.
RDPoS
11-12-2010, 05:26 AM
Ok let's think about this. I am using 10-range bars.
The bar started at 1.3699.
The stop limit was placed at 1.3691
The price dropped to 1.3691 so for the bar to complete and thus cancel the order, it must continue dropping to 1.3689 or rise above 1.3701.
If it did rise back up to 1.3701 I could see never being filled on the limit and the order being placed in the book or the broker would hold it, but it cannot be canceled until the next bar begins.
Because it did not rise, but kept falling down to 1.3689, In real life the stop would be triggered and the order would be filled by any responsible broker. But this is just sim without slippage and NT did not fill the order, but canceled the order instead.
Couldn't that be an NT bug?
IF the range had broken out higher, I could buy the explanation, but because it continued lower, it makes zero sense to have the order canceled.
Why would NT cancel an order on SIM or not fill an order on SIM within an active bar?
My floor people say there is no way in real life that would have been canceled, so why is NT canceling the order?
NinjaTrader_Bertrand
11-12-2010, 05:31 AM
RDPoS, I'm not sure which bug you're referring to here
- the order expired because you did not resubmit it - this is expected
- thus you would need to ensure the strategy resubmits your order if needed to achieve the desired fill.
You would unfortunately not know exactly without debugging your strategy.
RDPoS
11-12-2010, 05:34 AM
I guess what I am saying is, that it can't expire or be canceled until a new bar is created from what you have told me. So how is it being canceled or not filled on the SIM before the new bar? That is what doesn't make sense.
RDPoS
11-12-2010, 05:37 AM
Even if I used liveUntilCanceled = true as you suggested, I fail to see how that will resolve the problem because the price will still have moved in the next bar and thus a cancel order issued to replace the existing GTC order, that was missed. Sorry if I am not understanding this.
It can't be a rounding error because the order is executed when I reload at one tick above the lower bound of the range bar. I have never experienced a problem on a live trade with this strategy which is why I am confused by the behavior on NT SIM.
On a live trade, I can maybe see what you are saying, but in SIM????
How can I debug the order sequence?
Thanks,
NinjaTrader_Bertrand
11-12-2010, 06:45 AM
You would need to print debug info for all bars in sequence in your OnBarUpdate(), include CurrentBar, Timestamp and stopValue - I think you will find that the stop value you used on the bar that breached the stop was already flipped above the range bars, thus the submitted stop value from the previous bar did for sure not fill and thus the stop expired on next bar as you did not resubmit, that's how it would look to me from the screen shots you provided.
RDPoS
11-16-2010, 03:02 AM
This time it missed an entry. Again, When a stop is hit, the strat/indicator does not flip up for one bar, so there is inherent lag in the NT system. Contrast that with a platform like ProTrader which immediately flips the indicator when the stop line is crossed.
http://i844.photobucket.com/albums/ab7/RDPoS/11-16-20102-43-47AMMissedEntry.png
11/16/2010 12:38:08 AM Entered internal PlaceOrder() method at 11/16/2010 12:38:08 AM: Action=SellShort OrderType=StopLimit Quantity=1 LimitPrice=1.3599 StopPrice=1.3599 SignalName='' FromEntrySignal=''
11/16/2010 12:38:08 AM Ignored PlaceOrder() method: Action=SellShort OrderType=StopLimit Quantity=1 LimitPrice=1.3599 StopPrice=1.3599 SignalName=Sell short' FromEntrySignal='' Reason='There already is a matching order with same prices and quantity'
11/16/2010 12:39:01 AM Entered internal PlaceOrder() method at 11/16/2010 12:39:01 AM: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3648 StopPrice=1.3648 SignalName='' FromEntrySignal=''
11/16/2010 12:39:01 AM Ignored PlaceOrder() method: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3648 StopPrice=1.3648 SignalName='' FromEntrySignal='' Reason='This was an exit order but no position exists to exit'
11/16/2010 12:39:01 AM Cancelled expired order: BarsInProgress=0: Order='a15026b6853a4c2ea6e36f5f283b2221/Sim101' Name='Sell short' State=Working Instrument='M6E 12-10' Action=SellShort Limit price=1.3599 Stop price=1.3599 Quantity=1 Strategy='FX4Chandy54Short' Type=StopLimit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a15026b6853a4c2ea6e36f5f283b2221' Gtd='12/1/2099 12:00:00 AM'
11/16/2010 12:43:40 AM Entered internal PlaceOrder() method at 11/16/2010 12:43:40 AM: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3639 StopPrice=1.3639 SignalName='' FromEntrySignal=''
11/16/2010 12:43:40 AM Ignored PlaceOrder() method: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3639 StopPrice=1.3639 SignalName='' FromEntrySignal='' Reason='This was an exit order but no position exists to exit'
11/16/2010 12:57:07 AM Entered internal PlaceOrder() method at 11/16/2010 12:57:07 AM: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3639 StopPrice=1.3639 SignalName='' FromEntrySignal=''
11/16/2010 12:57:07 AM Ignored PlaceOrder() method: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3639 StopPrice=1.3639 SignalName='' FromEntrySignal='' Reason='This was an exit order but no position exists to exit'
11/16/2010 12:59:35 AM Entered internal PlaceOrder() method at 11/16/2010 12:59:35 AM: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3630 StopPrice=1.3630 SignalName='' FromEntrySignal=''
Rather irritating, so I pulled up the tick by tick chart to see what is going on.
http://i844.photobucket.com/albums/ab7/RDPoS/11-16-20103-37-25AM1Tick-1.png
As you can see, there appears to be zero reason why NT did not fill the order at 1.3599. There were 5 ticks below the stop limit price before the bar ended.
It appears the error is not on the strategy, it is on NT6.5
I do note that for some strange reason the timestamps do not exactly seem to match up.
So why is it skipping orders?
NinjaTrader_Bertrand
11-16-2010, 05:04 AM
Jason, my previous recommendation to debug your strategy would still apply - both the indicator and strategy order placement would do whatever you programmed them to, thus you would need to inspect what you need to change in order to see the trade outcomes you expect - for this a NinjaScript consultant can be helpful if you look to get this modified professionally for you -
http://www.ninjatrader.com/webnew/partners_onlinetrading_NinjaScript.htm
The indicator would 'flip over' at the next OnBarUpdate(), if you're running on CalculateOnBarClose = true = this would equal the next bar, correct.
Your order does not fill as it would expire on the bar before the level breach - please try working with liveUntilCancelled as this would mean it does not need to be resubmitted to continue working past the bar it was issued on.
RDPoS
11-17-2010, 12:07 PM
The indicator would 'flip over' at the next OnBarUpdate(), if you're running on CalculateOnBarClose = true = this would equal the next bar, correct.
Your order does not fill as it would expire on the bar before the level breach
I really appreciate your assistance but unless I am misunderstanding, if it was linked to what you are saying happens then the strategy would NEVER work, but alas 80% of the time it works under SIM. Same price situations for when it works as when it doesn't work.
Let me try to re-summarize what we know.
It has not occurred under live trading on a range chart for M6E.
It has not occurred under SIM trading on a minute chart.
It has not occurred under SIM trading on a range chart for E7, or 7E.
Furthermore:
The stop is showing up at the right price
The indicator is indicating the right price
The price action clearly shows the stop was penetrated and many more ticks existed in that bar before it closed!
It has only occurred under SIM trading on a range chart for M6E.
Thus is it not reasonable to conclude that the problem could possibly be in how NT handles orders on range charts for wide spread assets?
M6E is frequently 3-4 pips wide between bid and ask. I have brought this up in another thread to no avail.
It still doesn't make sense that it works 80% of the time under SIM and 100% of the time live.
Doesn't that lead one to believe that the problem is implicit to how NT handles orders on range charts?
RDPoS
11-17-2010, 12:24 PM
You would need to print debug info for all bars in sequence in your OnBarUpdate(), include CurrentBar, Timestamp and stopValue
Are there examples of these in use anywhere? The search function didn't help as much as I would like it to.
NinjaTrader_Josh
11-17-2010, 12:45 PM
You can print these by calling them in your print function.
Print(CurrentBar + " " + Time[0] + " " + stopValue);
RDPoS
11-17-2010, 02:55 PM
Thank you sir. I will incorporate this into the testing.
RDPoS
11-19-2010, 10:12 AM
in which block would one place "liveUntilCanceled = true"?
NinjaTrader_Bertrand
11-19-2010, 10:16 AM
You would change the overload used for order submission to be able to set it -
EnterLongLimit(int barsInProgressIndex, bool liveUntilCancelled, int quantity, double limitPrice, string signalName)
RDPoS
11-19-2010, 10:38 AM
How would that differ for a stoplimit order?
The normal enterstoplimit follows the routine
EnterShortStopLimit(DefaultQuantity, stopValue, limitValue, "");
NinjaTrader_Bertrand
11-19-2010, 10:54 AM
Please use then EnterLongStopLimit(0, true, DefaultQuantity, limitValue, stopValue, "") -
http://www.ninjatrader-support.com/HelpGuideV6/EnterLongStopLimt.html
RDPoS
11-19-2010, 01:02 PM
Ok, it seems there is no overload for an exit though. That is fine, I will deal with that in due time.
It seems as though this did not solve the problem.
Exhibit A: This cart shows the stop limit at 1.3659 not being triggered when the previous bar closes at 1.3660 and the next bar opens at 1.3659 (actually a tick was skipped and it opened at 1.3658).
http://i844.photobucket.com/albums/ab7/RDPoS/11-19-20101-23-48PM7thErrorMissedEntry.png
11/19/2010 9:59:29 AM Entered internal PlaceOrder() method at 11/19/2010 9:59:29 AM: BarsInProgress=0 Action=SellShort OrderType=StopLimit Quantity=1 LimitPrice=1.3659 StopPrice=1.3659 SignalName='' FromEntrySignal=''
11/19/2010 9:59:29 AM Ignore order amendment: Action=SellShort OrderType=StopLimit Quantity=1 LimitPrice=1.3659 StopPrice=1.3659 SignalName=Sell short' FromEntrySignal='' Reason='Order already has this stop price/limit price/quantity'
EffectiveStopValue (roundDown) = 1.3659
1227 11/19/2010 10:00:00 AM , orginal Chandy value = 1.36596940544097
ChandyRounded = 1.3659, ChandyRemainder + 6.94054409691169E-05
11/19/2010 10:00:00 AM Entered internal PlaceOrder() method at 11/19/2010 10:00:00 AM: BarsInProgress=0 Action=SellShort OrderType=StopLimit Quantity=1 LimitPrice=1.3659 StopPrice=1.3659 SignalName='' FromEntrySignal=''
11/19/2010 10:00:00 AM Ignore order amendment: Action=SellShort OrderType=StopLimit Quantity=1 LimitPrice=1.3659 StopPrice=1.3659 SignalName=Sell short' FromEntrySignal='' Reason='Order already has this stop price/limit price/quantity'
EffectiveStopValue (roundDown) = 1.3659
BAR CLOSES AND NOT TRIGGERED AS EXPECTED BECAUSE ORDER IS CANCELLED IN 1228
1228 11/19/2010 10:00:28 AM , orginal Chandy value = 1.36763690756722
ChandyRounded = 1.3676, ChandyRemainder + 3.69075672159713E-05
11/19/2010 10:00:28 AM Entered internal PlaceOrder() method at 11/19/2010 10:00:28 AM: BarsInProgress=0 Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3677 StopPrice=1.3677 SignalName='' FromEntrySignal=''
11/19/2010 10:00:28 AM Ignored PlaceOrder() method: Action=BuyToCover OrderType=StopLimit Quantity=0 LimitPrice=1.3677 StopPrice=1.3677 SignalName='' FromEntrySignal='' Reason='This was an exit order but no position exists to exit'
EffectiveStopValue )roundUp = 1.36768690756722
11/19/2010 10:00:28 AM Cancelled expired order: BarsInProgress=0: Order='NT-00068/Sim101' Name='Sell short' State=Working Instrument='M6E 12-10' Action=SellShort Limit price=1.3659 Stop price=1.3659 Quantity=1 Strategy='FXShort30Stop' Type=StopLimit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='411b0ee9a070452281d2ca156947764d' Gtd='12/1/2099 12:00:00 AM'
1229 11/19/2010 10:00:46 AM , orginal Chandy value = 1.36725793837814
ChandyRounded = 1.3672, ChandyRemainder + 5.79383781438292E-05
This tick by tick chart confirms this
http://i844.photobucket.com/albums/ab7/RDPoS/11-19-20101-31-37PM9thErrorMissedEntryTickbyTick-1.png
Bertrand has explained this as the order being cancelled when the bar closes and I 100% agree with him in this case as the output screen shows the bar closing before the stop at 1.3659 being triggered due to being rounded down.
The suggested fix was the adding of "liveUntilCanceled = true" so that the order is carried over to the next bar unless explicitly cancelled
Thus the coding change was made resulting in the following chart:
http://i844.photobucket.com/albums/ab7/RDPoS/11-19-20101-21-30PM8thErrorLateEntry.png
The problem still exists!
The stop limit again fails to trigger. In fact if the market did not recover, THE ORDER STILL WOULD HAVE NEVER BEEN FILLED!
Again refer to the tick by tick movement chart
http://i844.photobucket.com/albums/ab7/RDPoS/11-19-20101-31-37PM9thErrorMissedEntryTickbyTick.png
Thus can we conclude that the error occurs in the NT SIM itself?
The order was obviously still active at 1.3659, yet because there was no tick hitting that point (it split the between the bar) NT just decided not to trigger the order.
I think I have exhausted the possibilities of it being the indicator/strategy via the output windows. The error lies in ninja's treatment of range bars I am guessing.
Or did I miss something?
NinjaTrader_Austin
11-20-2010, 12:59 PM
RDPoS, I will have Bertrand respond to you on Monday.
RDPoS
11-21-2010, 04:41 PM
Please use then EnterLongStopLimit(0, true, DefaultQuantity, limitValue, stopValue, "") -
http://www.ninjatrader-support.com/HelpGuideV6/EnterLongStopLimt.html
I see there is no analog for using a stop limit to exit a trade. It looks like if a new bar is triggered and skips the tick your stop loss was at by a single tick NT will cancel your stop loss without ZERO protection when the new bar begins. there is nothing that can be done to exit the trade, thus a stop loss would be rendered absolutely useless if the situation in post #30 happened instead at the stop loss exit correct?
That seems like a SHOW STOPPER.
NinjaTrader_Bertrand
11-22-2010, 07:01 AM
I guess I'm not following you - to clarify : the expiration of non live until cancelled orders in NT is expected, default behavior - for your exits there's for sure an overload available, too that would offer this property - http://www.ninjatrader-support.com/HelpGuideV6/ExitStopLimit.html
RDPoS
11-22-2010, 08:47 AM
Thank you for the link on the overload exit.
But what about the behavior in post #30 that makes still makes the overload useless? The overload was in use for the data of post #30 yet the price movement still skipped over the exit that wasn't canceled. It wasn't until the price recovered back to hit the stop moving up that it actually triggered.
THAT is the SHOWSTOPPER and a fault in NT SIM orderhandling that I was referring to.
NinjaTrader_Bertrand
11-22-2010, 11:05 AM
I would suggest you switch your stops to use StopMarket orders then and not StopLimit, for those you would also have an overload available offering liveUntilCancelled.
NinjaTrader_Bertrand
11-22-2010, 11:43 AM
A simulator will unfortunately not mirror the exact real time trading dynamics, if you would like to force a limit fill you could work with 'enforcing fills' for the simualtor engine (Tools > Options > Simulator).
To clarify : are you saying you get the fill for the StopLimit order if you place the exact same order at the same time manually?
RDPoS
12-08-2010, 02:50 PM
I would suggest you switch your stops to use StopMarket orders then and not StopLimit, for those you would also have an overload available offering liveUntilCancelled.
I thought there were no overloads for StopMarket orders? I tried adding them and kept getting compiler errors.
NinjaTrader_Bertrand
12-09-2010, 03:18 AM
Please see the advanced overload offering liveUntilCancelled on this page - http://www.ninjatrader.com/support/helpGuides/nt7/exitlongstop.htm