переход на 3.2.2, OnProcess отсутствует

переход на 3.2.2, OnProcess отсутствует
Atom
24.06.2011
Greene-nsk


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

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


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

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


Теги:


Спасибо:


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