|
AmiSite.ru
Форум по Ами |
Автор |
Сообщение |
Zoringer
Зарегистрирован: 19.05.2015
Сообщения: 21
|
Уже голову сломал над этим. Элементарная задачка. Требуется работа с датой свечи формата YYYYMMDD.
Имеем казалось бы одинаковые данные
Y_=Year();
M_=Month();
D_=Day();
YMD=(Y_*10000+M_*100+D_);
YMD2=DateNum()+1900*10000;
Имеем 20160508 и 20160508, тогда как правильная дата 20160509
YMD2 формат за минусом 1900 года.
Суть не в этом.
В реальности Амиброкер округляет YMD и даты при расчетах не соответсвуют.
Если оставить формулу
YMD2=DateNum(); то имеем 1160509, правильная дата 20160509 здесь он уже не манипулирует с днем.
Еще прикол - если умножить YMD*10000 или YMD2*10000 то получим после дня не нули а какой-то набор чисел.
Подскажите что это за манипуляции с датами, а может и с большими числами??? Амиброкер у меня 6.10 лицензионный купленный официально на сайте.
UPD. Проблема гдето с большими числами, т.к.
при переменной
Date_corr_before=20160519;
Оперирует он на самом деле числом 20160518.
Жесть какая-то! Что происходит???
Это я спустя 4 года пользования Amibroker такое обнаружил. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Да, это проблема с большими числами.
Особенно плохо дело с числами > 2^32.. (у 32х разрядной версии) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
| |