← Назад

когда вызывать _strategy.Start()

В примере SampleHistoryTesting, _strategy.Start() вызывается сразу после _manager.Start.

Т.к. _manager.Start запускает цикл в параллельном потоке, возможна ситуация, при которой стратегия пропустит первые сделки в истории.

Т.е., наверное, правильнее вызывать _strategy.Start в обработчике события _manager.StateChanged

Правильна ли моя догадка, или я не понимаю логики старта тестирования?

Комментарии (4)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

anebotov: В примере SampleHistoryTesting, _strategy.Start() вызывается сразу после _manager.Start.

Т.к. _manager.Start запускает цикл в параллельном потоке, возможна ситуация, при которой стратегия пропустит первые сделки в истории.

Т.е., наверное, правильнее вызывать _strategy.Start в обработчике события _manager.StateChanged

Правильна ли моя догадка, или я не понимаю логики старта тестирования?

Правильно. А если просто поменять местами?

anebotov
anebotov Автор

Mikhail Sukhov: Правильно. А если просто поменять местами?


            // переводим стратегию в режим запуск
            // это необходимо делать только после тестирования
            _strategy.Start();

ну я побоялся в связи с комментарием со словом "только". но если так можно, тогда данный комментарий не понятен.

можно поменять местами? это было бы действительно удобнее )))

Mikhail Sukhov
Mikhail Sukhov

anebotov:

Mikhail Sukhov: Правильно. А если просто поменять местами?

        // переводим стратегию в режим запуск
        // это необходимо делать только после тестирования
        _strategy.Start();
> ну я побоялся в связи с комментарием со словом "только". но если так можно, тогда данный комментарий не понятен.
> 
> можно поменять местами? это было бы действительно удобнее )))

Я по менял строчки места, ничего не упало. Ок, комментарий уберу.
Mikhail Sukhov
Mikhail Sukhov

Mikhail Sukhov: Я по менял строчки места, ничего не упало. Ок, комментарий уберу.

Так, я понял почему сделал строчки именно в таком порядке. Чтобы в Strategy.OnRunning был уже проинициализированный ITrader.