Перестает вызываться OnProcess стратегии


Перестает вызываться OnProcess стратегии
Atom
05.04.2011


Заметил, что робот проворонил сигнал, в логах ничего не нашел, задебажил и увидел, что не вызывается OnProcess. В последнем вызове PropertyChanged у стратегии состояние Runned. Стратегия унаследована от TimeFrameStrategy, S# последний.

Теги:


Спасибо:


1 2  >
Alter

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


Ситуация воспроизвелась. OnProcess запускается раз в секунду. Утром он в последний раз запустился в 9:55:07 и стал вызываться снова только после того, как специально обученный костыль перезапустил стратегию в 10:00:18.
Спасибо:

Mikhail Sukhov

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


Alter Перейти
Ситуация воспроизвелась. OnProcess запускается раз в секунду. Утром он в последний раз запустился в 9:55:07 и стал вызываться снова только после того, как специально обученный костыль перезапустил стратегию в 10:00:18.


Ситуация повторяется только в не торговое время?
Спасибо:

Alter

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


Да, пока что отлавливал сабж только перед началом утренней сессии.
Спасибо:

Mikhail Sukhov

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


Alter Перейти
Да, пока что отлавливал сабж только перед началом утренней сессии.


Может у вас в стратегии какая проверка стоит? Еще не плохо было бы проверить состояние QuikTrader.IsConnected.
Спасибо:

Alter

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


QuikTrader.IsConnected был true. Точнее я проверял Terminal.IsConnected, но как я понимаю это будет одно и то же. В стратегии в OnProcess в самом начале метода запоминается время его вызова и периодически проверяется.
Спасибо:

Mikhail Sukhov

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


Alter Перейти
QuikTrader.IsConnected был true. Точнее я проверял Terminal.IsConnected, но как я понимаю это будет одно и то же.


Разное. Terminal проверяет подключение по косвенным признакам, а QuikTrader.IsConnected через АПИ. С точки зрения логики это одно и то же, но могут быть и различия в особых ситуациях. То, что у вас не стартует до торгов явно не является обычной практикой (хотя бы взять тот факт, что это до торгов).

Alter Перейти
В стратегии в OnProcess в самом начале метода запоминается время его вызова и периодически проверяется.


Вы пробовали отладчиком поставить точку останова в начало метода?
Спасибо:

Alter

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


Отладчиком проверял, метод не вызывается. Так вместо Terminal.IsConnected лучше проверять QuikTrader.IsConnected? Просто я посмотрел в документацию и выбрал из двух то свойство, про которое было понятно написано =)
Спасибо:

Alter

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


Сегодня вывел в лог оба IsConnected, получилось вот так:

Market time = 22.04.2011 10:00:24
Terminal.IsConnected = False
QuikTrader.IsConnected = True
Last OnProcess launch time = 22.04.2011 9:55:44

Может Terminal.IsConnected = False виновато?
Спасибо:

Mikhail Sukhov

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


Alter Перейти
Может Terminal.IsConnected = False виновато?


Нет, не виновато.
Спасибо:

Alter

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


Понаблюдал тут на досуге за ходом развития событий, происходит следующее:
9:55 - MarketTime показывает глубокую ночь, 2:00-4:00, в квике в статусбаре времени сервера нет, OnProcess у стратегии почему-то вызывается.
9:56-9:57 - в квике появляется время сервера, в MarketTime соответственно оно тоже перескакивает с ночи на текущее, OnProcess вызываться перестает.
10:00 и далее - MarketTime показывает корректное время, но OnProcess не вызывается, через энндцать секунд я перезапускаю стратегию, после этого все ок.

Интересно, почему OnProcess вызывается ночью, но не вызывается сразу после 10 утра, пока не перезапустишь стратегию.
Спасибо:
1 2  >

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

loading
clippy