Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пробовал в MT5 - синхронизации нет - получил такую табличку:
У меня работает все :-)
вообще это ЗЛО...
Может мне так проще? Пару раз в неделю ручками запустить, если видишь, что можешь доверять, а потом с какими-то критериями доверия, м.б., и на автомат повешу.
Мотивы долго объяснять и нецелесообразно.
У меня работает все :-)
Вот так всегда :(
Вот так всегда :(
Кто же тут угадает, почему у Вас не работает? Может в ОС какие-то глюки или блокировки? MT5 с правами администратора запускаете? (иначе работать точно не будет)
В общем у меня работает в "terminal64.exe" на графике EURUSD некоего популярного ДЦ/брокера, который имеет лицензию ЦБ РФ по Forex, что спокойно проверяется переводом времени до запуска скрипта.
Ну, и, скорее всего, Вы мой код подизменили, судя по скриншоту, может что-то не то сделали, а так все равно, кроме Вас вряд ли наверняка догадаешься, в чем причина
Вот так всегда :(
Хотя на Вашем месте, м.б., я бы еще попробовал везде в коде заменить "short" на "int", мало ли где-то структура-аргумент функции "SetSystemTime" несколько иначе организована, и то я в этом сильно сомневаюсь, а искать эту информацию не горю желанием.
Да, и разрешены ли DLL везде?
Кто же тут угадает, почему у Вас не работает? Может в ОС какие-то глюки или блокировки? MT5 с правами администратора запускаете? (иначе работать точно не будет)
В общем у меня работает в "terminal64.exe" на графике EURUSD некоего популярного ДЦ/брокера, который имеет лицензию ЦБ РФ по Forex, что спокойно проверяется переводом времени до запуска скрипта.
Ну, и, скорее всего, Вы мой код подизменили, судя по скриншоту, может что-то не то сделали, а так все равно, кроме Вас вряд ли наверняка догадаешься, в чем причина
Код не правил вообще.
Я запускаю на MOEX - брокер Открытие - может это как-то влияет?
Если библиотеки не разрешить, то вообще не запустить.
Windows 7 64x - права администратора.
Хотя на Вашем месте, м.б., я бы еще попробовал везде в коде заменить "short" на "int", мало ли где-то структура-аргумент функции "SetSystemTime" несколько иначе организована, и то я в этом сильно сомневаюсь, а искать эту информацию не горю желанием.
Да, и разрешены ли DLL везде?
Попробую заменить.
Код не правил вообще.
Я запускаю на MOEX - брокер Открытие - может это как-то влияет?
Если библиотеки не разрешить, то вообще не запустить.
Windows 7 64x - права администратора.
Попробую заменить.
Да, скорее всего, это какие-то неведомые глюки софтовые и т. п., можно только попробовать установить терминал др. брокера, на др. компьютере попробовать и т. п. В общем Alpari MT5 build 1643, вроде последний билд, - у меня все работает, терминал 64-битный. Разница во времени с сайтом https://www.mobatime.ru/ не превышает 2 секунд.
Замена "short" на "int", откровенно говоря, сомневаюсь, что она даст что-либо.
Чтобы у Alpari не регистрироваться, наверное, можете здесь MT5 взять, и подключиться к "MetaQuotes-Demo", а также в MT4 попробовать.
Дополнение: на моем VDS, который работает через удаленный рабочий стол Windows, и на нем используется Windows Server 2008 R2 (x64, Standart, SP1) тоже все работает.А не работает потому, что нужно синхронизировать не SysTime а LoсalTime
А не работает потому, что нужно синхронизировать не SysTime а LoсalTime
В чем реальная разница? Хотя бы в том, что Вы лично попробовали оба варианта? Простите, но пока я только замену букв вижу, и заметьте, что у меня работает код скрипта, который приведен выше.
В чем реальная разница? Хотя бы в том, что Вы лично попробовали оба варианта? Простите, но пока я только замену букв вижу, и заметьте, что у меня работает код скрипта, который приведен выше.
Заинтересовался. Почему-то у меня тоже работает именно SetLocalTime. https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms724936(v=vs.85).aspx:
The system uses UTC internally. Therefore, when you call SetLocalTime, the system uses the current time zone information to perform the conversion, including the daylight saving time setting. Note that the system uses the daylight saving time setting of the current time, not the new time you are setting. Therefore, to ensure the correct result, call SetLocalTime a second time, now that the first call has updated the daylight saving time setting.
Перевод от гугл:
Система использует UTC внутренне. Поэтому, когда вы вызываете SetLocalTime, система использует текущую информацию о часовом поясе для выполнения преобразования, включая настройку летнего времени. Обратите внимание, что в системе используется настройка времени летнего времени текущего времени, а не новое время, которое вы устанавливаете. Поэтому, чтобы обеспечить правильный результат, вызовите SetLocalTime второй раз, теперь, когда первый вызов обновил настройку летнего времени.
То есть SetSystemTime не учитывает настройки региона в ОС: часовой пояс и переход на летнее время.
О том, почему не выходит синхронизировать при разнице времен на 37 секунд. Интересно, а как при такой синхронизации поступать с тиками, пришедшими в "нелегальное", пропущенное время? Удалить их из истории тиков, поправить минутки и др.? Это должен сделать терминал или сервер?
Кстати, не следует питать надежды на то, что системное время на сервере MT хорошо синхронизировано с астрономическим. Я задавал об этом вопрос разработчикам, они ответили, что уже лет 10 в серверах MT предоставляется штатная функция синхронизации времени по протоколу SNTP (до секунд), но применять ее или нет, решают администраторы серверов. Если понаблюдать за последним временем сервера в окне обзора рынка, можно увидеть вручную разницу в номере последней секунды, и эта разница между серверами устойчива.
Всем привет.
Подскажите почему при вызове функции SetLocalTime или SetSystemTime скрипт просто закрывается, И не появляется MessageBox?
Ошибок ни каких не выдает.
Использую MT4.
Когда по дебагу смотрю переменную TradeServerTime то стазу за фигурной скобкой стоит 2 пробела.
WindowsSystemTime{ wYear:2017 wMonth:10 wDayOfWeek:5 wDay:20 wHour:15 wMinute:9 wSecond:51 wMilliseconds:0 }
Пробовал запускать все от админа.