← 戻る

Прекращение получения данных при остановки дочерних стратегий

Вещь странная и мне не понятная) Т.е. Есть стратегия в ней постоянно обрабатывается стакан, и в этой стратегии применяются защитные стратегии в частности StopLossStrategy. При остановки одной из дочерних стратегий получение данных основной стратегией да и вообще
PlazaTrader останавливается... Я думал это из за ошибки внутри самой StopLossStrategy. создал свою защитную стратегию. Все равно эффект тот же. Притом если останавливать мою стратегию вот так

this.When(Security.LastTradePriceLessAbsolute(stopPrice))
                    .Do(() =>
                            {
                               ...
                                Stop();
                            })
                    .Once();

Данные не перестают поступать. А если так

 this.When(this.StrategyNewOrder())
                .Do(Stop)
                .Once();

То перестают) В чем проблема может быть не знаете?

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

トピックを共有

コメント (11)

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

frontman
frontman 著者

Правда во внешней стратегии так же навешано правило на StopLossStrategy.StrategyNewOrder(). Может из за этого че то?

Alexander
Alexander

Не вызывайте Stop для дочерней стратегии. Там делается Once()

frontman
frontman 著者

Хм... Оставить ее запущенной.. Хм.. Ресурсы ни как кушать не будет?

Alexander
Alexander

frontman: Хм... Оставить ее запущенной.. Хм.. Ресурсы ни как кушать не будет?

Once - от английского слова единожды. Остановится само.

frontman
frontman 著者

Остановиться правило а не стратегия. Я вот о чем.

Alexander
Alexander

frontman: Остановиться правило а не стратегия. Я вот о чем.

Вы вызываете метод Stop(); и останавливаете сами стратегию. Своими руками. Внутри правила.

frontman
frontman 著者

Да. Я так и делаю. Как я и описывал ранее:

frontman: Вещь странная и мне не понятная) Т.е. Есть стратегия в ней постоянно обрабатывается стакан, и в этой стратегии применяются защитные стратегии в частности StopLossStrategy. При остановки одной из дочерних стратегий получение данных основной стратегией да и вообще PlazaTrader останавливается... Я думал это из за ошибки внутри самой StopLossStrategy. создал свою защитную стратегию. Все равно эффект тот же. Притом если останавливать мою стратегию вот так

this.When(Security.LastTradePriceLessAbsolute(stopPrice)) .Do(() => { ... Stop(); }) .Once();

> Данные не перестают поступать. А если так
> ```csharp
 this.When(this.StrategyNewOrder())
                .Do(Stop)
                .Once();

То перестают) В чем проблема может быть не знаете?

frontman
frontman 著者

Только останавливаю я дочернею стратегию. А данные перестают поступать вообще. Т.е. передача данных встает на ITrader

Alexander
Alexander

Пробуйте 4.0.1 dll с codeplex и новую плазу.

frontman
frontman 著者

Alexander: Пробуйте 4.0.1 dll с codeplex и новую плазу.

Вот сейчас собираю как раз)

frontman
frontman 著者

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