Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Bar count to exit position is not working as expected

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

    Bar count to exit position is not working as expected

    Hello,

    I am using a bar counter to exit a trade when long or short.

    The strategy works fine during back- testing but when running real time exits the trade a few bars too early.

    Please find below a part of my code

    ---------------------
    protected override void OnStateChange()
    {
    if (State == State.SetDefaults)
    {
    BarsExitLong = 35;
    BarsExitShort = 15;
    }
    }

    protected override void OnBarUpdate()
    {
    if (IsShort)
    {
    barsShort ++;

    if ( (barsShort >= BarsExitShort) && (Close[0] < (Position.AveragePrice - _atr[0]) ) )
    {
    base.ExitShort("STarget" + barsShort, "S1");
    }
    }

    if (IsFlat && (_smaS[2]<=_smaS[1]) && (_smaS[1] > _smaS[0]) )
    {
    int lots;

    barsShort = 0;

    double Ptarget = Close[0] - ProfitMultiplier;


    if (TradingFutures)
    {
    lots = (int) (InitialCapital / 50000);

    shortEntryOrder1 = EnterShort( lots , "S1");

    stopPrice = High[0] + ATRMultiplier;

    base.SetStopLoss("S1", CalculationMode.Price, stopPrice, false );
    }
    }
    }
    -----------------------------


    I suspect that the reason for this is the fact that I am running the strategy in real time on eurex regular trading hours while the program is computing the bars in extended trading hours.


    In this particular instance in the attached photo the trade was exited after 11 bars while the programming was for 15 bars.


    Please advise and why this is happening and how to rectify.

    Kind regards

    Ioannis

    #2
    Hello, I posted this question some time ago.

    Can someone from support take a look please?

    Comment


      #3
      Hello im197,

      I would likely suggest to try using BarsSinceEntryExecution here rather than counting bars. Using this method would allow you to use the signal names you use to target an entry and find out how many bars it has been since that entry. This cuts out the counting logic you have which may help. Can you try this in the test you are using to see if that helps resolve the issue?

      Code:
      BarsSinceEntryExecution() > 10


      I look forward to being of further assistance.

      Comment

      Latest Posts

      Collapse

      Topics Statistics Last Post
      Started by Mindset, 04-21-2026, 06:46 AM
      0 responses
      88 views
      0 likes
      Last Post Mindset
      by Mindset
       
      Started by M4ndoo, 04-20-2026, 05:21 PM
      0 responses
      135 views
      0 likes
      Last Post M4ndoo
      by M4ndoo
       
      Started by M4ndoo, 04-19-2026, 05:54 PM
      0 responses
      68 views
      0 likes
      Last Post M4ndoo
      by M4ndoo
       
      Started by cmoran13, 04-16-2026, 01:02 PM
      0 responses
      119 views
      0 likes
      Last Post cmoran13  
      Started by PaulMohn, 04-10-2026, 11:11 AM
      0 responses
      69 views
      0 likes
      Last Post PaulMohn  
      Working...
      X