Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Stop Loss Expiring

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Stop Loss Expiring

    I'm having an issue where the stop loss is getting cancelled and leaving the position exposed. This is happening for ES 12-15 at ~20150921 21:17. A short position is opened with a stop loss. The stop loss is then modified down. NinjaTrader then inexplicable cancels the stop loss for what looks like expiration reasons but the short order still remains.

    The entry order is a stop limit and the market moved very fast at this time. It looks like there is some kind of timing issue with the stop loss and the order. The order was placed on bar 1 (21:17:50), and doesn't look like it got filled until bar 4 (21:17:52 - that's where NT put the text for the entry). Bar 3 (21:17:50 as well) had gotten outside of the stop - limit range but bar 4 ended up back inside.

    It looks like there is some logic to cancel if not filled on the same bar that is broken. The entry is submitted as Live Until Cancelled and I'm handling cancelation of entries myself but it seems NT is still trying to cancel the stop loss.

    The log for the period (debugging in VS) is below (separated into two because it's too long for one post):

    Code:
    2015-09-29 11:57:07:009 (Playback Connection) Cbi.Account.Submit0: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Initialized instrument='ES 12-15' orderAction=SellShort orderType='Limit' limitPrice=1958 stopPrice=0 quantity=1 tif=Gtc oco='' filled=0 averageFillPrice=0 id=189 gtd='2099-12-01' currentOrderState=Initialized
    2015-09-29 11:57:07:010 (Playback Connection) Cbi.Account.Submit1: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Submitted instrument='ES 12-15' orderAction=SellShort orderType='Limit' limitPrice=1958 stopPrice=0 quantity=1 tif=Gtc oco='' filled=0 averageFillPrice=0 id=189 gtd='2099-12-01' currentOrderState=Initialized
    2015-09-29 11:57:07:010 (Playback Connection) Cbi.Simulator.Submit: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Submitted instrument='ES 12-15' orderAction=SellShort orderType='Limit' limitPrice=1958 stopPrice=0 quantity=1 tif=Gtc oco='' filled=0 averageFillPrice=0 id=189 gtd='2099-12-01'
    2015-09-29 11:57:07:010 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Submitted instrument='ES 12-15' orderAction=SellShort limitPrice=1958 stopPrice=0 quantity=1 orderType='Limit' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:035 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Accepted instrument='ES 12-15' orderAction=SellShort limitPrice=1958 stopPrice=0 quantity=1 orderType='Limit' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:057 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Working instrument='ES 12-15' orderAction=SellShort limitPrice=1958 stopPrice=0 quantity=1 orderType='Limit' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:075 (Playback Connection) Cbi.Simulator.Fill1: thread='30' orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' maxFillQuantity='0' price='1959'
    2015-09-29 11:57:07:075 (Playback Connection) Cbi.Simulator.Fill2: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' fillQuantity='1' price='1959'
    2015-09-29 11:57:07:075 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='fb4c5c05b36c41ecbf0f8113795d9cc9' account='Playback101' name='MacdSlopeShort' orderState=Filled instrument='ES 12-15' orderAction=SellShort limitPrice=1958 stopPrice=0 quantity=1 orderType='Limit' filled=1 averageFillPrice=1959 error=NoError comment='' 
    2015-09-29 11:57:07:094 (Playback Connection) Cbi.Account.ExecutionUpdateCallback: execution='691bd4943ba34749a5c28d1041814724' exchange=Default price=1959 quantity=1 marketPosition=Short operation=Add orderID='fb4c5c05b36c41ecbf0f8113795d9cc9' time='9/21/2015 9:17:51 PM'
    2015-09-29 11:57:07:097 (Playback Connection) Cbi.Account.Submit0: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Submitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.75 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' currentOrderState=Initialized
    2015-09-29 11:57:07:097 (Playback Connection) Cbi.Account.Submit1: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Submitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.75 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' currentOrderState=Initialized
    2015-09-29 11:57:07:097 (Playback Connection) Cbi.Simulator.Submit: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Submitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.75 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'
    2015-09-29 11:57:07:097 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Submitted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.75 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:123 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Accepted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.75 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment=''

    #2
    Code:
     2015-09-29 11:57:07:142 (Playback Connection) Cbi.Account.PositionUpdateCallback: instrument='ES 12-15' account='Playback101' avgPrice=1959 quantity=1 marketPosition=Short operation=Add
    2015-09-29 11:57:07:148 (Playback Connection) Cbi.Account.Change0: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangePending instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.75 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' limitPriceChanged=0 quantityChanged=1 stopPriceChanged=1961.5 currentOrderState=Accepted
    2015-09-29 11:57:07:148 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangePending instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.75 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:184 (Playback Connection) Cbi.Account.Change1: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangeSubmitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' limitPriceChanged=0 quantityChanged=1 stopPriceChanged=1961.5 currentOrderState=ChangePending
    2015-09-29 11:57:07:184 (Playback Connection) Cbi.Simulator.Change: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangeSubmitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' limitPriceChanged='0' quantityChanged='1' stopPriceChanged='1961.5'
    2015-09-29 11:57:07:184 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangeSubmitted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:203 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Accepted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:227 [COLOR=blue]NinjaScript.StrategyBase.CancelExpiredOrders[/COLOR]: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Accepted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'
    2015-09-29 11:57:07:227 (Playback Connection) Cbi.Account.Cancel0: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelPending instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' currentOrderState=Accepted
    2015-09-29 11:57:07:227 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelPending instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:244 (Playback Connection) Cbi.Account.Cancel1: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelPending instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' currentOrderState=CancelPending
    2015-09-29 11:57:07:244 (Playback Connection) Cbi.Simulator.Cancel: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelSubmitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'
    2015-09-29 11:57:07:244 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelSubmitted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:262 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Cancelled instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
    2015-09-29 11:57:07:264 NinjaScript.StrategyBase.Process.ExpiredOrder: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Cancelled instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'

    Comment


      #3
      Hi wbennettjr,

      Can you provide a very simple example script showing that this order is being exited and the isLiveUntilCancelled is set to true. Please do not include any cancellations in this script or any exits.
      Chelsea B.NinjaTrader Customer Service

      Comment


        #4
        Do you make sure you OCO is unique? From this small sample, the OCO code is the same and it appears there may be multiple SL/PT sets? If you use an old OCO, the system could consider it "expired" since it canceled that same OCO code earlier.

        Originally posted by wbennettjr View Post
        Code:
         2015-09-29 11:57:07:142 (Playback Connection) Cbi.Account.PositionUpdateCallback: instrument='ES 12-15' account='Playback101' avgPrice=1959 quantity=1 marketPosition=Short operation=Add
        2015-09-29 11:57:07:148 (Playback Connection) Cbi.Account.Change0: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangePending instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.75 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' limitPriceChanged=0 quantityChanged=1 stopPriceChanged=1961.5 currentOrderState=Accepted
        2015-09-29 11:57:07:148 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangePending instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.75 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
        2015-09-29 11:57:07:184 (Playback Connection) Cbi.Account.Change1: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangeSubmitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' limitPriceChanged=0 quantityChanged=1 stopPriceChanged=1961.5 currentOrderState=ChangePending
        2015-09-29 11:57:07:184 (Playback Connection) Cbi.Simulator.Change: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangeSubmitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' limitPriceChanged='0' quantityChanged='1' stopPriceChanged='1961.5'
        2015-09-29 11:57:07:184 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=ChangeSubmitted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
        2015-09-29 11:57:07:203 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Accepted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
        2015-09-29 11:57:07:227 [COLOR=blue]NinjaScript.StrategyBase.CancelExpiredOrders[/COLOR]: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Accepted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'
        2015-09-29 11:57:07:227 (Playback Connection) Cbi.Account.Cancel0: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelPending instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' currentOrderState=Accepted
        2015-09-29 11:57:07:227 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelPending instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
        2015-09-29 11:57:07:244 (Playback Connection) Cbi.Account.Cancel1: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelPending instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01' currentOrderState=CancelPending
        2015-09-29 11:57:07:244 (Playback Connection) Cbi.Simulator.Cancel: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelSubmitted instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'
        2015-09-29 11:57:07:244 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=CancelSubmitted instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
        2015-09-29 11:57:07:262 (Playback Connection) Cbi.Account.OrderUpdateCallback: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Cancelled instrument='ES 12-15' orderAction=BuyToCover limitPrice=0 stopPrice=1961.5 quantity=1 orderType='Stop Market' filled=0 averageFillPrice=0 error=NoError comment='' 
        2015-09-29 11:57:07:264 NinjaScript.StrategyBase.Process.ExpiredOrder: orderId='a4d6037914424c5a8d6aa13442aead06' account='Playback101' name='Stop loss' orderState=Cancelled instrument='ES 12-15' orderAction=BuyToCover orderType='Stop Market' limitPrice=0 stopPrice=1961.5 quantity=1 tif=Gtc oco='691bd4943ba34749a5c28d1041814724' filled=0 averageFillPrice=0 id=190 gtd='2099-12-01'

        Comment


          #5
          Chelsea:

          Thanks for your response. I'll try to create a script for you. I'm really busy at the moment so it probably won't be until mid to late next week.

          Comment


            #6
            NJA:

            Thanks for your response. This was with Managed mode using SetStopLoss so NT is handling the OCO logic. There is no profit target, the position is being exited via stop loss by manually adjusting to trail - this example has just one entry and a stop loss that got adjusted. I did have other times where I received error messages about the OCO ID not being unique but can't consistently reproduce so I haven't created a thread for it yet.

            Comment

            Latest Posts

            Collapse

            Topics Statistics Last Post
            Started by gentlebenthebear, Today, 01:30 AM
            2 responses
            13 views
            0 likes
            Last Post gentlebenthebear  
            Started by Kaledus, Today, 01:29 PM
            2 responses
            8 views
            0 likes
            Last Post Kaledus
            by Kaledus
             
            Started by frankthearm, Yesterday, 09:08 AM
            13 responses
            46 views
            0 likes
            Last Post frankthearm  
            Started by PaulMohn, Today, 12:36 PM
            2 responses
            16 views
            0 likes
            Last Post PaulMohn  
            Started by Conceptzx, 10-11-2022, 06:38 AM
            2 responses
            56 views
            0 likes
            Last Post PhillT
            by PhillT
             
            Working...
            X