Блог им. kvazar

Нетривиальная ошибка в алгоритме

    • 21 ноября 2015, 22:49
    • |
    • kvazar
  • Еще
После переезда в мск алгоритмы стали отрабатывать очень странно, я не про результат, а про входы, выходы и проч… Такое ощущение, что кто-то вставил в код random. А поскольку имею возможность смотреть на результаты работы только после 22-00, то выявить странности оказалось на глазок не просто, код то прежний. Работает, но блин не так, как задумывал.
Прикрутил логи позиций, — все показатели существенные записываются от открытия до закрытия позы. Констатировал факт того, что действительно работает не так как в родном городе. Думаю, так не бывает. Ну ведь хрень. Прикрутил логи — запись всех действий кода и результатов процедур и функций. Полезно — видно как работает он в реальном времени. И вуаля — в чем собака порылась: при проверке актуальности текущих цен реальному времени функция проверяла разницу между ними в секундах. Так как в родном городе время +1 час к мск, то по умолчанию учитывался этот час разницы. Т.е. 23:00:00 в родном городе и 21:59:57 в мск — разница между ними около 3600 с. Но эта разница всегда больше 0.
После перехода на мск время разница между времени биржи и системным временем компа оказалось гуляет плюс-минус несколько секунд и разница бывает и отрицательной (другими словами системное время меньше времени биржи на несколько милисекунд), функция выдавала отрицательное значение. Но блин не всегда. 
Добавил несколько букв — abs(), «рандом ушел», к чему пишу — а какие у вас бывали нетривиальные /смешные ошибки в коде?
★1
5 комментариев
на самом деле очень тривиально :)
avatar
at60hz, 2 месяца… потратил, не догадался, а код уже давно непростой… да. нетривиальность в том, что ошибка не стопит алгоритм, т.е. скрытая
avatar
kvazar, а у меня вот какая прикалюха) smart-lab.ru/blog/293951.php#   Может ты мне подскажешь что с этим всем делать)
avatar
Тривиально для всех, кто начинает кодить в какой-нибудь развитой среде для трейдеров. В качестве примера:
www.mql5.com/ru/docs/dateandtime

Кому придёт в голову после этого считать локальное время? =)
я бы поленился исправлять… оставил бы на торговом сервере прежнее время… сваял под тслабом бота 2500кубов… и их еще соединять надо было… неделю рисовал
avatar

теги блога kvazar

....все тэги



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