TimeCurrent

Возвращает последнее известное время сервера, время прихода последней котировки по одному из выбранных в "Обзоре рынка" символов. В обработчике OnTick() данная функция вернет время пришедшего обрабатываемого тика. В других случаях (например, вызов в обработчиках OnInit(), OnDeinit(), OnTimer() и так далее) это – время прихода последней котировки по любому символу, доступного в окне "Обзор рынка", то самое время, которое показано в заголовке этого окна. Значение времени формируется на торговом сервере и не зависит от настроек времени на компьютере пользователя. Существует 2 варианта функции.

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

datetime  TimeCurrent();

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

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

Параметры

dt_struct

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

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

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

Примечание

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

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

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

Пример:

void OnStart()
  {
//--- объявим переменную MqlDateTime для заполнения данными о дате/времени и получим время последней котировки из окна Обзор рынка
   MqlDateTime tm={};
   datetime    time1=TimeCurrent();    // первая форма вызова: время последней котировки по одному из символов в окне "Обзор рынка"
   datetime    time2=TimeCurrent(tm);  // вторая форма вызова: время последней котировки по одному из символов в окне "Обзор рынка" с заполнением структуры MqlDateTime
   
//--- выведем в журнал результат получения даты/времени и заполнения структуры соответствующими данными
   PrintFormat("Tick time: %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)",
               (string)time1tm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_weekEnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week));
   /*
   результат:
   Tick time2024.04.18 15:40:06
   - Year2024
   - Month04
   - Day18
   - Hour15
   - Min40
   - Sec06
   - Day of Year108
   - Day of Week4 (THURSDAY)
   */
  }