TimeTradeServer аналог для МТ4 - страница 7

 
fxsaber:

Проверочный код


Результат на машине, у которой тот же GMT, что и в Альпари.


Проверил 

Все правильно показывает.

надо в субботу проверить работу этой функции и в воскресенье. В будни она сбоя не даст.

 
fxsaber:

Проверил на этом счете. Все идеально показывает.

По-Вашему, это идеал?

0       08:46:44.975    Test USDCHF,H4: TimeGMT() = 2019.12.04 06:46:44
0       08:46:44.975    Test USDCHF,H4: TimeServerGMT() = 2069.10.31 23:46:44

69-й год вместо 2019-го...

 
Alexandr Gavrilin:

Хорошо, задам глупый вопрос.

Каким образом узнать, что наступила суббота на сервере брокера? :-) не пятница, ни воскресенье, а именно суббота. При этом торговля идет по всем доступным инструментам и всякие костыли ввиде давайте запомним время и сравним его чуть позже не годится, время не тикает когда наступает у брокера суббота. При этом в воскресенье рынок у него может открыться раньше, и никакие настройки торговых сессии у брокера не помогут определить, потому что время не тикает.


Если есть толковые решение будет интересно. 

Время брокера не всегда может совпадать с временем gmt :-)

Вы слишком узко мыслите сейчас, не у всех есть золото, чтобы привязаться к его времени и узнать gmt к примеру как вы предложили. Нужно более универсальное решение.

в истории (подчёркнуто и выделено) смотрите во сколько по времени сервера начинал торговаться символ, время начала торгов по которому известно. Получаете GMT смещение сервера. GMT смещение терминала вам известно. Добавляете результат вычислений к локальному времени, которое тикает всегда и получаете время сервера в точности.

а если время брокера не совпадает ни с одним часовым поясом (эдакое GMT+3.05), то бежать надо от такого брокера :-) Это кухня без админов

 
Ihor Herasko:

По-Вашему, это идеал?

69-й год вместо 2019-го...

2019.12.04 08:53:49.118 Test5-3 USDCHF,H4: TimeServerGMT() = 2019.12.04 06:53:51
2019.12.04 08:53:49.117 Test5-3 USDCHF,H4: TimeGMT() = 2019.12.04 06:53:49
 

как такое объясните?

в терминале


 
Alexandr Gavrilin:

как такое объясните?

Читаем

Функция сработает, если запустить на форекс-символе. Запустить достаточно один раз.

Все остальные символы будут иметь то же значение GMT, какое покажет первый запуск на форекс-символе.


Вместо того, чтобы прочесть одно предложение, здесь происходит какая-то глупость на многие страницы.

 
fxsaber:

Читаем

Функция сработает, если запустить на форекс-символе. Запустить достаточно один раз.

Все остальные символы будут иметь то же значение GMT, какое покажет первый запуск на форекс-символе.


Вместо того, чтобы прочесть одно предложение, здесь происходит какая-то глупость на многие страницы.

ну на валюте это работает в торговый день, а в неторговый будет работать?

 
fxsaber:

Читаем

Функция сработает, если запустить на форекс-символе. Запустить достаточно один раз.

Все остальные символы будут иметь то же значение GMT, какое покажет первый запуск на форекс-символе.


Вместо того, чтобы прочесть одно предложение, здесь происходит какая-то глупость на многие страницы.

На таких счетах проверялось? На которых торговля начинается в воскресенье.


 
Alexandr Gavrilin:

ну на валюте это работает в торговый день, а в неторговый будет работать?

Конечно. Сейчас запустил на оффлайн кастомном символе, все правильно.

TimeServerGMTOffset() = -7200
 
Alexey Viktorov:

На таких счетах проверялось? На которых торговля начинается в воскресенье.

Не помню, что проверял. Попробуйте.

Причина обращения: