← 戻る

Не приходит событие 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

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