Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Exit after X bars

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

    Exit after X bars

    Hi,
    I would like to exit a strategy after X consecutive bars following the entry bar if none of the X bars have crossed above the entry bar High for a long position or crossed below the entry bar Low for a short position. Thanks, would appreciate any suggestions.

    #2
    Hello 2Look4me,

    Thanks for your post.

    You can use the BarsSinceEntry() method to check for X bars after entry: https://ninjatrader.com/support/help...sinceentry.htm

    When you place your order, you can save the High of the bar into a double variable (savedHigh for example)

    You can use the MAX() method to test for the maximum high in a look back period of x-1 (-1 to not include the entry bar). Reference: https://ninjatrader.com/support/help...aximum_max.htm

    This will allow you to write a condition:

    if (BarsSinceEntry() > x && MAX(High, x-1)[0] < savedHigh).

    For the other side, you would use MIN(Low, x-1)[0].
    Reference: https://ninjatrader.com/support/help...inimum_min.htm

    Comment


      #3
      Paul, thanks for the reply. I have the following:
      Code:
      private double  EntryHigh  =0;
      
      if (A && B)
        {
          EnterLong();
          EntryHigh = High(0);
        }
      if (BarsSinceEntry()==1 && High[1] !=EntryHigh)  //Verify entry bar high is the final high
        {
          EntryHigh = High[1];
        }
      else if(BarsSinceEntry()>X && MAX(High, X-1)[0] < EntryHigh)
        {
          ExitLong();
        }
      The strategy should exit if none of the X bars since entry crosses above the entry bar high. Else if any of the X bars crosses above the entry bar high, then there's no exit until the next exit parameter is encounter.

      There are instances where one of the X bars will temporarily cross above the entry bar high then closes below and an exit will still occur. Why the exit if the high was crossed? Am I missing something that is obvious?

      Comment


        #4
        Hello 2Look4me,

        Thanks for your reply.

        I would suggest you debug using print statements to see what the actual value of both EntryHigh and MAX(High, X-1)[0] are.

        Comment

        Latest Posts

        Collapse

        Topics Statistics Last Post
        Started by CarlTrading, 03-31-2026, 09:41 PM
        1 response
        134 views
        1 like
        Last Post NinjaTrader_ChelseaB  
        Started by CarlTrading, 04-01-2026, 02:41 AM
        0 responses
        75 views
        1 like
        Last Post CarlTrading  
        Started by CaptainJack, 03-31-2026, 11:44 PM
        0 responses
        119 views
        2 likes
        Last Post CaptainJack  
        Started by CarlTrading, 03-30-2026, 11:51 AM
        0 responses
        114 views
        1 like
        Last Post CarlTrading  
        Started by CarlTrading, 03-30-2026, 11:48 AM
        0 responses
        92 views
        0 likes
        Last Post CarlTrading  
        Working...
        X