Стратегия моментума и волатильности на основе полос Боллинджера
Обзор
Данная стратегия использует сравнение внутренней и внешней полосы Боллинджера для определения тренда и отслеживает его с помощью импульсного индикатора, относясь к стратегиям следования за трендом. Когда волатильность внутри канала меньше, чем за его пределами, стратегия генерирует сигнал нового направления тренда и открывает позицию. Стоп-лосс устанавливается на основе множителя ATR, а тейк-профит — на основе соотношения риска и вознаграждения по множителю ATR.
Принцип
Стратегия состоит из следующих основных частей:
-
Настройка полос Боллинджера: большая полоса длиной 40 периодов, малая — 20 периодов, ширина канала равна 2 стандартным отклонениям.
-
Определение «взрыва» канала: если верхняя граница большой полосы ниже верхней границы малой, а нижняя граница большой полосы выше нижней границы малой, это указывает на рост волатильности и генерирует сигнал нового направления тренда.
-
Импульсный индикатор: 14-периодная EMA от 240-периодной скользящей средней для определения направления тренда.
-
Стоп-лосс и тейк-профит на основе ATR: расстояние стоп-лосса составляет 14-кратный ATR, тейк-профит — 1,5-кратное расстояние стоп-лосса.
Стратегия сначала проверяет, произошёл ли «взрыв» канала. Если да, то определяется направление импульса, чтобы решить, открывать длинную или короткую позицию. После входа управление стоп-лоссом и тейк-профитом осуществляется с помощью множителей ATR.
Преимущества
-
Использование двойной структуры полос Боллинджера позволяет сравнивать волатильность в разных временных периодах и определять моменты начала тренда.
-
Применение импульсного индикатора для определения направления тренда помогает избежать ложных сигналов на боковом рынке.
-
Управление стоп-лоссом и тейк-профитом на основе ATR позволяет корректировать расстояние в зависимости от рыночной волатильности.
-
Разумное соотношение риска и вознаграждения, не слишком агрессивное и не слишком консервативное.
Риски
-
На боковом рынке без чёткого тренда стратегия может давать ложные сигналы. Эту проблему можно уменьшить путём оптимизации параметров импульсного индикатора.
-
Стоп-лосс на основе ATR может быть слишком консервативным; стоит протестировать другие методы, например, скользящий стоп.
-
Фиксированные множители стоп-лосса и тейк-профита могут не подходить для всех инструментов; желательно сделать их настраиваемыми.
-
Эффективность двойных полос Боллинджера для определения точек разворота тренда под вопросом; можно протестировать другие канальные индикаторы, например, канал Кельтнера.
Направления оптимизации
-
Протестировать различные параметры импульсного индикатора для поиска наилучшей комбинации.
-
Попробовать разные способы установки стоп-лосса, например, скользящий стоп, адаптивный ATR и т.д.
-
Сделать множители стоп-лосса и тейк-профита настраиваемыми для оптимизации под разные инструменты и рыночные условия.
-
Протестировать эффективность различных канальных индикаторов, выбрав более стабильный.
-
Рассмотреть возможность добавления управления реинвестированием для повышения контроля над прибылью.
-
Фильтровать точки входа на основе волн, времени и т.п. для повышения процента успешных сделок.
Заключение
Общая логика стратегии ясна, и её главное преимущество — использование двойных полос Боллинджера для определения моментов начала тренда. Однако требуется дальнейшая оптимизация и тестирование методов стоп-лосса, канальных индикаторов, управления рисками и т.д., чтобы параметры стратегии стали более адаптивными и стабильно работали в различных рыночных условиях. В целом, стратегия обладает хорошими преимуществами и потенциалом для развития, заслуживая углублённого изучения.
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © kasaism
//@version=4
// strategy(title="[EURUSD60] BB Expansion Strategy", shorttitle="[EURUSD60] BBEXP",overlay=true, max_bars_back=5000, max_labels_count=500)- 1

