Using SymbolInfoSessionTrade to avoid trading 6 hours before Market Close and 6 hours After Market Open

 

Hello,


I am trying to avoid 6 hours before market close and 6 hours after market close in my EA. i am using SymbolInfoSessionTrade to get opening and closed time of assets.

What mistake i am making?

extern int MinuteToAvoid = 360;
void MarketHoursMonitor()
{
   datetime serverTime = TimeCurrent();
   int dayOfWeek = TimeDayOfWeek(serverTime);
   datetime todayMidnight = StringToTime(TimeToString(serverTime, TIME_DATE) + " 00:00");

   datetime sessionOpenOffset, sessionCloseOffset;
   if (SymbolInfoSessionTrade(Symbol(), (ENUM_DAY_OF_WEEK)dayOfWeek, 0, sessionOpenOffset, sessionCloseOffset))
   {
      datetime realSessionOpen  = todayMidnight + sessionOpenOffset;
      datetime realSessionClose = todayMidnight + sessionCloseOffset;

      //--------- Friday: Close all trades 6 hour before market close ---------//
      if (dayOfWeek == 5)
      {
         datetime closeAllTime = realSessionClose - (MinuteToAvoid * 60); // 6 hour before session close
         
         if (serverTime >= closeAllTime)
         {
            // Close trades
         }
      }

      //--------- Monday: Open after 6 hour of market opening ---------//
      if (dayOfWeek == 1)
      {
         datetime oneHourAfterOpen = realSessionOpen + (MinuteToAvoid * 60); // 6 hour after session open

         if (serverTime >= oneHourAfterOpen)
         {
            // Open new trade or allow trading
         }
      }
   }
}