Теперь усложним пример ThreeSoldier, добавим в него механизм адаптации под усреднённую внутридневную волатильность. Получим ThreeSoldiersVolatilityAdaptive. Делаем силу сигнала одинаковой на всю глубину теста, чтобы и 5ть, и 10ть лет сигнал был одной силы.
Базовая идея паттерна «Три солдата» заключается в том, что мы должны найти на графике три растущих свечи подряд:
Собственно, данный робот всё ещё именно это и делает, ищет три подряд растущих (и падающих тоже, тогда это «Три вороны») на определённый процент свечи и входит после них в тренд. Между тем, адаптация под актуальную волатильность очень важна, ибо от этого может очень многое зависеть. И без адаптации под волатильность лучше вообще ничего не торговать.
1. Пример в проекте.
Робот ThreeSoldiersVolatilityAdaptive находится внутри проекта OsEngine. Открываем его и идём вот сюда:
2. Параметры робота.
1. Regime – режим работы.
a. Off – Выключен.
b. On – Включен и будет входить и в лонг и в шорт.
c. OnlyLong – Включен и будет входить только в лонг.
d. OnlyShort – Включен и будет входить только в шорт.
e. OnlyClosePosition – сможет только закрыть позицию, а входить не будет.
2. Volume type – режим выбора объёма.
a. Contracts – кол-во контрактов инструмента.
b. Contract currency – валюта контракта.
c. Deposit percent – процент от депозита.
3. Volume – значение объёма. Что именно, зависит от предыдущего пункта. В случае Contracts тут указывается объём инструмента. В случае Contract currency здесь указывается кол-во рублей или долларов, которыми нужно войти. В случае с Deposit percent здесь указывается % от общего депозита, которым нужно войти в контракт.
4. Asset in portfolio – тут нужно указывать название валюты, которое будет использовано для расчёта объёма, если Вы выбрали тип объёма “Deposit percent”. В тестере оставляем «Prime». На крипте это обычно “USDT”. В АЛОР это «RUB».
5. Slippage % - проскальзывание для цен ордера.
6. Height soldiers % - Общая высота трёх свечек, после которой считаем паттерн сформированным.
7. Min height one soldier % - Минимальная высота тела каждой свечи в отдельности, после которой считаем паттерн сформированным.
8. Profit % from height of pattern – % от общей высоты паттерна, который будет взят за величину профита.
9. Stop % from height of pattern – % от общей высоты паттерна, который будет взят за величину стопа.
10. Days volatility adaptive – кол-во дней, за которое мы берём усреднённую волатильность.
11. Height soldiers volatility percent – какая часть в % от усреднённой внутридневной волатильности у нас будет новой высотой всех трёх свечей.
12. Min height one soldier volatility – какая часть в % от усреднённой внутридневной волатильности у нас будет новой минимальной высотой каждой отдельной свечи в паттерне.
3. Логика входа и выхода из позиции.
ЛОНГ
Вход, если за три свечи мы набрали общую величину движения вверх, «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».
4. Логика адаптации размерностей сигнальных свечей под волатильность.
Сама логика адаптации вызывается утром каждого дня. В роботе этот метод AdaptSoldiersHeight:
Всего там три этапа:
1. Считаем внутридневную волатильность в процентах за указанное кол-во дней.
2. Усредняем это значение.
3. Рассчитываем новые значения высоты паттерна и отдельных свечек в нём.
5. Что с профитом?
Те настройки, которые указаны выше, выдают вот такую эквити:
Удачных алгоритмов!
Поддержка OsEngine: https://t.me/osengine_official_support
Комментарии