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


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


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

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

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

Теги:


Спасибо:




11 Ответов
frontman

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


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

Alexander

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


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

frontman

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


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

Alexander

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


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


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

frontman

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


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

Alexander

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


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


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

frontman

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


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

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

Данные не перестают поступать. А если так
Код
 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
Ответить


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

frontman

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


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


Вот сейчас собираю как раз)
Автор топика
Спасибо:


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

loading
clippy