MQL5 : Get current trading session
datetime now = TimeCurrent(); // Get current broker time
MqlDateTime tm;
TimeToStruct(now, tm); // Convert datetime to structure
int currentHourBroker = tm.hour; // Extract hour
datetime utcNow = TimeGMT();
int brokerOffset = (int)((now - utcNow) / 3600);
string currentSession = "";
if(currentHourBroker >= (8 + brokerOffset) && currentHourBroker < (13 + brokerOffset))
currentSession = "London";
else
if(currentHourBroker >= (13 + brokerOffset) && currentHourBroker < (22 + brokerOffset))
currentSession = "New York";
else
if((currentHourBroker >= (22 + brokerOffset) && currentHourBroker <= 23) ||
(currentHourBroker >= 0 && currentHourBroker < (9 + brokerOffset)))
currentSession = "Asian";
// ✅ Check if session has changed
if(currentSession != previousSession)
{
Print(" Session changed to: "+currentSession+" Change Time : "+iTime(Symbol(),PERIOD_CURRENT,0));
BUY = false;
SHORT = false;
}
// ✅ Update previous session
previousSession = currentSession;
Comment("currentSession: "+currentSession);
Comments
Post a Comment