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, 05-11-2026, 05:56 AM
    0 responses
    52 views
    0 likes
    Last Post CarlTrading  
    Started by CarlTrading, 05-10-2026, 08:12 PM
    0 responses
    29 views
    0 likes
    Last Post CarlTrading  
    Started by Hwop38, 05-04-2026, 07:02 PM
    0 responses
    194 views
    0 likes
    Last Post Hwop38
    by Hwop38
     
    Started by CaptainJack, 04-24-2026, 11:07 PM
    0 responses
    355 views
    0 likes
    Last Post CaptainJack  
    Started by Mindset, 04-21-2026, 06:46 AM
    0 responses
    274 views
    0 likes
    Last Post Mindset
    by Mindset
     
    Working...
    X