This indicator is based on DRAW_FILLING buffers.
The input parameters are absent, the TimeTradeServer(), TimeGMT() functions are used.
The unaccuracy in the trade session times is possible, the values are from the first site I have found :))
It is possible to change its values in the block of constants, the GMT time is used.
// Time constants are specified across Greenwich
const int AsiaOpen=0;
const int AsiaClose=9;
const int AsiaOpenSummertime=1; // The Asian session shifts
const int AsiaCloseSummertime=10; // after the time changes
const int EuropaOpen=6;
const int EuropaClose=15;
const int AmericaOpen=13;
const int AmericaClose=22;
There is an opportunity to use the time changes to the summer time, at present time it's a primitive and realized with the function TimeDaylightSavings();
//+--------------------------------------------------------------------+
// Summertime determination is reserved for the future calculations
//+--------------------------------------------------------------------+
bool Summertime(datetime time)
{
if(TimeDaylightSavings()!=0)
return(true);
else
return(false);
}
So, after the time change to the summer time, all of the history changes it's time and vice versa.
The first version of the indicator has been published at MQL4