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

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

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

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

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

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
Комментарии