Трендовый робот-скринер, торгующий на пробой наклонного канала индикатора ZigZag с фильтрацией по группам волатильности.
Как выглядит индикатор ZigZag Channel:

Схема работы робота:

Логика открытия.
1. Распределение инструментов по группам волатильности.
Рассчитывается движение в % за последние N свечей (параметр Volatility cluster lookBack).
Инструменты сортируются по возрастанию волатильности и делятся на 3 группы:
Группа 1 (Cluster 1) - 33% самых низковолатильных инструментов ("Штиль").
Группа 2 (Cluster 2) - 33% инструментов со средней волатильностью ("Норма").
Группа 3 (Cluster 3) - 34% самых высоковолатильных инструментов ("Взрыв").
В данном роботе нас инстресует группа 1, но есть возможность выбрать и другую группу.
2. Условия для входа в LONG.
Инструмент должен принадлежать выбранной группе волатильности.
Цена закрытия текущей свечи выше верхней границы канала ZigZag.
Фильтры для входа.
1. Фильтр по времени.
Робот не торгует в неторговый период, указанный в парметрах.
2. Фильтр по простой скользящей средней.
Текущее значение SMA должно быть больше предыдущего (тренд вверх).
В коде используется жестко заданная SMA с периодом 150 (не настраивается!).
Логика выхода.
По противоположной границе канала. Если цена закрытия свечи ниже нижней границы канала ZigZag.
Параметры робота.

1. Regime - Режим работы (On/Off)
2. Iceberg orders count - Количество ордеров в айсберге
3. Max positions - Максимальное количество открытых позиций по всем инструментам одновременно
4. Volatility cluster to trade - Группа волатильности для торговли (1, 2 или 3)
5. Volatility cluster lookBack - Количество свечей для расчета волатильности по группам
6. Show last clusters - Кнопка просмотра текущего распределения инструментов по группам
7. ZigZag channel length - Длина (чувствительность) ZigZag для построения канала
8. Non trade periods - Кнопка настройки неторговых периодов
9. Volume type - Тип объема:
Deposit percent - % от депозита
Contracts - в контрактах
Contract currency - в валюте контракта
10. Volume - Объем для входа:
Если Deposit percent - указывается процент
Если Contracts - количество контрактов
Если Contract currency - сумма в валюте
11. Asset in portfolio - Актив в портфеле для расчета:
Prime - общий портфель с учетом P&L
Или конкретная валюта (Rub, rub и т.д.)
Как выглядит таблица распределения инструментов по группам:

Настройки неторговых периодов.
Общие неторговые периоды:

1. Если галочка стоит, то неторговый период включен.
2. Время начала неторгового периода.
3. Время окончания неторгового периода.
Настройка для каждого дня недели:

Устанавливаем галочку по каким дням хотим торговать. И также можно настроить отдельно неторговые периоды.
Преднастройки:

1. MOEX Акции - стандартные настройки для фондового рынка
2. MOEX Фьючерсы - стандартные настройки для срочного рынка
Результаты тестирования.
Эквити:

Статистика:

Удачных алгоритмов!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Канал Научный трейдинг (Bad Quant): https://t.me/bad_quant
Комментарии