Стратегия Bollinger Breakout - это количественная стратегия торговли, которая отслеживает колебания цен на акции с использованием полос Боллинджера, чтобы определить, когда цены выходят из своего нормального диапазона волатильности и генерируют торговые сигналы.
Стратегия рассчитывает среднюю полосу, верхнюю полосу и нижнюю полосу с использованием 20-дневных цен закрытия.
Когда цены закрытия акций проходят ниже нижней полосы, это сигнализирует о том, что цены вышли из нормального диапазона волатильности и начинают новый восходящий тренд. Стратегия будет длинной в этот момент на основе кода. Стоп-лосс устанавливается на самом низком уровне из последних 10 баров, в то время как прибыль устанавливается на самом высоком уровне из последних 10 баров.
Когда цены выходят выше верхней полосы, это сигнализирует о начале нового нисходящего тренда. Стратегия будет идти коротко здесь. Стоп-лосс - это 10-барный самый высокий уровень, а прибыль - 10-барный самый низкий уровень.
Стратегия эффективно использует полосы Боллинджера для выявления изменений тренда и диапазона волатильности, вступая рано, когда цены, вероятно, обратятся.
Основными преимуществами этой стратегии являются:
Эффективно определяет точки изменения тренда с помощью полос Боллинджера, эффективно улавливая краткосрочные тенденции.
Уменьшенный риск привлечения средств из-за стоп-лосса, установленного на последнем минимальном колебательном минимуме, что ограничивает потери.
Приобретение прибыли, установленной на недавнем самом высоком уровне, позволяет максимизировать прибыль от односторонних движений тренда.
Простая и понятная логика, легко понятная и модифицируемая, подходящая для начинающих торговцев.
Также следует учитывать некоторые риски:
Боллингерские полосы очень чувствительны к изменениям волатильности, ненадлежащие параметры могут вызывать ложные сигналы.
Высокие колебания цены акций, стоп-лосс запускается слишком рано, не в состоянии ездить по тренду.
Сигнальная задержка может привести к чрезмерной нереализованной прибыли.
Непредсказуемость рынка затрудняет получение прибыли/остановку убытков, требуется ручное вмешательство для уточнения параметров.
Некоторые способы дальнейшего совершенствования стратегии:
Добавьте другие индикаторы для подтверждения сигналов, например, пик объема.
Динамически регулируйте параметры Боллинджера, чтобы соответствовать изменяющейся волатильности.
Улучшить стоп-лосс/прибыль, например, отставание стоп-лосса, поэтапный прибыль.
Испытать параметры для различных запасов, чтобы найти наилучшее соответствие.
Внедрить машинное обучение для автоматической оптимизации параметров.
Стратегия Bollinger Breakout имеет четкую логику для выявления обратных сдвигов. Ограниченный риск снижения позволяет улавливать краткосрочные тенденции. Но также имеет ограничения целевой прибыли и проблемы с задержкой сигнала. Может быть улучшена с помощью настройки параметров, лучшего стоп-лосса / прибыли, добавления фильтров и т. Д. Подходит для краткосрочной торговли акциями для отслеживания среднесрочных тенденций.
/*backtest start: 2023-11-14 00:00:00 end: 2023-12-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // Initial settings strategy("Bulle de bollinger", overlay = true) // Parameter Settings mdl = sma(close, 20) dev = stdev(close, 20) upr = mdl + 2*dev lwr = mdl - 2*dev // Plot plot(mdl, color = color.green) // Plot moving average p1 = plot(upr, color = color.red) // Plot Upper_band p2 = plot(lwr, color = color.green) // Plot lower band fill(p1, p2, color = color.blue) // Fill transparant color between the 2 plots // Strategy entry & close if open[1] < lwr[1] and close[1] < lwr[1] // Previous price lower than lower band and current close is higher than lower band stop_level = lowest(10) profit_level = highest(10) strategy.entry(id = 'bb_buy', long = true) strategy.exit("TP/SL", "bb_buy", stop=stop_level, limit=profit_level) if open[1] > upr[1] and close[1] > upr // Previous price is higher than higher band & current close is lower the higher band stop_level = highest(10) profit_level = lowest(10) //strategy.entry(id = 'bb_sell', long = false) //strategy.exit("TP/SL", "bb_sell", stop=stop_level, limit=profit_level)