Bollinger Band Channel Breakout-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 12.9.2023
Tags:

Diese Strategie handelt mit dem Preis-Breakout von Bollinger Bands. Die Bands definieren effektiv den Preis-Oszillationsbereich, wobei Breakouts potenzielle Trendwende signalisieren.

Strategie Logik:

  1. Berechnen Sie die mittlere Linie, die oberen und unteren Bands von BB. Die mittlere Linie ist die n-Perioden-SMA, die Bandbreite ist das Vielfache der Standardabweichung der n-Perioden.

  2. Gehen Sie lang auf dem unteren Band Breakout und kurz auf dem oberen Band Breakout.

  3. Stoppverlust auf dem gegenüberliegenden Band zur Risikokontrolle.

  4. Trailing-Stop, um mehr Gewinn zu erzielen, oder Fix-Stop.

  5. Verwenden Sie sich gegenseitig ausschließende Aufträge, um gleichzeitige Long/Short zu vermeiden.

Vorteile:

  1. Der BB-Ausbruch identifiziert Trendveränderungen genau.

  2. Stopps auf Bands ermöglichen einen zeitnahen Trend-Ausgang.

  3. Der gegenseitige Ausschluss verhindert eine gleichartige Absicherung.

Risiken:

  1. BB-Mittelwert und Abweichungsverzögerung, fehlen die besten Einträge.

  2. Whipsaws sind in verschiedenen Märkten üblich.

  3. Statische Parameter Nicht an die sich verändernde Volatilität angepasst.

Zusammenfassend lässt sich sagen, dass diese Strategie BB-Breakouts als typisches Kanalsystem verhandelt.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Kozlod - BB Strategy - 1 minute", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// 
// author: Kozlod
// date: 2019-05-27
// RSI - BTCUSDT - 1m
// https://www.tradingview.com/u/Kozlod/
// https://t.me/quantnomad
//

source = close
length = input(45, minval=1)
mult = input(2.5, minval=0.001, maxval=50)

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

upper = basis + dev
lower = basis - dev

plot(upper)
plot(lower)

buyEntry  = crossover(source, lower)
sellEntry = crossunder(source, upper)

if (crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

Mehr