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


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


Вещь странная и мне не понятная)
Т.е. Есть стратегия в ней постоянно обрабатывается стакан, и в этой стратегии применяются защитные стратегии в частности StopLossStrategy. При остановки одной из дочерних стратегий получение данных основной стратегией да и вообще
PlazaTrader останавливается...
Я думал это из за ошибки внутри самой StopLossStrategy. создал свою защитную стратегию. Все равно эффект тот же. Притом если останавливать мою стратегию вот так
Код
this.When(Security.LastTradePriceLessAbsolute(stopPrice))
                    .Do(() =>
                            {
                               ...
                                Stop();
                            })
                    .Once();

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

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

Tags:


Thanks:




11 Answers
frontman

Avatar
Date: 9/30/2011
Reply


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

Alexander

Avatar
Date: 9/30/2011
Reply


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

frontman

Avatar
Date: 9/30/2011
Reply


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

Alexander

Avatar
Date: 9/30/2011
Reply


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


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

frontman

Avatar
Date: 9/30/2011
Reply


Остановиться правило а не стратегия. Я вот о чем.
Topic starter
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();

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

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

Topic starter
Thanks:

frontman

Avatar
Date: 9/30/2011
Reply


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

Alexander

Avatar
Date: 9/30/2011
Reply


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

frontman

Avatar
Date: 9/30/2011
Reply


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

frontman

Avatar
Date: 9/30/2011
Reply


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


Вот сейчас собираю как раз)
Topic starter
Thanks:


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

loading
clippy