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

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


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

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

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

 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: Хм... Оставить ее запущенной.. Хм.. Ресурсы ни как кушать не будет?

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();

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