- Площадь
- Динамическая стратегия выхода Bollinger Bands
Динамическая стратегия выхода Bollinger Bands
Автор:
Чао Чжан, Дата: 2024-05-15 16:25:21
Тэги:
ББSMA
Обзор
Динамическая стратегия прорыва полос Боллинджера - это стратегия торговли, основанная на индикаторе полос Боллинджера. Эта стратегия использует верхние и нижние полосы полос Боллинджера в качестве динамических уровней поддержки и сопротивления, покупая, когда цена превышает верхнюю полосу, и продавая, когда она превышает нижнюю полосу.
Принцип стратегии
- Вычислить средние, верхние и нижние полосы полос Боллинджера. Средняя полоса - это простая скользящая средняя цена закрытия, верхняя полоса - средняя полоса плюс кратное стандартному отклонению, а нижняя полоса - средняя полоса минус кратное стандартному отклонению.
- Когда цена пересекает верхний диапазон, открыть длинную позицию; когда цена пересекает нижний диапазон, открыть короткую позицию.
- При наличии длинной позиции, если цена пересекает верхнюю полосу, закрыть длинную позицию; при наличии короткой позиции, если цена пересекает нижнюю полосу, закрыть короткую позицию.
Преимущества стратегии
- Боллингерские полосы могут динамически адаптироваться к различным условиям волатильности рынка, обеспечивая определенную степень адаптивности.
- Логика стратегии ясна и легко понятна и реализована.
- Боллингерские полосы хорошо работают, когда рыночная тенденция сильна и может эффективно улавливать тенденции.
Стратегические риски
- В ситуациях, когда волатильность рынка высока и тенденция нестабильна, эта стратегия может часто торговаться, что приводит к увеличению затрат на транзакции.
- Выбор параметров полос Боллинджера (таких как скользящий средний период и кратный стандартного отклонения) повлияет на эффективность стратегии, и разные параметры могут привести к разным результатам.
- Эта стратегия не учитывает другие технические показатели или фундаментальные факторы и основывается исключительно на взаимосвязи между ценой и полосами Боллинджера для принятия торговых решений, которые могут подвергаться рискам, связанным с одним сигналом.
Направления оптимизации стратегии
- Ввести другие технические индикаторы (например, RSI, MACD и т.д.) в качестве фильтрующих условий для подтверждения достоверности прорывов полосы Боллинджера и улучшения качества сигналов.
- Оптимизируйте параметры полос Боллинджера путем обратного тестирования и сканирования параметров, чтобы найти лучшее сочетание скользящей средней продолжительности и кратного стандартного отклонения.
- Устанавливать соответствующие уровни стоп-лосса и прибыли для контроля риска и прибыли от одной сделки.
- Принимать во внимание рыночные условия и волатильность, динамически корректировать параметры стратегии или размеры позиций в различных рыночных условиях.
Резюме
Динамическая стратегия прорыва полос Боллинджера (англ. 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")
Связанные
Больше