← Voltar

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

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

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

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

Este tópico foi útil?

Compartilhar tópico

Comentários (10)

Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário

esper
esper

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

Char
Char Autor

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

esper
esper

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

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

esper
esper

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

Char
Char Autor

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

esper
esper

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

Char
Char Autor

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

Char
Char Autor

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

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

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

Char
Char Autor

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

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

esper
esper

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