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