Сначала ознакомьтесь, пожалуйста, с описанием функций:
https://docs.mql4.com/ru/dateandtime/timecurrent
https://docs.mql4.com/ru/dateandtime/timelocal
А потом поясните, какая разница во времени Вам нужна. Попробуем найти для Вас решение :-)
https://docs.mql4.com/ru/dateandtime/timecurrent
https://docs.mql4.com/ru/dateandtime/timelocal
А потом поясните, какая разница во времени Вам нужна. Попробуем найти для Вас решение :-)
Сначала ознакомьтесь, пожалуйста, с описанием функций:
https://docs.mql4.com/ru/dateandtime/timecurrent
https://docs.mql4.com/ru/dateandtime/timelocal
А потом поясните, какая разница во времени Вам нужна. Попробуем найти для Вас решение :-)
https://docs.mql4.com/ru/dateandtime/timecurrent
https://docs.mql4.com/ru/dateandtime/timelocal
А потом поясните, какая разница во времени Вам нужна. Попробуем найти для Вас решение :-)
ОК, посматрел и всеравно не смог найти решение проблемы, :-(
У брокера устанавливается свое смещение во времени на сервере, которое отражается в TimeCurrent().
Например, когда в Москве 21:00, то у
http://www.teletrade.ru TimeCurrent() = 19:00
http://www.tradexfx.com TimeCurrent() = 13:00
так как я хочу использовать несколько брокеров с разными TimeCurrent()
я решил получение котировок и расчеты торговой тактики осуществлять в локальном времени т.е. во времени TimeLocal(), которое отражает мое локальное время (в примере 21:00 по Москве), и только потом используя эту разницу переходить на время брокера по формуле TimeLocal()-TimeCurrent().
Для http://www.teletrade.ru TimeDifference="21:00"-"19:00" = 7200 (2 часа)
Для http://www.tradexfx.com TimeDifference="21:00"-"13:00" = 28800 (7 часов)
Теперь, когда у меня в Москве 21:00 я знаю, какое время у брокера, я нахожу это по формуле:
BrokerTime = MoskowTime - TimeDifference
Теперь я корректно могу запрашивать котировки за нужный час, вести расчет и передавать сигналы.
Вот только проблема. В выходные эта формула расчета TimeDifference не работает, так как TimeCurrent() заморожен на последнем извесном времени сервера (времени закрытии сессии), а вот TimeLocal() продолжает тикать как не в чем не бывало. И данная формула теряет какой либо смысл, константа TimeDifference становится переменной величиной.
В связи с этим я вот и подумал, что не плохо иметь в MQL встроенную функцию TimeDifference(), которая бы решала подобные проблемы. Можно например возвращать разницу "GMT 0" и времени сервера в секундах или часах. А из этого уже можно будет найти любое локальное время.
константа TimeDifference становится переменной величиной.
Сделайте эту константу, привязанной к имени ДЦ:
ДЦ1: TimeDifference = 2
ДЦ2: TimeDifference = 3
и т.д.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
TimeCurrent() в выходные не обновляется с сервера и всегда равен времени закрытия торгов.
А TimeLocal() обновляется, так что получается в выходные TimeDifference переменная величина и не соответствует реальной разнице во времени.
Уважаемые разработчики, можно ли добавить функцию в MQL - int TimeDifference(), которая бы всегда возвращала правильную разницу во времени?
Можно ли сейчас каким то путем находить всегда правильную разницу во времени?
Александр.