Дата и время

Группа функций, обеспечивающих работу с данными типа datetime (целое число, представляющее собой количество секунд, прошедших с 0 часов 1 января 1970 года).

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

Функция

Действие

TimeCurrent

Возвращает последнее известное время сервера (время прихода последней котировки) в формате datetime

TimeTradeServer

Возвращает расчетное текущее время торгового сервера

TimeLocal

Возвращает локальное компьютерное время в формате datetime

TimeGMT

Возвращает время GMT формате datetime с учетом перехода на зимнее или летнее время по локальному времени компьютера, на котором запущен клиентский терминал

TimeDaylightSavings

Возвращает признак перехода на летнее /зимнее время

TimeGMTOffset

Возвращает текущую разницу между временем GMT и локальным временем компьютера в секундах с учетом перехода на зимнее или летнее время

TimeToStruct

Производит конвертацию из значения типа datetime в переменную типа структуры MqlDateTime

StructToTime

Производит конвертацию из переменной типа структуры MqlDateTime в значение типа datetime

 

TimeCurrent

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

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

datetime TimeCurrent();

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

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

Параметры

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

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

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

Примечание

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

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

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

 

TimeTradeServer

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

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

datetime TimeTradeServer();

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

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

Параметры

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

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

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

Примечание

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

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

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

 

TimeTradeServer

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

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

datetime TimeTradeServer();

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

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

Параметры

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

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

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

Примечание

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

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

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

 

TimeLocal

Возвращает локальное время компьютера, на котором запущен клиентский терминал. Существует 2 варианта функции.

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

datetime TimeLocal();

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

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

Параметры

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

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

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

Примечание

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

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

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

 

TimeGMT

Возвращает время GMT, которое вычисляется с учётом перехода на зимнее или летнее время по локальному времени компьютера, на котором запущен клиентский терминал. Существует 2 варианта функции.

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

datetime TimeGMT();

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

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

Параметры

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

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

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

Примечание

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

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

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

 

TimeDaylightSavings

Возвращает поправку на летнее время в секундах, если был произведен переход на летнее время. Зависит от настроек времени на компьютере пользователя.

int TimeDaylightSavings();

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

Если был произведен переход на зимнее (стандартное) время, то возвращается 0.

 

TimeGMTOffset

Возвращает текущую разницу между временем GMT и локальным временем компьютера в секундах с учетом перехода на зимнее или летнее время. Зависит от настроек времени на компьютере пользователя.

int TimeGMTOffset();

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

Значение типа int, представляющее текущую разницу между временем GMT и локальным временем компьютера TimeLocal() и в секундах.

TimeGMTOffset() = TimeGMT() — TimeLocal()

 

TimeToStruct

Производит конвертацию из значения типа datetime (количество секунд с 01.01.1970) в переменную типа структуры MqlDateTime.

bool TimeToStruct(
 datetime dt, // дата и время
 MqlDateTime& dt_struct // структура для принятия значений
 );

Параметры

dt — [in] Значение даты для конвертации.

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

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

true – в случае успеха, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

 

StructToTime

Производит конвертацию из переменной типа структуры MqlDateTime в значение типа datetime и возвращает полученное значение.

datetime StructToTime(
 MqlDateTime& dt_struct // структура даты и времени
 );

Параметры

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

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

Значение типа datetime, содержащее количество секунд с 01.01.1970.