Как известно, тип datetime занимает 64 бит и определяет время от 1970.01.01 до 3000.12.31 с точностью до секунды. Однако для хранения такого объёма требуется лишь 35 бит. А значит 29 бит расходуются впустую!
Ну погодите, а после 3000 года что делать?!
2892 — конец света согласно предсказанию Авеля
Видимо не доживем до 3000.
Ну погодите, а после 3000 года что делать?!
Как известно, тип datetime занимает 64 бит и определяет время от 1970.01.01 до 3000.12.31 с точностью до секунды. Однако для хранения такого объёма требуется лишь 35 бит. А значит 29 бит расходуются впустую! Почему бы не использовать их для пользы дела? Ведь там можно хранить миллисекунды, или даже микросекунды.
Что касается реализации, то при обычном применении ничего бы не изменилось. Первые 35 бит останутся теми же самыми. А приводясь к числовому типу, последние 29 бит отбрасывались бы, и оставалось только количество секунд с 1970 года. А миллисекунды можно было выдирать с помощью специальной функции.
Кроме того, давно назрела потребность углубить временной диапазон в прошлое. 1970 год годится лишь для форекса и уже не отвечает нынешним реалиям. Коль МТ5 теперь полноценная биржевая платформа, то надо понимать, что биржевые активы могут иметь историю вплоть до 1900 года, а то и раньше.
А ёмкости datetime с лихвой хватает для хранения микросекунд с 1900 до 3000 года. Почему бы не сделать это? Единственный минус будет в том, что для приведения к числовому типу (числу секунд с 1970 года) будет совершаться пара арифметических действий. Но это мелочи.
Как вам такая идея?
Ну либо можно ввести в MQL новый тип времени, как вариант.
Я сам был очень удивлен, когда узнал что в 64 бита положили те же убогие секунды. Надо конечно менять ситуацию.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как известно, тип datetime занимает 64 бит и определяет время от 1970.01.01 до 3000.12.31 с точностью до секунды. Однако для хранения такого объёма требуется лишь 35 бит. А значит 29 бит расходуются впустую! Почему бы не использовать их для пользы дела? Ведь там можно хранить миллисекунды, или даже микросекунды.
Что касается реализации, то при обычном применении ничего бы не изменилось. Первые 35 бит останутся теми же самыми. А приводясь к числовому типу, последние 29 бит отбрасывались бы, и оставалось только количество секунд с 1970 года. А миллисекунды можно было выдирать с помощью специальной функции.
Кроме того, давно назрела потребность углубить временной диапазон в прошлое. 1970 год годится лишь для форекса и уже не отвечает нынешним реалиям. Коль МТ5 теперь полноценная биржевая платформа, то надо понимать, что биржевые активы могут иметь историю вплоть до 1900 года, а то и раньше.
А ёмкости datetime с лихвой хватает для хранения микросекунд с 1900 до 3000 года. Почему бы не сделать это? Единственный минус будет в том, что для приведения к числовому типу (числу секунд с 1970 года) будет совершаться пара арифметических действий. Но это мелочи.
Как вам такая идея?
Ну либо можно ввести в MQL новый тип времени, как вариант.