Спасибо.
Только есть пожелание: заменить
tSeek = StrToTime(StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".10.31"); // установим последний день октября
на
tSeek = StrToTime(StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".10.31 02:00"); // установим последний день октября
и
tSeek = StrToTime( StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".03.31"); // установим последний день марта
на
tSeek = StrToTime( StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".03.31 03:00"); // установим последний день марта
поскольку часы переводятся не в полночь, а 2 и 3 часа соответственно (Wikipedia: переход на летнее время).
Ну и "string sTIM;" можно убрать.
Функцию надо переименовать SummerTime (см. выходной параметр).
bool is_summer_time(datetime dt) { if (TimeMonth(dt) >= 11 || TimeMonth(dt) <= 2) return(false); if (TimeMonth(dt) >= 4 && TimeMonth(dt) <= 9) return(true); datetime tSeek; if (TimeMonth(dt) == 10) // октябрь { if (TimeDay(dt) < 25) // ночью в последнее воскресенье октября - переход на зимнее время return (true); tSeek = StrToTime(StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".10.31 02:00"); // установим последний день октября // ищем первое воскресенье с конца while (TimeDayOfWeek(tSeek) != 0) tSeek = tSeek - 86400; return (dt < tSeek); } if (TimeMonth(dt) == 3) // март { if (TimeDay(dt) < 25) // ночью в последее воскресенье МАРТА - переход на ЛЕТНЕЕ время return (true); // уже лето tSeek = StrToTime(StringTrimRight(StringTrimLeft(DoubleToStr(TimeYear(dt),0)))+".03.31 03:00"); // установим последний день марта // ищем первое воскресенье с конца while (TimeDayOfWeek(tSeek) != 0) tSeek = tSeek - 86400; return (dt >= tSeek); } }
Допустил опечатку:
if (TimeDay(dt) < 25) // ночью в последее воскресенье МАРТА - переход на ЛЕТНЕЕ время return (true); // уже лето
исправить на
if (TimeDay(dt) < 25) // ночью в последее воскресенье МАРТА - переход на ЛЕТНЕЕ время return (false);

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
ZZ_TimeWinter 1-1000.mq4:
Author: Yuriy Zaytsev