Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

How to replicate the same functionality of Exit On Session Close?

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

    How to replicate the same functionality of Exit On Session Close?

    Hello,

    I'm trying to replicate the same functionality of Exit On Session Close with ExitOnSessionCloseSeconds=30

    But the following code exiting time is not matching the internal Exit On Session Close​ times.

    Code:
            if(BarsInProgress == 2) // Referring to the Additional Ticks DataSeries
            {
                #region ExitOnSession Close
    
                    sessionIterator.GetNextSession(Times[2][0], true);
    
                    // store the desired session information
                    DateTime tradingDay   = sessionIterator.ActualTradingDayExchange;
                    DateTime beginTime    = sessionIterator.ActualSessionBegin;
                    DateTime endTime      = sessionIterator.ActualSessionEnd;
    
                    if(BarsArray[2].IsFirstBarOfSession)
                    {
                        CheckEOS = true;
                    }
    
                    if(Times[2][0].AddSeconds(30).TimeOfDay >= endTime.TimeOfDay && CheckEOS)
                    {
    
                        if(
                                 Position.MarketPosition == MarketPosition.Long
                             && BUY_entryOrder!=null
                        )
                        {
                           ExitLong(2,Convert.ToInt32(DefaultQuantity), @"EOSBUY", @"BUY");
                        }
    
                        CheckEOS = false;
                    }
    
                #endregion                
            }​

    #2
    Solved by the following:

    - Removing TimeOfDay.
    - (CheckEOS = true) will be at OnExecution Section when the Long order is executed. and False when the market position is Flat.


    Code:
            if(BarsInProgress == 2) // Referring to the Additional Ticks DataSeries
            {
                #region ExitOnSession Close
    
                    sessionIterator.GetNextSession(Times[2][0], true);
    
                    // store the desired session information
                    DateTime tradingDay   = sessionIterator.ActualTradingDayExchange;
                    DateTime beginTime    = sessionIterator.ActualSessionBegin;
                    DateTime endTime      = sessionIterator.ActualSessionEnd;
    
                    if(Times[2][0].AddSeconds(30) >= endTime)
                    {
    
                        if(
                                 Position.MarketPosition == MarketPosition.Long
                             && BUY_entryOrder!=null
                             && CheckEOS
                        )
                        {
                           ExitLong(2,Convert.ToInt32(DefaultQuantity), @"EOSBUY", @"BUY");
                           CheckEOS = false;
                        }
                    }
    
                #endregion                
            }​

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by CarlTrading, 03-31-2026, 09:41 PM
    1 response
    47 views
    0 likes
    Last Post NinjaTrader_ChelseaB  
    Started by CarlTrading, 04-01-2026, 02:41 AM
    0 responses
    23 views
    0 likes
    Last Post CarlTrading  
    Started by CaptainJack, 03-31-2026, 11:44 PM
    0 responses
    33 views
    1 like
    Last Post CaptainJack  
    Started by CarlTrading, 03-30-2026, 11:51 AM
    0 responses
    51 views
    0 likes
    Last Post CarlTrading  
    Started by CarlTrading, 03-30-2026, 11:48 AM
    0 responses
    42 views
    0 likes
    Last Post CarlTrading  
    Working...
    X