Стратегия Bollinger Breakout акций

Автор:Чао Чжан, Дата: 2023-12-15 16:20:57
Тэги:

img

Обзор

Стратегия Bollinger Breakout - это количественная стратегия торговли, которая отслеживает колебания цен на акции с использованием полос Боллинджера, чтобы определить, когда цены выходят из своего нормального диапазона волатильности и генерируют торговые сигналы.

Логика стратегии

Стратегия рассчитывает среднюю полосу, верхнюю полосу и нижнюю полосу с использованием 20-дневных цен закрытия.

Когда цены закрытия акций проходят ниже нижней полосы, это сигнализирует о том, что цены вышли из нормального диапазона волатильности и начинают новый восходящий тренд. Стратегия будет длинной в этот момент на основе кода. Стоп-лосс устанавливается на самом низком уровне из последних 10 баров, в то время как прибыль устанавливается на самом высоком уровне из последних 10 баров.

Когда цены выходят выше верхней полосы, это сигнализирует о начале нового нисходящего тренда. Стратегия будет идти коротко здесь. Стоп-лосс - это 10-барный самый высокий уровень, а прибыль - 10-барный самый низкий уровень.

Стратегия эффективно использует полосы Боллинджера для выявления изменений тренда и диапазона волатильности, вступая рано, когда цены, вероятно, обратятся.

Анализ преимуществ

Основными преимуществами этой стратегии являются:

  1. Эффективно определяет точки изменения тренда с помощью полос Боллинджера, эффективно улавливая краткосрочные тенденции.

  2. Уменьшенный риск привлечения средств из-за стоп-лосса, установленного на последнем минимальном колебательном минимуме, что ограничивает потери.

  3. Приобретение прибыли, установленной на недавнем самом высоком уровне, позволяет максимизировать прибыль от односторонних движений тренда.

  4. Простая и понятная логика, легко понятная и модифицируемая, подходящая для начинающих торговцев.

Анализ рисков

Также следует учитывать некоторые риски:

  1. Боллингерские полосы очень чувствительны к изменениям волатильности, ненадлежащие параметры могут вызывать ложные сигналы.

  2. Высокие колебания цены акций, стоп-лосс запускается слишком рано, не в состоянии ездить по тренду.

  3. Сигнальная задержка может привести к чрезмерной нереализованной прибыли.

  4. Непредсказуемость рынка затрудняет получение прибыли/остановку убытков, требуется ручное вмешательство для уточнения параметров.

Области улучшения

Некоторые способы дальнейшего совершенствования стратегии:

  1. Добавьте другие индикаторы для подтверждения сигналов, например, пик объема.

  2. Динамически регулируйте параметры Боллинджера, чтобы соответствовать изменяющейся волатильности.

  3. Улучшить стоп-лосс/прибыль, например, отставание стоп-лосса, поэтапный прибыль.

  4. Испытать параметры для различных запасов, чтобы найти наилучшее соответствие.

  5. Внедрить машинное обучение для автоматической оптимизации параметров.

Резюме

Стратегия 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)

Больше