← Zurück

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

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

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

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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

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

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

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

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

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

anebotov
anebotov Autor

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


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

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

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

Mikhail Sukhov
Mikhail Sukhov

anebotov:

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

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

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

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

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