Продолжаем усложнять пример ThreeSoldier, о котором говорили некоторое время назад. Теперь добавим в него механизм адаптации под усреднённую внутридневную волатильность. Получим ThreeSoldiersVolatilityAdaptive. Делаем силу сигнала одинаковой на всю глубину теста, чтобы и 5ть, и 10ть лет назад сигнал был одной силы.
Напомню, базовая идея паттерна «Три солдата» заключается в том, что мы должны найти на графике три растущих свечи подряд:
Собственно, данный робот всё ещё именно это и делает, ищет три подряд растущих (и падающих тоже, тогда это «Три вороны») на определённый процент свечи и входит после них в тренд. Между тем, адаптация под актуальную волатильность очень важна, ибо от этого может очень многое зависеть. И без адаптации под волатильность лучше вообще ничего не торговать.
Робот ThreeSoldiersVolatilityAdaptive находится внутри проекта OsEngine. Открываем его и идём вот сюда:
Вход, если за три свечи мы набрали общую величину движения вверх, «Height soldiers %». При этом каждая отдельная свеча была размером не меньше «Min height one soldier %».
Выход привязан к общему размеру величины движения за 3 свечи. Профит равен настройке «Profit % from height of pattern», при этом берётся общая величина движения за 3 свечи и определённый процент от этого движения, который откладывается в виде профита. Стоп равен настройке «Stop % from height of pattern».
Вход, если за три свечи мы набрали общую величину движения вниз, «Height soldiers %». При этом каждая отдельная свеча была размером не меньше «Min height one soldier %».
Выход привязан к общему размеру величины движения за 3 свечи. Профит равен настройке «Profit % from height of pattern», при этом берётся общая величина движения за 3 свечи и определённый процент от этого движения, который откладывается в виде профита. Стоп равен настройке «Stop % from height of pattern».
Сама логика адаптации вызывается утром каждого дня. В роботе этот метод AdaptSoldiersHeight:
Всего там три этапа:
На сбербанке всё по-прежнему прекрасно. Те настройки, которые указаны выше, выдают вот такое:
ВАЖНО!!! Сделок мало — поэтому не забывайте про кросс-тесты. Я их уже провёл на MOEX TOP 30, и там всё более чем хорошо. Напишу про это чуть позже. Но Вы должны сами за этим следить и понимать важность тестов редких паттернов (как этот) на множестве инструментов. За робастностью надо следить...
Удачных алгоритмов!
Комментарии открыты для друзей!
Пост из серии «Свечи и преобразование ленты сделок».
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