Dmitriy Klimov
|
Date: 10/14/2010
Mikhail SukhovDmitriy KlimovСтоп-заявку выставляю через Strategy.RegisterOrder и не соображу, как лучше перехватить событие ее срабатывания внутри стратегии. Событие Strategy.NewMyTrade я могу использовать только из главной программы, а мне надо по сути то же событие перехватить внутри стратегии, это событие генерирующее. Как быть в данном случае? До версии 2.1 был метод Strategy.OnNewMyTrades, сейчас подобного метода нет... Codepublic class MyStrategy : Strategy { public MyStrategy() { base.NewMyTrade += OnNewMyTrade; } private void OnNewMyTrade(MyTrade trade) { } } Только учтите, сделка приходит не по стоп заявке, а по обычной, которую выставил стоп. Понял. Спасибо! Не знал, что так можно...
|
|
Thanks:
|
|
|
|
|
sergun
|
Date: 10/14/2010
Mikhail SukhovsergunЧто-то не возникают события Strategy.NewMyTrades и Strategy.OrderChanged при исполнении заявки. Strategy.NewOrder приходит. Заявка регистрировалась с помощью Strategy.RegisterOrder.
С чем это может быть связано? А заявка удовлетворяется? Экспорт запущен? Через ITrader события для такой заявки приходят? Удовлетворяется. Экспорт запущен с помощью метода StartExport. (Он запускает экспорт в т.ч. и сделок? Кстати в мануле не укажите конкретно что именно экспортируется этим методом, а то там "и т.д.") Через ITrader.NewMyTrades пока не проверял.
|
|
Thanks:
|
|
|
|
|
Dmitriy Klimov
|
Date: 10/14/2010
Mikhail SukhovDmitriy Klimov И еще второй вопрос: как отменить выставленную TakeProfitStopLimit заявку, если я вышел из позиции по условиям стратегии?
QuikTrader.CancelOrder Михаил, можно ли такую заявку снять с помощью Strategy.CancelActiveOrders? У меня почему-то не получилось. Или условные заявки снимаются только через QuikTrader.CancelOrder?
|
|
Thanks:
|
|
|
|
|
sergun
|
Date: 10/14/2010
sergunMikhail SukhovsergunЧто-то не возникают события Strategy.NewMyTrades и Strategy.OrderChanged при исполнении заявки. Strategy.NewOrder приходит. Заявка регистрировалась с помощью Strategy.RegisterOrder.
С чем это может быть связано? А заявка удовлетворяется? Экспорт запущен? Через ITrader события для такой заявки приходят? Удовлетворяется. Экспорт запущен с помощью метода StartExport. (Он запускает экспорт в т.ч. и сделок? Кстати в мануле не укажите конкретно что именно экспортируется этим методом, а то там "и т.д.") Через ITrader.NewMyTrades пока не проверял. Проверил, через ITrader.NewMyTrades не приходят.. т.е. при старте экспорта сюда сваливаются имеющиеся на тот момент мои сделки, а новые НЕ приходят....
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 10/15/2010
sergunПроверил, через ITrader.NewMyTrades не приходят.. т.е. при старте экспорта сюда сваливаются имеющиеся на тот момент мои сделки, а новые НЕ приходят.... ProcessDataError молчит? NewOrders OrdersChanged - приходят? Если запустите Sample и сделайте парочку заявок - сделки придут?
|
|
Thanks:
|
|
|
|
|
sergun
|
Date: 10/15/2010
Mikhail SukhovsergunПроверил, через ITrader.NewMyTrades не приходят.. т.е. при старте экспорта сюда сваливаются имеющиеся на тот момент мои сделки, а новые НЕ приходят.... ProcessDataError молчит? NewOrders OrdersChanged - приходят? Если запустите Sample и сделайте парочку заявок - сделки придут? Сам Квик матерится на таблицу "Позиция по деривативам", говорит что что-то переполнено и экспорт таблицы остановлен, правда я эту таблицу особенно и не использую. в CustomDataError данные сообщения не попадают. Все очень странно. Все обработчики событий в Strategy я оборачиваю в lock для некоторого lockObject стратегии. Реагирую в т.ч. на Strategy.NewTrades. Может поток NewTrades не пущает более редкие события типа NewMyTrades? Кстати все свойства и методы Strategy и ITrader thread-safe?
|
|
Thanks:
|
|
|
|
|
sergun
|
Date: 10/15/2010
Mikhail SukhovsergunПроверил, через ITrader.NewMyTrades не приходят.. т.е. при старте экспорта сюда сваливаются имеющиеся на тот момент мои сделки, а новые НЕ приходят.... ProcessDataError молчит? NewOrders OrdersChanged - приходят? Если запустите Sample и сделайте парочку заявок - сделки придут? В Sample - приходят. Не пойму что у меня не так.. Ну никак не вижу приход этих событий у себя.. И логгинг и брейкпоинт. Повторюсь - делаю критические секции на обработку всех событий и в т.ч. на весьма плотное событие NewTrades.
|
|
Thanks:
|
|
|
|
|
sergun
|
Date: 10/20/2010
sergunMikhail SukhovsergunПроверил, через ITrader.NewMyTrades не приходят.. т.е. при старте экспорта сюда сваливаются имеющиеся на тот момент мои сделки, а новые НЕ приходят.... ProcessDataError молчит? NewOrders OrdersChanged - приходят? Если запустите Sample и сделайте парочку заявок - сделки придут? В Sample - приходят. Не пойму что у меня не так.. Ну никак не вижу приход этих событий у себя.. И логгинг и брейкпоинт. Повторюсь - делаю критические секции на обработку всех событий и в т.ч. на весьма плотное событие NewTrades. Михаил, обращаю Ваше внимание, что проблема решилась отказом от асинхронного режима.. (проблема заключалась в том что не возникали события OrdersChanged, NewMyTrades.. Только NewOrders) Трудно предположить, что я его не так использую, т.к. в предыдущих версиях квикшарпа им успешно пользовался. Если баг, с Вас пиво )))
|
|
Thanks:
|
|
|
|
|
Mikhail Sukhov
|
Date: 10/20/2010
sergun Михаил, обращаю Ваше внимание, что проблема решилась отказом от асинхронного режима.. (проблема заключалась в том что не возникали события OrdersChanged, NewMyTrades.. Только NewOrders) Трудно предположить, что я его не так использую, т.к. в предыдущих версиях квикшарпа им успешно пользовался. Если баг, с Вас пиво )))
В асинхронном режиме не возникали события у ITrader или у Strategy? Или у тех и у тех?
|
|
Thanks:
|
|
|
|
|
sergun
|
Date: 10/20/2010
Mikhail Sukhovsergun Михаил, обращаю Ваше внимание, что проблема решилась отказом от асинхронного режима.. (проблема заключалась в том что не возникали события OrdersChanged, NewMyTrades.. Только NewOrders) Трудно предположить, что я его не так использую, т.к. в предыдущих версиях квикшарпа им успешно пользовался. Если баг, с Вас пиво )))
В асинхронном режиме не возникали события у ITrader или у Strategy? Или у тех и у тех? У стратегии 100% ни разу не возникали. У трейдера подписывался только на NewMyTrades.. Обработчик вызвался только как-то один раз.
|
|
Thanks:
|
|
|
|