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

Прекращение получения данных при остановки дочерних стратегий
Atom
9/30/2011
frontman


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

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

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

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

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


Tags:


Thanks:


1 2  >
frontman

Avatar
Date: 9/30/2011
Reply


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

Thanks:

Alexander

Avatar
Date: 9/30/2011
Reply


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

Thanks:

frontman

Avatar
Date: 9/30/2011
Reply


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

Thanks:

Alexander

Avatar
Date: 9/30/2011
Reply


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

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

Thanks:

frontman

Avatar
Date: 9/30/2011
Reply


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

Thanks:

Alexander

Avatar
Date: 9/30/2011
Reply


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

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

Thanks:

frontman

Avatar
Date: 9/30/2011
Reply


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

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

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

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

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

Thanks:

frontman

Avatar
Date: 9/30/2011
Reply


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

Thanks:

Alexander

Avatar
Date: 9/30/2011
Reply


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

Thanks:

frontman

Avatar
Date: 9/30/2011
Reply


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

Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy