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

Стратегия прорыва от стандартного отклонения полос Боллинджера

Автор:Чао Чжан, Дата: 2024-04-30 16:51:34
Тэги:SMA

img

Обзор

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

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

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

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

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

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

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

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

  1. ATR или другие индикаторы стоп-лосса могут быть включены для контроля выводов.
  2. Динамическое размещение позиций для длинных и коротких позиций может быть использовано для гибкого распределения позиций на основе силы тренда.
  3. Для повышения надежности входных сигналов к условиям входа могут быть добавлены дополнительные условия фильтрации, такие как показатели объема и цены.

Резюме

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


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

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(20, minval=1, title = "Length")
mult = input.float(2.0, minval=0.001, maxval=50, title = "Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

// Strategy
long_condition = ta.crossover(close, upper1)
short_condition = ta.crossunder(close, lower1)

if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

// Exit conditions
exit_long_condition = ta.crossunder(close, basis)
exit_short_condition = ta.crossover(close, basis)

if (exit_long_condition)
    strategy.close("Long")
if (exit_short_condition)
    strategy.close("Short")


colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

Связанные

Больше