[BUG] глюки с временем
Atom Ответить
12.07.2011


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

оставил стратегию работать на ночь - в итоге в логах следующая картина с временем и датой:
лог записыается внутри события 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. понятно что эти глюки не критичны т.к. проявляются в неторговое время - но - вдруг они что-то другое аффектят

Теги:


Спасибо:




9 Ответов
Alexander

Фотография
Дата: 12.07.2011
Ответить


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

President

Фотография
Благотворитель
Дата: 14.07.2011
Ответить


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

Фотография
Благотворитель
Дата: 14.07.2011
Ответить


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

Это уже точно баг!
Автор топика
Спасибо:

Alexander

Фотография
Дата: 14.07.2011
Ответить


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

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


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

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

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


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


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

President

Фотография
Благотворитель
Дата: 14.07.2011
Ответить


Alexander Перейти

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

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


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

Alexander

Фотография
Дата: 14.07.2011
Ответить


President Перейти
Alexander Перейти

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

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


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



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

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

a.dobryn

Фотография
Дата: 19.09.2011
Ответить


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

Alexander

Фотография
Дата: 19.09.2011
Ответить


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


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

a.dobryn

Фотография
Дата: 19.09.2011
Ответить


Alexander Перейти
D_Alex Перейти
кстати да, у меня такое тоже часто выскакивает.


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

как раз в пятницу обовилась, пока не следила за временем. Спасибо =)
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy