Was the ea running all over the time? Or did you switch it on manually?
look at line 1080 in the code:
//Read Asian session hi-low at the start of the London session
if (TimeHour(TimeLocal() ) == Europe_Start_Hour)
So, if your EA is not running during your local hour you set in "Europe_Start_Hour", then the ea will not update the globalvariables ...
Another approach -
I think that could rewritten using ibarshift and so on, see also for examples:
http://forum.mql4.com/52745#726722
http://forum.mql4.com/52750
or like that, just as an example:
Code: Select all
int Europe_Start_Hour = 12345;
int Europe_End_Hour = 12345;
int Asia_End_Hour = 4;
if (TimeHour(TimeLocal() ) >= Europe_Start_Hour && TimeHour(TimeLocal() ) <= Europe_End_Hour) { // inside european session
int CloseBarShift = iBarShift(Symbol(),60,StrToTime(DoubleToStr(Asia_End_Hour,0)+":00"),False);
int highest_bar = iHighest(Symbol(),PERIOD_H1,MODE_HIGH,9,CloseBarShift);
double h = iHigh(Symbol(),PERIOD_H1,highest_bar);
int lowest_bar = iLowest(Symbol(),PERIOD_H1,MODE_LOW,9,CloseBarShift);
double l = iLow(Symbol(),PERIOD_H1,lowest_bar);
}