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

Суть его заключается в том, что он входит в позицию, когда видит свечу размером в определённый % от усреднённой внутридневной волатильности. Актуально его пробовать тестировать и торговать с типами свечей RangeAdaptive и ReversAdaptive, чтобы размер свечи тоже был адаптивным.
Таким образом можно оттестировать и торговать импульсы, завязанные на волатильность инструментов:

1. Пример в проекте.
Робот VolatilityAdaptiveCandlesTrader находится внутри проекта OsEngine. Открываем его и идём вот сюда:
2. Параметры свечек.
Тесты этого робота нужно проводить на тиковых данных, чтобы использовать кастомные типы свечек.
Я для тестов включил вот такие свечи:
Это реверсивные адаптивные под волатильность свечи, которые регулируют свою высоту в зависимости от волатильности и закрываются после значимого отката, т.е. иногда формируют очень длинные, безоткатные свечи.
Почитать о них можно здесь: https://smart-lab.ru/company/os_engine/blog/1033315.php
3. Параметры робота.

1. Regime – режим работы.Off – Выключен.
- On – Включен и будет входить и в лонг и в шорт.
- OnlyLong – Включен и будет входить только в лонг.
- OnlyShort – Включен и будет входить только в шорт.
- OnlyClosePosition – сможет только закрыть позицию, а входить не будет.
2. Slippage % — проскальзывание для цен ордера.
3. Height signal candle % — Общая высота свечи, после которой считаем, что можно входить в позицию.
4. Days volatility adaptive – кол-во дней, за которое мы берём усреднённую волатильность.
5. Height trail stop volatility percent – какая часть в % от усреднённой внутридневной волатильности у нас будет новым значением трейлинг стопа после адаптации под волатильность.
6. Height signal candle volatility – какая часть в % от усреднённой внутридневной волатильности у нас будет новой высотой сигнальной свечи после адаптации под волатильность.
7. Volume type – режим выбора объёма.Contracts – кол-во контрактов инструмента.
- Contract currency – валюта контракта.
- Deposit percent – процент от депозита.
8. Volume – значение объёма. Что именно, зависит от предыдущего пункта. В случае Contracts тут указывается объём инструмента. В случае Contract currency здесь указывается кол-во рублей или долларов, которыми нужно войти. В случае с Deposit percent здесь указывается % от общего депозита, которым нужно войти в контракт.
9. Asset in portfolio – тут нужно указывать название валюты, которое будет использовано для расчёта объёма, если Вы выбрали тип объёма “Deposit percent”. В тестере оставляем «Prime». На крипте это обычно “USDT”.
10. Trail stop % — Размер трейлинг стопа.
4. Логика входа и выхода из позиции.
ЛОНГ
Вход, если за свечу мы набрали общую величину движения вверх, «Height signal candle %».
ШОРТ
Вход, если за свечу мы набрали общую величину движения вниз, «Height signal candle %».
Выход осуществляется по трейлинг-стопу, перевыставляющемуся на завершении каждой свечи, от клоза на величину Trail stop %.
5. Логика адаптации размерностей сигнальных свечей под волатильность.
Сама логика адаптации вызывается утром каждого дня. В роботе этот метод AdaptSoldiersHeight:
Всего там три этапа:
- Считаем внутридневную волатильность в процентах за указанное кол-во дней.
- Усредняем это значение.
- Рассчитываем новые значения высоты сигнальной свечи и стопа.
6. Что с профитом?
Потенциал какой-то есть, но явно надо не один день провести в тестере и сделать кросс-тесты потом, чтобы убедиться, что настройки волатильности робастные. На сбере выглядит это так:

Удачных алгоритмов!
Комментарии открыты для друзей!
Пост из серии «Свечи и преобразование ленты сделок».

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