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

BB SMA stdev
Дата создания: 2024-04-12 17:31:39 Последнее изменение: 2024-04-12 17:31:39
Копировать: 0 Количество просмотров: 767
1
Подписаться
1617
Подписчики

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

Обзор

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

Стратегический принцип

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

Стратегические преимущества

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

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

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

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

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

Подвести итог

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

Исходный код стратегии
/*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
strategy("Bollinger Bands Breakout Strategy", overlay=true)

// Définition des paramètres
length = input(20, title="Bollinger Bands Length")
multiplier = input(2.0, title="Multiplier")
pyramiding = input(5, title="Pyramiding")

// Calcul des bandes de Bollinger
basis = ta.sma(close, length)
dev = multiplier * ta.stdev(close, length)
upper_band = basis + dev
lower_band = basis - dev

// Règles d'entrée
buy_signal = close <= lower_band
sell_signal = close >= upper_band

// Gestion des positions
if (buy_signal)
    strategy.entry("Buy", strategy.long)
if (sell_signal)
    strategy.entry("Sell", strategy.short)

// Pyramiding
if (strategy.opentrades < pyramiding)
    strategy.entry("Buy", strategy.long)
else if (strategy.opentrades > pyramiding)
    strategy.entry("Sell", strategy.short)

// Tracé des bandes de Bollinger
plot(basis, color=color.blue)
plot(upper_band, color=color.red)
plot(lower_band, color=color.green)