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


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


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

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

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

Теги:


Спасибо:




1 2  >
frontman

Фотография
Дата: 30.09.2011
Ответить


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

Alexander

Фотография
Дата: 30.09.2011
Ответить


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

frontman

Фотография
Дата: 30.09.2011
Ответить


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

Alexander

Фотография
Дата: 30.09.2011
Ответить


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


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

frontman

Фотография
Дата: 30.09.2011
Ответить


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

Alexander

Фотография
Дата: 30.09.2011
Ответить


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


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

frontman

Фотография
Дата: 30.09.2011
Ответить


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

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

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

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

Спасибо:

frontman

Фотография
Дата: 30.09.2011
Ответить


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

Alexander

Фотография
Дата: 30.09.2011
Ответить


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

frontman

Фотография
Дата: 30.09.2011
Ответить


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

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy