rss

Профиль компании

Финансовые компании

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

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

1) Торговая идея 

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

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

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

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

 

2) Источники робота

Робот держит девять скринеров — по одному на каждый сектор из нашего списка: нефтегаз, финансы, металлы, потребсектор, электроэнергетика, транспорт, телекомы, химия, ИТ. Внутри каждого скринера свои бумаги, всего 39.

 

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

 

3) Индикаторы

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

 

4) Логика робота

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

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

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

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

 

5) Исходный код в проекте

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

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

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

 

6) Настройки робота

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

Вкладка 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 и потом проверены руками на тестере.

 

7) Запуск робота в тестере

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

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

 

8) Один из вариантов тестирования

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

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

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

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

Сектора в алго №3: SectorsSetBollingerMomentum — пробой Боллинджера в сильнейших секторах
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

Сектора в алго №3: SectorsSetBollingerMomentum — пробой Боллинджера в сильнейших секторах
https://www.tbank.ru/invest/

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • OsEngine
4К | ★4

теги блога OS_Engine_team

....все тэги



UPDONW
Новый дизайн