здравствуйте
прошу поделиться кодом скрипта смещения часового пояса сервера брокера для МТ4 и МТ5
(например время сервера брокера минус несколько часов заданных в настройках скрипта (сдвиг в часах или минутах, не важно))
нужен исходник, одну из работ нашел в маркете в бесплатном доступе, но нет исходника, не предоставляется,
я пользуюсь только исходниками и предварительно смотрю что внутри кода, поэтому программные файлы типа ex мне не подходят
можно код выложить на форум или отправить через личное сообщение
заранее спасибо, если есть возможность поделиться кодом
localOffset=TimeGMT()-TimeLocal(); // GMT смещение локального времени
из https://www.mql5.com/ru/blogs/post/677209 , а там насколько помню, из обсуждений TimeGMT()
- 2016.07.29
- Maxim Kuznetsov
- www.mql5.com
localOffset=TimeGMT()-TimeLocal(); // GMT смещение локального времени
из https://www.mql5.com/ru/blogs/post/677209 , а там насколько помню, из обсуждений TimeGMT()
Только уточнить, что вот это:
serverOffset=TimeGMT()-TimeCurrent(); // GMT смещение времени сервера
нужно вставлять в OnTick() и при условии, что OnTick() не вызывается другими функциями кода. Иначе будем получать неправильный результат в выходные, т. к. TimeCurrent() указывает в это время на последний тик пятницы. Есть риск получить serverOffset больше 24-х часов.)))
Скрипт, который наглядно выводит значения всех функций, которые работают со временем:
//+------------------------------------------------------------------+ //| TimeXXXX.mq5 | //| Copyright © 2016, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2014, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" #property description "Скрипт выводит все функции, работающие со временем" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Print("TimeCurrent: ",TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES|TIME_SECONDS)); Print("TimeCurrent - возращает последнее известное время сервера (время прихода последней котировки) в формате datetime"+"\n"); Print("TimeTradeServer: ",TimeToString(TimeTradeServer(),TIME_DATE|TIME_MINUTES|TIME_SECONDS)); Print("TimeTradeServer - возвращает расчетное текущее время торгового сервера"+"\n"); Print("TimeLocal: ",TimeToString(TimeLocal(),TIME_DATE|TIME_MINUTES|TIME_SECONDS)); Print("TimeLocal - возвращает локальное компьютерное время в формате datetime"+"\n"); Print("TimeGMT: ",TimeToString(TimeGMT(),TIME_DATE|TIME_MINUTES|TIME_SECONDS)); Print("TimeGMT - время GMT формате datetime с учетом перехода на зимнее или летнее время по локальному времени компьютера, на котором запущен клиентский терминал"+"\n"); Print("TimeDaylightSavings: ",IntegerToString(TimeDaylightSavings())); Print("TimeDaylightSavings - возвращает поправку на летнее время в секундах, если был произведен переход на летнее время"+"\n"); Print("TimeGMTOffset: ",IntegerToString(TimeGMTOffset())); Print("TimeGMTOffset - возвращает текущую разницу между временем GMT и локальным временем компьютера в секундах с учетом перехода на зимнее или летнее время"+"\n"); } //+------------------------------------------------------------------+
Спасибо, Владимир, Игорь, Максим.... Под МТ5 полагаю подойдет код Владимира.
Владимир, под МТ4 не перепишите выложенный код. В МТ4 удобнее работать.
Спасибо, Владимир, Игорь, Максим.... Под МТ5 полагаю подойдет код Владимира.
Владимир, под МТ4 не перепишите выложенный код. В МТ4 удобнее работать.
Владимир, а куда сдвиг в минутах или часах по времени прописывать? В вашем коде не вижу настроек.
Имею часть кода под МТ4, ранее было выложено на одном из форумов
Здесь в коде вижу настройки, которые можно менять. Может восстановить этот скрипт?
} int start() { //-----------------------------------------------------------------------------------------------// //Variables datetime time_local = 0; //Локальное время на компьютере пользователя datetime time_server = 0; //Время сервера (текушее время на торговом сервере) datetime time_gmt = 0; //Время GMT (на основе настроек ПК пользователя) int time_ds = 0; //Поправка на летнее время в секундах int time_gmto = 0; //Разница между GMT и локальным временем в секундах //-----------------------------------------------------------------------------------------------// time_local = TimeLocal(); time_server = TimeCurrent(); time_gmt = TimeGMT(); time_ds = TimeDaylightSavings(); time_gmto = TimeGMTOffset(); PrintFormat("Time: Local - %s, Server - %s, GMT - %s",(string)time_local,(string)time_server,(string)time_gmt); PrintFormat("Offset of time server %i (minutes)",(time_server-time_gmt)/60); if(time_gmto>0) { PrintFormat("Daylight Savings - %i, GMT Offset - %i",time_ds,time_gmto); } //-----------------------------------------------------------------------------------------------// return(0);
Владимир, а куда сдвиг в минутах или часах по времени прописывать? В вашем коде не вижу настроек.
Имею часть кода под МТ4, ранее было выложено на одном из форумов
Здесь в коде вижу настройки, которые можно менять. Может восстановить этот скрипт?
Мне необходим скрипт вроде период конвертора МТ4 с настройками
1) - таймфрейм и 2) - настройки сдвига баров по времени при построения на этом ТФ
Не понимаю совершенно выложенный код. Буду ставить МТ5, смотреть.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
здравствуйте
прошу поделиться кодом скрипта смещения часового пояса сервера брокера для МТ4 и МТ5
(например время сервера брокера минус несколько часов заданных в настройках скрипта (сдвиг в часах или минутах, не важно))
нужен исходник, одну из работ нашел в маркете в бесплатном доступе, но нет исходника, не предоставляется,
я пользуюсь только исходниками и предварительно смотрю что внутри кода, поэтому программные файлы типа ex мне не подходят
можно код выложить на форум или отправить через личное сообщение
заранее спасибо, если есть возможность поделиться кодом