← Voltar

MarketQuotingStrategy событие остановки

Добрый день.

В стратегии использую MarketQuotingStrategy для покупки по лучшей цене, причем разрешаю только две попытки для входа в сделку.

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

Comentários (5)

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

Mikhail Sukhov
Mikhail Sukhov

Для этого нужно смотреть не на событие успешного входа или нет, а на окончание стратегии. И уже смотреть по результатам. Как вариант, отнаследуйтесь от стратегии и переопределите этот метод

http://stocksharp.com/doc/help/html/M_Ecng_Trading_Algo_Strategy_OnStopped.htm

И в этом методе смотрите на совершенные сделки Strategy.Trades.

Если же стратегия работает синхронно по отношению к базовой, то воообще ничего переодпределять не надо. Как только управление вернулось - смотрите на сделки.

Dmitriy Klimov
Dmitriy Klimov Autor

Mikhail Sukhov: Для этого нужно смотреть не на событие успешного входа или нет, а на окончание стратегии. И уже смотреть по результатам. Как вариант, отнаследуйтесь от стратегии и переопределите этот метод

http://stocksharp.com/doc/help/html/M_Ecng_Trading_Algo_Strategy_OnStopped.htm

И в этом методе смотрите на совершенные сделки Strategy.Trades.

Если же стратегия работает синхронно по отношению к базовой, то воообще ничего переодпределять не надо. Как только управление вернулось - смотрите на сделки.

Михаил, не планируете в следующей версии добавить событие остановки стратегий? Это будет несложно для вас, и, думаю, приогодится не только мне, но и другим пользователям вашей библиотеки.

Спасибо за труды, и с уважением...

Dmitriy Klimov
Dmitriy Klimov Autor

Михаил, в версии 2.5 появился новый параметр в конструкторе MarketQuotingStrategy. В документации в разделе Котирование пример с использованием этого класса не изменился. Можете в двух словах сказать, какой смысл имеет параметр priceExchange? Я так понимаю, это максимальное изменение цены от текущего, при котором останавливается котирование? Просто смущает слово Exchange в названии параметра, так как обычно переводится, как обмен.

Dmitriy Klimov
Dmitriy Klimov Autor

Михаил, возникла еще проблема: после создания MarketQuotingStrategy событие Strategy.NewMyTrades у базовой стратегии вызывается дважды. Котирование создаю так:

var strategy = new MarketQuotingStrategy(order, new Unit(), priceDelta);
strategy.IsForts = true;
strategy.Start();
base.ChildStrategies.Add(strategy);

Не знаю, правильно ли я задаю второй параметр в конструкторе. Может, это как-то связано с двойным вызовом события?

Mikhail Sukhov
Mikhail Sukhov

Dmitriy Klimov: Михаил, возникла еще проблема: после создания MarketQuotingStrategy событие Strategy.NewMyTrades у базовой стратегии вызывается дважды

Спасибо. Бага, заметил. Вылечу на след. неделе.