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