kvazar
kvazar личный блог
21 ноября 2015, 22:49

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

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

    Кому придёт в голову после этого считать локальное время? =)
  • ves2010
    22 ноября 2015, 12:57
    я бы поленился исправлять… оставил бы на торговом сервере прежнее время… сваял под тслабом бота 2500кубов… и их еще соединять надо было… неделю рисовал

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн