Стратегия прорыва полосы Боллинджера - это долгосрочная стратегия преследования импульса.

Автор:Чао Чжан, Дата: 2024-01-29 11:05:29
Тэги:

img

Обзор

Стратегия Bollinger Band Breakout - это стратегия длинного преследования импульса. Она использует верхние и нижние полосы Bollinger Bands для оценки импульса цены и идет на длинный курс, когда цена выходит выше верхней полосы, и закрывает позицию, когда цена прорывается ниже нижней полосы или скользящей средней.

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

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

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

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

Стратегия имеет следующие преимущества:

  1. Может эффективно улавливать тенденции цен и своевременно преследовать рыночный импульс
  2. Использует полосы Боллинджера для оценки аномальных прорывов, избегая ложных прорывов
  3. Ясные правила, легко внедряемые и автоматизируемые
  4. Параметры могут быть оптимизированы в соответствии с волатильностью рынка для улучшения стратегии

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

Стратегия также сопряжена с некоторыми рисками:

  1. Болинджерские полосы могут потерпеть неудачу при возникновении крайней волатильности
  2. Не может определить фактическую тенденцию рынка, может покупать высоко и продавать низко
  3. У него небольшое отставание.
  4. Игнорирует торговые издержки, фактическая производительность будет дисконтирована

Чтобы контролировать эти риски, мы можем использовать индикаторы тренда, такие как MACD, или правильно корректировать параметры, чтобы сузить полосы Боллинджера, чтобы уменьшить плохие сигналы.

Руководство по оптимизации

Стратегия также может быть оптимизирована в следующих аспектах:

  1. Включить объем торговли для оценки истинных прорывов
  2. Использование адаптивных полос Боллинджера для динамической оптимизации параметров
  3. Добавление механизмов остановки потерь для контроля одиночных потерь
  4. Усиление управления позициями для динамической корректировки позиций на основе рыночных условий

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

Заключение

Подводя итог, стратегия Bollinger Band Breakout - это довольно классическая стратегия преследования тренда. Она имеет четкую логику и легкую автоматизацию. Но все еще есть некоторые недостатки, требующие дальнейшей оптимизации для адаптации к сложной меняющейся рыночной среде. Если правильно комбинировать с другими индикаторами и механизмами, результаты могут быть значительно улучшены.


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
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/
// © Senthaamizh

//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-BO", overlay=true)
source = close
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(1.5, minval=0.001, maxval=50, title = "Standard Deviation") // Use 1.5 SD for 20 period MA; Use 2 SD for 10 period MA 
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using moving average

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

if (crossover(source, upper))
    strategy.entry("Long", strategy.long, qty=1)

if(exit==1)
    if (crossunder(source, lower))
        strategy.close("Long")

if(exit==2) //basis is good for N50 but lower is good for BN (High volatility)
    if (crossunder(source, basis))
        strategy.close("Long")

plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
fill(p1, p2)


Больше