В процессе загрузки ресурсов... загрузка...

Динамическая стратегия выхода Bollinger Bands

Автор:Чао Чжан, Дата: 2024-05-15 16:25:21
Тэги:ББSMA

img

Обзор

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

Принцип стратегии

  1. Вычислить средние, верхние и нижние полосы полос Боллинджера. Средняя полоса - это простая скользящая средняя цена закрытия, верхняя полоса - средняя полоса плюс кратное стандартному отклонению, а нижняя полоса - средняя полоса минус кратное стандартному отклонению.
  2. Когда цена пересекает верхний диапазон, открыть длинную позицию; когда цена пересекает нижний диапазон, открыть короткую позицию.
  3. При наличии длинной позиции, если цена пересекает верхнюю полосу, закрыть длинную позицию; при наличии короткой позиции, если цена пересекает нижнюю полосу, закрыть короткую позицию.

Преимущества стратегии

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

Стратегические риски

  1. В ситуациях, когда волатильность рынка высока и тенденция нестабильна, эта стратегия может часто торговаться, что приводит к увеличению затрат на транзакции.
  2. Выбор параметров полос Боллинджера (таких как скользящий средний период и кратный стандартного отклонения) повлияет на эффективность стратегии, и разные параметры могут привести к разным результатам.
  3. Эта стратегия не учитывает другие технические показатели или фундаментальные факторы и основывается исключительно на взаимосвязи между ценой и полосами Боллинджера для принятия торговых решений, которые могут подвергаться рискам, связанным с одним сигналом.

Направления оптимизации стратегии

  1. Ввести другие технические индикаторы (например, RSI, MACD и т.д.) в качестве фильтрующих условий для подтверждения достоверности прорывов полосы Боллинджера и улучшения качества сигналов.
  2. Оптимизируйте параметры полос Боллинджера путем обратного тестирования и сканирования параметров, чтобы найти лучшее сочетание скользящей средней продолжительности и кратного стандартного отклонения.
  3. Устанавливать соответствующие уровни стоп-лосса и прибыли для контроля риска и прибыли от одной сделки.
  4. Принимать во внимание рыночные условия и волатильность, динамически корректировать параметры стратегии или размеры позиций в различных рыночных условиях.

Резюме

Динамическая стратегия прорыва полос Боллинджера (англ. Dynamic Bollinger Bands Breakout Strategy) - это простая и удобная в использовании торговая стратегия, которая генерирует торговые сигналы через прорывы верхних и нижних полос полос Боллинджера. Эта стратегия хорошо работает на трендовых рынках, но может сталкиваться с частыми торговыми проблемами на нестабильных рынках.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands with Strategy", shorttitle='MBB', overlay=true)

// Input Variables
src = close
length = input.int(34, "Length", minval=1)
mult = input.float(2.0, "Multiplier", minval=0.001, maxval=50)

// Bollinger Bands Calculation
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
upperBand = basis + mult * dev
lowerBand = basis - mult * dev

// Plotting Bollinger Bands
pBasis = plot(basis, "Basis", color=color.gray)
pUpper = plot(upperBand, "Upper Band", color=color.green)
pLower = plot(lowerBand, "Lower Band", color=color.red)
fill(pUpper, pBasis, color=color.new(color.green, 90))
fill(pBasis, pLower, color=color.new(color.red, 90))

// Strategy Execution Using `if`
if (ta.crossover(src, upperBand))
    strategy.entry("Long", strategy.long)
if (ta.crossunder(src, lowerBand))
    strategy.entry("Short", strategy.short)

if (ta.crossunder(src, upperBand))
    strategy.close("Long")
if (ta.crossover(src, lowerBand))
    strategy.close("Short")


Связанные

Больше