Главная Сектора в алго №3: SectorsSetBollingerMomentum — пробой Боллинджера в сильнейших секторах

Сектора в алго №3: SectorsSetBollingerMomentum — пробой Боллинджера в сильнейших секторах

Сектора в алго №3: SectorsSetBollingerMomentum — пробой Боллинджера в сильнейших секторах
  • Источник smart-lab Сегодня 15:13
  • 4
  • Нейтральная окраска записи

Продолжаем цикл «Сектора в алго». Базу мы собрали: девять секторов, 39 бумаг. Теперь разберём первого робота сборника. SectorsSetBollingerMomentum торгует импульсный пробой полос Боллинджера, но только внутри самых сильных секторов рынка.

Робот отвечает на два вопроса: ГДЕ торговать и КОГДА входить.

Где — решает монитор секторов. На каждой бумаге каждого сектора считается RSI. Средний RSI сектора — это его сила прямо сейчас. Сектора сортируются по силе, и торговать разрешено только в топ-N (по умолчанию — в пяти). Слабые сектора робот игнорирует полностью.

Когда — решает импульсный пробой. Внутри разрешённого сектора робот ждёт, когда бумага разгонится: моментум выше порога, цена ушла выше середины канала Боллинджера, но ещё не над верхней полосой. Тогда на верхнюю полосу выставляется стоп-заявка на покупку: сработает — значит, пробой состоялся.

Итого: сильный сектор + разогнавшаяся бумага + подтверждённый пробой = вход в лонг.

 

 

Списки разворачиваются автоматически: кнопка на вкладке Auto deploy сама прописывает стандартные бумаги по секторам, в тестере — из выбранного сета данных. Таймфрейм работы — 30 минут.

 

На каждой бумаге каждого скринера крутятся четыре индикатора: 1) Bollinger (штатно длина 40, отклонение 2.1) — канал входа и выхода. Верхняя полоса — цена активации входа; По нижней полосе идёт трейлинг-стоп. 2) Momentum (штатно период 65) — фильтр импульса: вход разрешён, только если моментум выше порога (по умолчанию 101.1). 3) Envelop (длина 170, отклонение 1.6) — фильтр: если цена ниже верхней линии Envelop, лонг запрещён. 4) RSI (длина 64) — монитор секторов. В торговых условиях не участвует, только рейтинг.

 

Каждую закрытую свечу робот пересчитывает рейтинг секторов и проходит по всем бумагам. Для входа в лонг должны совпасть все условия: — сектор бумаги в топ-N рейтинга; — по бумаге нет позиции и открытых заявок, в секторе нет позиций (жёстко одна позиция на сектор), общий лимит позиций не достигнут; — моментум выше порога; — цена выше середины канала Боллинджера, но ниже верхней полосы; — цена не ниже верхней линии Envelop.

Если всё сошлось, то выставляется стоп-заявка на покупку по цене верхней полосы. Живёт она ровно одну свечу: не сработала — умирает, и по новой свече выставляется заново, если сигнал ещё актуален. Заявки айсберговые: крупный объём разбивается на части, чтобы не двигать стакан.

Выход — трейлинг-стоп по линии Боллинджера (по умолчанию — по нижней полосе). Каждую свечу стоп переставляется по актуальному значению линии, только в сторону прибыли. Пока тренд тянет — сидим, развернулся — стоп выносит.

В неторговые часы (по умолчанию торгуем с 10:00 до 18:00, выходные — мимо) заявки на вход отменяются, а стопы открытых позиций просто спят — утром всё взводится обратно.

 

Робот лежит в открытом коде OsEngine: папка Robots, подпапка Sectors, файл SectorsSetBollingerMomentum.cs. Рядом — его напарник SectorsSetAlligatorTurtle.cs и старший родственник SectorsKeltner.cs.

Код разбит на смысловые блоки: конструктор и параметры, авто-развёртывание, точки входа в логику, рейтинг секторов, торговая логика, расчёт объёма, монитор. Всё читается сверху вниз, как книга — берите и разбирайте.

Ссылка на исходный код робота на ГитХабе: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/Sectors/SectorsSetBollingerMomentum.cs

 

Параметры разложены по вкладкам.

Вкладка Base: режим On/Off, неторговые периоды (кнопка с диалогом), объём позиции (по умолчанию 25% депозита на позицию), максимум позиций (4), параметры айсбергов; настройки монитора: длина RSI (64), сколько топ-секторов торгуем (5), фильтр отбора бумаги внутри сектора (Strongest — берём самую сильную по RSI).

Вкладка Indicators: длина и отклонение Боллинджера (40 и 2.1), период и порог моментума (65 и 101.1), линия выхода (Down), длина и отклонение Envelop (170 и 1.6).

Вкладка Auto deploy: номер портфеля, таймфрейм и кнопка развёртывания стандартных списков.

Все стандартные значения взяты не с потолка, а найдены оптимизацией в OsOptimizer на истории 2015–2026 и потом проверены руками на тестере.

 

Порядок такой. Сначала через OsData скачиваем сет данных (Set_SectorsMoex30Min2015, 30-минутки с 2015 года). В тестере выбираем сет, добавляем робота, на вкладке Auto deploy жмём Deploy tester securities — источники заполнятся сами. Режим — On. Старт.

В окне параметров есть вкладка Monitor: таблица всех бумаг по секторам с RSI, рейтингом и отметкой In top. По ней видно, где робот сейчас «охотится». Кнопка Chart в строке открывает график бумаги одним кликом.

 

Стандартный прогон: весь набор бумаг, таймфрейм 30 минут, история с января 2015 по сентябрь 2026, комиссия 0.04%, объём 25% депозита на позицию, максимум 4 позиции, топ-5 секторов, фильтр Strongest.

На этом варианте робот сделал +442% за одиннадцать лет, 2325 сделок, максимальная просадка −10%. Кривая капитала ровная, без длинных провалов — и это только один из двух роботов комплекта. В следующей статье разберём второго: SectorsSetAlligatorTurtle, черепаший пробой с Аллигатором Вильямса.

Подписывайтесь, будет интересно!

Удачных алгоритмов!

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/

Вам также может понравиться

НОВОСТНАЯ РАССЫЛКА

Подпишитесь на нашу рассылку, чтобы получать уведомления о новых обновлениях, информации, скидках и т. д.

отписаться