Libraries: Check for Market Open Hours

 

Check for Market Open Hours:

This Include File checks for Market Open Hours. An EA to test it is also included.

Check for Market Open Hours

Author: Wolfgang Melz

 
It is a good Source code...
 

A bit more cleaner version but does the same work returns true or false for T_Frame

MqlDateTime ServerTime;
datetime ServerDateTime = TimeTradeServer();
datetime R1S=0,R1E=0,R2S=0,R2E=0,R3S=0,R3E=0,R4S=0,R4E=0;
TimeToStruct(ServerDateTime,ServerTime);
ENUM_DAY_OF_WEEK today = (ENUM_DAY_OF_WEEK)ServerTime.day_of_week;
string CServerTime = TimeToString(TimeTradeServer(),TIME_MINUTES);
SymbolInfoSessionTrade(_Symbol,today,0,R1S,R1E);
SymbolInfoSessionTrade(_Symbol,today,1,R2S,R2E);
SymbolInfoSessionTrade(_Symbol,today,2,R3S,R3E);
SymbolInfoSessionTrade(_Symbol,today,3,R4S,R4E);
string S1 = TimeToString(R1S,TIME_MINUTES);
string E1 = TimeToString(R1E,TIME_MINUTES);
string S2 = TimeToString(R2S,TIME_MINUTES);
string E2 = TimeToString(R2E,TIME_MINUTES);
string S3 = TimeToString(R3S,TIME_MINUTES);
string E3 = TimeToString(R3E,TIME_MINUTES);
string S4 = TimeToString(R4S,TIME_MINUTES);
string E4 = TimeToString(R4E,TIME_MINUTES);
bool T_Frame = (CServerTime>=S1&&CServerTime<=E1)||(CServerTime>=S2&&CServerTime<=E2)||(CServerTime>=S3&&CServerTime<=E3)||(CServerTime>=S4&&CServerTime<=E4);