переход на 3.2.2, OnProcess отсутствует
Atom Ответить
24.06.2011


Не могу догадаться.. Подскажите, пожалуйста.

У меня на версии 3.1.10 были стратегии ActionStrategy и для них вызывался
Код

protected override StrategyProcessResults OnProcess()
{
// если стратегия в процессе остановки;
if (ProcessState == StrategyProcessStates.Stopping)
{
...
return StrategyProcessResults.Stop;
}
}


Сейчас этого метода нет. Что делать? Как по задумке сейчас надо отписываться от событий и т.п. при остановке стратегии?

Теги:


Спасибо:




7 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.06.2011
Ответить


Greene-nsk Перейти
Что делать? Как по задумке сейчас надо отписываться от событий и т.п. при остановке стратегии?


Так же как и раньше, через OnStopping
Спасибо:

Greene-nsk

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


а как тогда временно отменить остановку? у меня это выглядело так:

Код

protected override StrategyProcessResults OnProcess()
{
// если стратегия в процессе остановки
if (ProcessState == StrategyProcessStates.Stopping)
{
// отменяем стратегии исполнения заявок
if (_processOrdersStrategy != null)
{
switch (_processOrdersStrategy.ProcessState)
{
case StrategyProcessStates.Runned:
_processOrdersStrategy.Stop();
return StrategyProcessResults.Continue;
case StrategyProcessStates.Stopping:
return StrategyProcessResults.Continue;
}
}

Base.Log.Out("Стратегия " + WealthStrategy.StrategyID + " ОСТАНОВЛЕНА.", LogLevel.Notice);
return StrategyProcessResults.Stop;
}
...
}



У OnStopping нет возвращаемого значения. Там можно как-то отложить остановку?
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.06.2011
Ответить


Greene-nsk Перейти
а как тогда временно отменить остановку? у меня это выглядело так:

У OnStopping нет возвращаемого значения. Там можно как-то отложить остановку?


В новой документации написано, что и как.
Спасибо:

Greene-nsk

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


В том то и дело, что нет ни одного примера использования OnStopping(), а тем более его прерывания
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.06.2011
Ответить


Greene-nsk Перейти
В том то и дело, что нет ни одного примера использования OnStopping(), а тем более его прерывания


Я имел ввиду про OnProcess
Спасибо:

Greene-nsk

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


Да, отмена остановки в OnProcess описана в справке.
НО,

1. OnProcess() начиная с 3.2 теперь только у TimeFrameStrategy. Как отменять у других стратегий?
2. OnProcess() начиная с 3.2 не вызывается после вызова Stop() стратегии у TimeFrameStrategy (бага?). В 3.1.10 вызывался.
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 24.06.2011
Ответить


Greene-nsk Перейти
Да, отмена остановки в OnProcess описана в справке.
НО,

1. OnProcess() начиная с 3.2 теперь только у TimeFrameStrategy. Как отменять у других стратегий?
2. OnProcess() начиная с 3.2 не вызывается после вызова Stop() стратегии у TimeFrameStrategy (бага?). В 3.1.10 вызывался.


1. Через Stop... Прочитайте в документации что есть TimeFrameStrategy.
2. Да, бага, будем лечить.
Спасибо:


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

loading
clippy