Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
05 октября 2024, 11:33

Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9

Как не попасть на «логические ошибки тестирования» и сделать робота правильно.

Заметка про то, как организовать логику робота, если Вы собираетесь вести большие тесты на свечных данных, а так поступают (или должны бы поступить) 95% всех, кто торгует роботами.

В общем, тема важная.

Основной её тейк такой: Если делаешь робота для тестов на свечках, старайся делать всю логику в событии завершения свечи.

И далее почему.

Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9 

1. На свечных данных можно много и быстро делать тесты.

Отдельно на этом остановлюсь. И Арбитражи, и скринеры, и ребалансировщики, и тесты на одном инструменте – всё это просто и быстро тестируется на свечных данных.

При этом, если использовать ленту сделок для тестов, сразу же можно напороться на увеличение сложности тестирования в десятки раз (а то и в сотни).

Поэтому, если у тебя не ХФТ, использовать надо для тестов свечи.

 

2. В OsEngine очень много событий низкого уровня, и захочется на них подписаться.

В рамках слоя создания роботов есть события, подходящие для создания логики на тестах. В основном это конечно же:

  1. Завершения свечи. CandleFinishedEvent.

И события низкоуровневые, которые возникают «между свечками» в том месте, где у нас нет данных! Это события:

  1. PositionOpeningSuccessEvent – открытие позиции. Событие вызовется «между свечками». И если внутри него начать покупать и продавать, случится логический баг.
  2. OrderUpdateEvent – обновление статуса ордера. Событие вызовется «между свечками». И если внутри него начать покупать и продавать, случится логический баг.
  3. NewTickEvent – новая сделка в ленте сделок. При тестировании на свечках в данное событие будет подаваться 4 трейда на каждую свечу по OHLC свечи, и само использование этого события в тестах на свечках – уже ошибка.

 

3. Хороший стиль – делать неторопливых роботов на событии завершения свечи.

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

Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9 

Удачных алгоритмов!

Комментарии открыты для друзей!

Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9

OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support

Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php

Бест-практикс. Делать в тестах на свечах всю логику в событии завершения свечи. Микроменеджмент позиций в OsEngine #9

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн