← 戻る

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

Добрый день.

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

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

このトピックは参考になりましたか?

トピックを共有

コメント (5)

ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください

Mikhail Sukhov
Mikhail Sukhov

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

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

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

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

Dmitriy Klimov
Dmitriy Klimov 著者

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

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

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

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

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

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

Dmitriy Klimov
Dmitriy Klimov 著者

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

Dmitriy Klimov
Dmitriy Klimov 著者

Михаил, возникла еще проблема: после создания 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 у базовой стратегии вызывается дважды

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