Не приходит событие NewMyTrades
Atom Ответить
28.10.2011


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

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

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





Спасибо:




10 Ответов
esper

Фотография
Программист
Дата: 28.10.2011
Ответить


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

Char

Фотография
Дата: 28.10.2011
Ответить


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

esper

Фотография
Программист
Дата: 28.10.2011
Ответить


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

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

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

Char

Фотография
Дата: 28.10.2011
Ответить


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

esper

Фотография
Программист
Дата: 29.10.2011
Ответить


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

Char

Фотография
Дата: 29.10.2011
Ответить


esper
Да, как дочерняя.
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 29.10.2011
Ответить


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

Char

Фотография
Дата: 29.10.2011
Ответить


esper
Спасибо, буду мучать. Даже тему нашел схожую.
https://www.stocksharp.co...-MarketQuotingStrategy/

Смущает фраза
Mikhail Sukhov Перейти
Пока не знаю, насколько это правильно.
=)
Как понимаю в данном случае мне надо подписаться на ProcessStateChanged
И самому удалять дочерние стратегии по их завершении?
Автор топика
Спасибо:

Char

Фотография
Дата: 29.10.2011
Ответить


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

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

esper

Фотография
Программист
Дата: 30.10.2011
Ответить


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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy