Блог им. AlgoTrader1

Тип данных для хранения даты и времени (datetime) в языках MQL4 и MQL5

Всех приветствую. Продолжаем изучение языка MQL4. В прошлый раз мы говорили о строковом типе данных, а сегодня поговорим о типе данных, который позволяет хранить дату и время, — datetime. На самом деле мы уже с ним знакомились, когда говорили о целых типах данных. Потому что тип datetime является целым и хранит целочисленное значение, которое равно количеству секунд, прошедших с 1 января 1970 года. Эта дата является началом диапазона значений, которые может хранить тип datetime. Конечной датой является 31 декабря 3000 года.

Отдельное внимание уделить типу данных datetime я решил потому, что мы не затрагивали самый простой и удобный способ задания даты – литеральный. Любые дату и время можно задать в виде целого числа, равного количеству секунд прошедших с 1 января 1970 года 00:00:00. Только это совершенно неудобно. Литеральный способ записи позволяет указывать сразу нужную дату и время, заключая их в одинарные кавычки, перед которыми указывается буква D, — первая буква в названии типа данных datetime. Литеральный способ записи выглядит следующим образом: D’YYYY.MM.DD HH:MM:SS’, например D’2018.11.17 12:10:00’ – 17 ноября 2018-го года, 12 часов, 10 минут, 0 секунд. В указании даты можно порядок: год, месяц, день поменять на: день, месяц, год. Оба варианта будут корректны. Что касается времени, то его можно указывать до необходимой точности. Например, если секунды не важны, можно указать только часы и минуты, — HH:MM. Если и минуты не требуются, можно указать только часы, — HH. Можно указать только дату, а время не указывать. В этом случае время будет равно полночи, т.е. 0 часов, 0 минут, 0 секунд. Если указать только время, но не указать дату, ошибки не будет, но компилятор выдаст предупреждение о неполной литеральной записи.

В прикреплённом видео я показываю, как можно работать с типом datetime. В качестве примера приведён способ ограничения срока работы советника до определённой даты. Это может быть полезно при предоставлении советника в аренду. По истечению срока аренды, покупателю придётся обратиться за продлением лицензии, либо отказаться от дальнейшего использования продукта. Не стоит воспринимать продемонстрированный в видео способ как полностью самодостаточный. Поскольку  в видео не демонстрируется привязка советника к номеру торгового счёта, этой копией советника можно пользоваться до завершения срока лицензии на любом счёте, в том числе и на счёте, который принадлежит не Вашему клиенту. Но целью видео было показать пример именно с применением типа datetime, поэтому такой нюанс как привязка советника к номеру счёта был опущен.

 

Тип данных datetime есть и в языке MQL5. Поэтому, для изучающих MQL5 будет не лишним ознакомиться с содержанием данного поста.

Благодарю за внимание!

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
1.5К

Читайте на SMART-LAB:
💰 Сильный рубль обходится бюджету в миллиарды
Каждый рубль укрепления сверх заложенного в бюджет курса обходится казне в ₽100–150 млрд в месяц, отмечают опрошенные Известиями эксперты....
Фото
27 мая RENI раскрывает финансовые результаты Группы за 1 квартал 2026 года по МСФО
В этот же день в 13:00 МСК мы проведем звонок для инвесторов и аналитиков.   Детали для подключения доступны на сайте RENI в разделе...
Фото
💼 «Лукойл» выплатил дивиденды: куда их направить?
Инвесторы получили дивиденды «Лукойла» за 2025 год. На акции в свободном обращении пришлось около 100 млрд рублей. Значительная часть этих...
Фото
Портовый срез #6: Эксклюзив. Результаты после атак БПЛА на Приморск и Новороссийск - что происходит с отгрузками нефти и других товаров за 4 месяца 2026 года?
Морские порты — важная транспортная артерия российской экономики. Большая часть сырья идет через перевалку в Морских портах России, а основная...

теги блога AlgoTrading Solutions

....все тэги



UPDONW
Новый дизайн