← Back

[BUG] глюки с временем

воспроизвелось второй раз поэтому думаю тут все-таки бага.

оставил стратегию работать на ночь - в итоге в логах следующая картина с временем и датой: лог записыается внутри события OnProcess который настроен вызываться раз в десять секунд: 11.07.2011 23:59:37.380 11.07.2011 23:59:47.378 (через 10 секунд - т.е. все ок) 11.07.2011 23:59:57.377 (через 10 секунд - т.е. все ок) 12.07.2011 23:50:03.002 (а тут уже НЕ ОК - со сменой даты сглючило время!) 12.07.2011 23:50:03.003 ... и далее уже вызовы идут не через 10 секунд а через доли секунд - по крайней мере если верить логам 12.07.2011 23:51:26.306 12.07.2011 23:51:27.379 (тут завершается вызов через доли секунд и начинается снова через 10 секунд) 12.07.2011 23:51:37.392 ... далее продолжается через 10 секунд 12.07.2011 23:59:47.380 13.07.2011 00:00:01.834 (тут вдруг наступает новый день - хотя на самом деле все еще 12 число!) ... далее продолжается через 10 секунд и день уже неправильный!

и потом незадолго перед началом торгов вылезла куча эксепшнов про ненайденные инструменты (а накануне все находилось!) и программа окончательно упала ;)

PS. понятно что эти глюки не критичны т.к. проявляются в неторговое время - но - вдруг они что-то другое аффектят

Comments (9)

Login or Create account, Log in or register to leave a comment

Alexander
Alexander

У вас время берётся из квика - тампосле 23:59:59 оно устанавливается куда-то не туда, идёт кривое. Перегрузите QuikTrader и сделайте свой метод MarketTime - возвращайте, к примеру, системное время.

President
President Author

Alexander: У вас время берётся из квика - тампосле 23:59:59 оно устанавливается куда-то не туда, идёт кривое. Перегрузите QuikTrader и сделайте свой метод MarketTime - возвращайте, к примеру, системное время.

и правда время в Квике глючит.

А случайно на это время не завязано на вызовы OnProcess в TimeFrameStrategy? Только что она работала и выводила лог на каждый OnProcess: ... время идет по возрастанию до: 14.07.2011 19:20:00.889 14.07.2011 19:10:02.161 // тут время скакнуло назал и OnProcess перестал вызываться - брекпоинты не срабатывают - приложение где-то зависло.

President
President Author

себе же и отвечю - завязано. как только в Квике время скакнуло к 14.07.2011 19:20:10.824 все побежало дальше

Это уже точно баг!

Alexander
Alexander

President: себе же и отвечю - завязано. как только в Квике время скакнуло к 14.07.2011 19:20:10.824 все побежало дальше

Это уже точно баг!

Что именно является багом?

TimeFrameStrategy завязано на изменении времени - берётся текущее время, сравнивается с тем что было в предыдущий запуск Смысл запускать стратегию пока идёт клиринг?

Если есть желание - переопределяйте MarketTime в своём QuikTrader.

До конца хочется понять, что именно с вашей точки зрения работает не так.

P.S. Я сегодня как раз начал переделывать работу MarketTime не только для QuikTrader, но для всего BaseTrader - время будет браться, по задумке, из интернета с NTP сервера.

President
President Author

Alexander: Что именно является багом?

TimeFrameStrategy завязано на изменении времени - берётся текущее время, сравнивается с тем что было в предыдущий запуск Смысл запускать стратегию пока идёт клиринг?

так если бы это было неторговое время (клиринг) тогда еще ок но это же было торговое время (посмотрите когда я написал сообщение - где-то в районе 20:00). просто в квике оно отображалось неправильно. в это время я вручную ставил и снимал заявки в квике! стакан обновлялся. и только моя TimeFrameStrategy висела.

Alexander
Alexander

President:

Alexander: Что именно является багом?

TimeFrameStrategy завязано на изменении времени - берётся текущее время, сравнивается с тем что было в предыдущий запуск Смысл запускать стратегию пока идёт клиринг?

так если бы это было неторговое время (клиринг) тогда еще ок но это же было торговое время (посмотрите когда я написал сообщение - где-то в районе 20:00). просто в квике оно отображалось неправильно. в это время я вручную ставил и снимал заявки в квике! стакан обновлялся. и только моя TimeFrameStrategy висела.

Понял. Выход сейчас - перегрузить QuikTrader и свойство MarketTime, установив ему DateTime.Now

Я попробую сделать фикс с NTP сервером

a.dobryn
a.dobryn

кстати да, у меня такое тоже часто выскакивает.

Alexander
Alexander

D_Alex: кстати да, у меня такое тоже часто выскакивает.

3.2.11 в помощь. Там добавлена поддержка синхронизации с NTP сервером, старый метод взятия MarketTime из квика убран.

a.dobryn
a.dobryn

Alexander:

D_Alex: кстати да, у меня такое тоже часто выскакивает.

3.2.11 в помощь. Там добавлена поддержка синхронизации с NTP сервером, старый метод взятия MarketTime из квика убран. как раз в пятницу обовилась, пока не следила за временем. Спасибо =)