← 返回

Не приходит событие NewMyTrades

Использую MarketQuotingStrategy. strategy.NewMyTrades += WormNewMyTrades; //Вот это теряется strategy.Trader.NewMyTrades += Trader_NewMyTrades; //Отрабатывает корректно

При обновлении S# сборки с 4.0.3 на последнюю потерялся ивент NewMyTrades при использовании EmulationTrader.

Такую же проблему вижу на SmartTrader проверял на сборке 4.0.3 и текущей (при использовании RealTimeEmulationTrader<SmartTrader> событие приходит)

本主题对您有帮助吗?

分享主题

评论 (10)

登录创建账户, 登录或注册以发表评论

esper
esper

Дело скорее всего в том, что стратегия MarketQuotingStrategy завершается при изменении позиции, а позиция по-умолчанию считается по ордерам, а не заявкам. Т.к. ордер может измениться раньше, чем придет информация о сделке, соответствующее событие не вызывается, т.к. стратегии уже нет.

Char
Char 作者

Подписан на ProcessStateChanged При завершении MyTrades пустые, хотя сделка исполнена.

esper
esper

При завершении MyTrades пустые, хотя сделка исполнена. Все верно, если событие не вызвалось, то и коллекция будет пустая. Причина см. выше.

Если MarketQuotingStrategy дочерняя стратегия для другой, то попробуйте выставить RemoveChildStrategies в false, для корневой стратегии.

esper
esper

esper: Если MarketQuotingStrategy дочерняя стратегия для другой, то попробуйте выставить RemoveChildStrategies в false, для корневой стратегии.

Char
Char 作者

Тогда у меня вопрос, как мне получить Trades выполненные стратегией?

esper
esper

Стратегия запускается как дочерняя или нет?

Char
Char 作者

esper Да, как дочерняя.

Char
Char 作者

esper Спасибо, буду мучать. Даже тему нашел схожую. http://www.stocksharp.com/forum/1673/Nie-prikhodit-sobytiie-NewMyTrades-v-MarketQuotingStrategy/

Смущает фраза > Mikhail Sukhov:

Пока не знаю, насколько это правильно. =) Как понимаю в данном случае мне надо подписаться на ProcessStateChanged И самому удалять дочерние стратегии по их завершении?

Char
Char 作者

В случае RemoveChildStrategies в false событие NewMyTrades стало отрабатывать, но в ProcessStateChanged MyOrders и MyTrades пустые.

Повторю еще раз в случае использования версии 4.0.3 Проблемы не возникает. Проблема на последних ченджсетах.

esper
esper

Дождитесь новой версии, в эмуляторе были изменения.