TimeTradeServer

Возвращает расчетное текущее время торгового сервера. В отличие от функции TimeCurrent(), расчет значения времени производится в клиентском терминале и зависит от настроек времени на компьютере пользователя. Существует 2 варианта функции.

Вызов без параметров

datetime  TimeTradeServer();

Вызов с параметром типа MqlDateTime

datetime  TimeTradeServer(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );

Параметры

dt_struct

[out]  Переменная типа структуры MqlDateTime.

Возвращаемое значение

Значение типа datetime

Примечание

Если в качестве параметра была передана переменная типа структуры MqlDateTime, то она заполняется соответствующим образом.

Для организации счетчиков и таймеров высокого разрешения нужно использовать функцию GetTickCount(), которая выдает значения в миллисекундах.

При работе в тестере стратегий время TimeTradeServer() моделируется в соответствии с историческими данными и всегда равно TimeCurrent().

Пример:

void OnStart()
  {
//--- объявим переменную MqlDateTime для заполнения данными о дате/времени и получим время последней котировки и расчетное текущее время торгового сервера
   MqlDateTime tm={};
   datetime    time_current=TimeCurrent();                  // первая форма вызова: время последней котировки по одному из символов в окне "Обзор рынка"
   datetime    time_server =TimeTradeServer(tm);            // вторая форма вызова: расчетное текущее время торгового сервера с заполнением структуры MqlDateTime
   int         difference  =int(time_current-time_server);  // разница между Time Current и Time Trade Server
   
//--- выведем в журнал время последней котировки и расчетное текущее время торгового сервера с данными заполненной структуры MqlDateTime
   PrintFormat("Time Current: %s\nTime Trade Server: %s\n- Year: %u\n- Month: %02u\n- Day: %02u\n"+
               "- Hour: %02u\n- Min: %02u\n- Sec: %02u\n- Day of Year: %03u\n- Day of Week: %u (%s)\nDifference between Time Current and Time Trade Server: %+d",
               (string)time_current, (string)time_servertm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_week,
               EnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week), difference);
   /*
   результат:
   Time Current2024.04.18 16:10:14
   Time Trade Server2024.04.18 16:10:15
   - Year2024
   - Month04
   - Day18
   - Hour16
   - Min10
   - Sec15
   - Day of Year108
   - Day of Week4 (THURSDAY)
   Difference between Time Current and Time Trade Server: -1
   */
  }