Наверное, лучше показать график и стат данные отчета лучшего прохода оптимизации БЕЗ использования этого смещения и те же данные, но С включенным режимом.
По теме библиотеки считалка/напоминалка.
// Таблица перехода на зимнее/летнее время Europe/USA. #define DAY (24 * 3600) #define WEEK 7 ENUM_DAY_OF_WEEK TimeDayOfWeek( const datetime time ) { return((ENUM_DAY_OF_WEEK)((time / DAY + THURSDAY) % WEEK)); } datetime FirstDayWeekMonth( const int Year, const int Month, const int Count = 1, const ENUM_DAY_OF_WEEK DayWeek = SUNDAY ) { const datetime time = (datetime)((string)Year + "-" + (string)Month + "-01"); return(time + ((WEEK + DayWeek - TimeDayOfWeek(time)) % WEEK) * DAY + (Count - 1) * WEEK * DAY); } datetime LastDayWeekMonth( const int Year, const int Month, const ENUM_DAY_OF_WEEK DayWeek = SUNDAY ) { const datetime time = (datetime)((string)(Year + (Month == 12)) + "-" + (string)((Month + 1) % 12) + "-01") - DAY; return(time - ((WEEK + TimeDayOfWeek(time) - DayWeek) % WEEK) * DAY); } string ToString( const datetime time1, const datetime time2 ) { return(TimeToString(time1, TIME_DATE) + "(+1) - " + TimeToString(time2, TIME_DATE)+ "(-1)"); } void OnStart() { for (int i = 2015; i < 2025; i++) Print((string)i + ", Europe: " + ToString(LastDayWeekMonth(i, 3), LastDayWeekMonth(i, 10)) + ", USA: " + ToString(FirstDayWeekMonth(i, 3, 2), FirstDayWeekMonth(i, 11))); }
2015, Europe: 2015.03.29(+1) - 2015.10.25(-1), USA: 2015.03.08(+1) - 2015.11.01(-1) 2016, Europe: 2016.03.27(+1) - 2016.10.30(-1), USA: 2016.03.13(+1) - 2016.11.06(-1) 2017, Europe: 2017.03.26(+1) - 2017.10.29(-1), USA: 2017.03.12(+1) - 2017.11.05(-1) 2018, Europe: 2018.03.25(+1) - 2018.10.28(-1), USA: 2018.03.11(+1) - 2018.11.04(-1) 2019, Europe: 2019.03.31(+1) - 2019.10.27(-1), USA: 2019.03.10(+1) - 2019.11.03(-1) 2020, Europe: 2020.03.29(+1) - 2020.10.25(-1), USA: 2020.03.08(+1) - 2020.11.01(-1) 2021, Europe: 2021.03.28(+1) - 2021.10.31(-1), USA: 2021.03.14(+1) - 2021.11.07(-1) 2022, Europe: 2022.03.27(+1) - 2022.10.30(-1), USA: 2022.03.13(+1) - 2022.11.06(-1) 2023, Europe: 2023.03.26(+1) - 2023.10.29(-1), USA: 2023.03.12(+1) - 2023.11.05(-1) 2024, Europe: 2024.03.31(+1) - 2024.10.27(-1), USA: 2024.03.10(+1) - 2024.11.03(-1)
Можно автоматически заполнить соответствующие статические массивы переходов во времени.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
TimeDaylightCorrections:
Функция смещения Ролловера на 1 час во время перехода на зимнее/летнее время.
Автор: Dmitiry Ananiev