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 gustavobp, Today, 03:15 AM
    0 responses
    5 views
    0 likes
    Last Post gustavobp  
    Started by gustavobp, Today, 03:00 AM
    0 responses
    5 views
    0 likes
    Last Post gustavobp  
    Started by nicbizz, Today, 02:14 AM
    0 responses
    5 views
    0 likes
    Last Post nicbizz
    by nicbizz
     
    Started by Ringer13, Today, 01:59 AM
    0 responses
    7 views
    0 likes
    Last Post Ringer13  
    Started by NINZAMANA, 02-06-2025, 09:03 AM
    2 responses
    25 views
    0 likes
    Last Post Fertryd2  
    Working...
    X