Блог им. 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.4К

Читайте на SMART-LAB:
Разместили выпуск облигаций!
Успешно разместили облигации серии 003P-15 на финансирование текущих расходов.  Ключевые параметры размещения: Объем: 20 млрд рублей...
Фото
Газета «Коммерсант» выпустила тематическое приложение о страховом рынке
Много интересных материалов для тех, кто работает в отрасли и тех, кто так или иначе с ней связан. Полагаем, публикации могут быть интересны и...
Фото
🥳 В десяточку! Два выпуска на сумму более 10 млрд рублей
ГК «А101» завершила сбор книги заявок на два выпуска облигаций общим объемом 10,5 млрд рублей. Начало торгов состоится 26 декабря....
Фото
Какая доходность среди облигаций с наивысшим рейтингом надежности и сроком погашения от 3 лет?

теги блога AlgoTrading Solutions

....все тэги



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