← Назад

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

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