Продолжаем цикл «Сектора в алго». В прошлой статье разобрали SectorsSetBollingerMomentum: пробой полос Боллинджера с моментумом. Сегодня на очереди второй робот сборника: SectorsSetAlligatorTurtle. Та же секторальная рама, другой двигатель: классический черепаший пробой ценового канала плюс Аллигатор Билла Вильямса.
1) Торговая идея
Робот отвечает на те же два вопроса: ГДЕ торговать и КОГДА входить. «Где» решает тот же монитор секторов по среднему RSI: торговать разрешено только в топ-N сильнейших секторах (по умолчанию пять).
«Когда» решают два классических индикатора трендовой торговли. Первый — черепахи Ричарда Денниса: покупаем пробой верхней границы длинного ценового канала (канала Дончиана). Второй — Аллигатор Билла Вильямса: три сглаженные линии должны стоять в правильном порядке — губы выше зубов, зубы выше челюсти. Пасть открыта вверх, значит, тренд жив.
Итого: сильный сектор + открытая пасть Аллигатора + пробой длинного канала = вход в лонг.
2) Источники робота
Как и у первого робота: девять скринеров по секторам, 39 бумаг, таймфрейм 30 минут. Списки для брокера Т-Инвестиции разворачиваются кнопкой на вкладке Auto deploy, и в реале, и в тестере.
3) Индикаторы
На каждой бумаге каждого скринера четыре индикатора:
— Alligator (60 / 25 / 5): фильтр тренда. Три линии: Jaw (челюсть, 60), Teeth (зубы, 25), Lips (губы, 5). Вход возможен только тогда, когда цена выше всех трёх линий и они стоят в порядке Lips > Teeth > Jaw.
— PriceChannel длинный (14): канал входа. Пробой его верхней границы запускает покупку.
— PriceChannel короткий (20): канал выхода. По его нижней границе идёт трейлинг-стоп.
— RSI (длина 74): монитор секторов. В торговых условиях не участвует, только рейтинг.
4) Логика робота
Каждую закрытую свечу робот пересчитывает рейтинг секторов и проходит по всем бумагам. Для входа в лонг должны совпасть все условия:
— сектор бумаги в топ-N рейтинга;
— по бумаге нет позиции и открытых заявок; в секторе нет позиций (одна позиция на сектор); общий лимит позиций не достигнут;
— цена выше всех трёх линий Аллигатора, и линии стоят в порядке губы > зубы > челюсть;
— цена ещё под верхней границей длинного канала (проверка по прошлой свече: граница текущей перестраивается по её экстремумам).
Если всё сошлось, выставляется стоп-заявка на покупку по цене верхней границы длинного канала. Живёт заявка одну свечу; дальше идёт перевыставление, если сигнал актуален. Заявки айсберговые: объём разбивается на части.
За выход отвечает трейлинг-стоп по нижней границе короткого канала: каждую свечу он переставляется по актуальному значению, только в сторону прибыли. Пока тренд тянет, сидим в позиции; как только канал сломался вниз, стоп выносит.
Неторговые часы и выходные устроены как у первого робота: торгуем 10:00–18:00, заявки на вход вне этого окна отменяются, стопы позиций спят.
5) Исходный код в проекте
Робот лежит в открытом коде OsEngine: папка Robots, подпапка Sectors, файл SectorsSetAlligatorTurtle.cs. Структура та же, что у напарника: конструктор, авто-развёртывание, точки входа в логику, рейтинг секторов, торговая логика, расчёт объёма, монитор.
Ссылка на исходный код робота на Гитхабе: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/Sectors/SectorsSetAlligatorTurtle.cs
6) Настройки робота
Вкладка Base: режим On/Off, неторговые периоды, объём позиции (25% депозита), максимум позиций (4), айсберги. Настройки монитора: длина RSI (74), число топ-секторов (5), фильтр отбора бумаги внутри сектора (Strongest, то есть берём самую сильную по RSI).
Вкладка Indicators: длины линий Аллигатора (60 / 25 / 5), длина длинного канала (14), длина короткого канала (20).
Вкладка Auto deploy: портфель, таймфрейм, кнопка развёртывания.
Дефолты найдены оптимизацией в OsOptimizer на истории 2015–2026. Забавный факт: оптимизатор увёл длинный «черепаший» канал с классических 100 свечей до 14: на 30-минутках быстрый пробой работает лучше длинного.
7) Запуск робота в тестере
Всё как у первого робота. Сет данных Set_SectorsMoex30Min2015 скачан через OsData. В тестере выбираем сет, добавляем робота, на вкладке Auto deploy жмём Deploy tester securities. Затем включаем режим On и жмём старт. Вкладка Monitor показывает рейтинг секторов и текущие бумаги In top.
8) Один из вариантов тестирования
Стандартный прогон: все бумаги, 30 минут, история 2015–2026, комиссия 0,04%, 25% депозита на позицию, максимум 4 позиции, топ-5 секторов, фильтр Strongest.
На этом варианте робот сделал +884% за одиннадцать лет, 3 741 сделку, максимальная просадка всего −7,5%. Черепахи медленные, но доходят.
В следующей, заключительной статье цикла соберём всё вместе: монитор секторов, парковку в TMON в боковике и совместный запуск обоих роботов.
Подписывайтесь, будет интересно! Удачных алгоритмов!
https://smart-lab.ru/company/os_engine/blog/1024149.php
Скачать OsEngine: https://github.com/AlexWan/OsEngine Официальная поддержка OsEngine в MAX:https://max Канал Научный трейдинг в MAX:https://max.ru/ Поддержка OsEngine в Телеграм:https://t.me/osengine_official_support Канал Научный трейдинг (Bad Quant) в Телеграм:https://t.me/bad_quant
https://www.tbank.ru/invest/
Еще по теме:
Подпишитесь на нашу рассылку, чтобы получать уведомления о новых обновлениях, информации, скидках и т. д.