Time filter not working

 

Hi there this time filter isn't working properly in the MT4 version, don't actually know why. StartHour is 18, StopHour is 8:

      if(LotSize>=minLot&&((StartHour<StopHour&&(Hour()>=StartHour&&Hour()<StopHour))
      ||(StartHour>StopHour&&(Hour()>=StartHour||Hour()<StopHour)))&&Spread<=MaxSpread){

Hope someone can help.

 
David Diez:

Hi there this time filter isn't working properly in the MT4 version, don't actually know why. StartHour is 18, StopHour is 8:

Hope someone can help.

Take an idea from this code...

extern bool   UseTimeFilter     = false;
extern int    TimeStartTrade    = 18;
extern int    TimeEndTrade      = 6;
bool TimeToTrade;
//------------------------------------------------------
//Check time to trade
void OnTick()
  {
   TimeToTrade=true;

   if(UseTimeFilter==true)
     {
      if((TimeStartTrade<TimeEndTrade) && ((TimeHour(TimeCurrent())<TimeStartTrade) || (TimeHour(TimeCurrent())>=TimeEndTrade)))
         TimeToTrade=false;
      else
         if((TimeStartTrade>TimeEndTrade) && ((TimeHour(TimeCurrent())<TimeStartTrade) && (TimeHour(TimeCurrent())>=TimeEndTrade)))
            TimeToTrade=false;
     }  

        if(TimeToTrade)
          {
          //Do that....
          }
   }
 
Nikolaos Pantzos:

Take an idea from this code...

Thank you NP.