Bollinger-Band-Breakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-20 15:53:12
Tags:

img

Übersicht

Die Bollinger Bands Breakout-Strategie ist eine einfache quantitative Handelsstrategie, die auf dem Bollinger Bands-Indikator basiert. Die Strategie nutzt die dynamischen Unterstützungs- und Widerstandsniveaus der oberen und unteren Bands der Bollinger Bands, um Eintrittsregeln für Long-Positionen festzulegen, wenn die Preise aus den Bands ausbrechen, und Ausstiegsregeln, wenn die Preise durch die Bands zurückbrechen, mit dem Ziel, trendfolgende Chancen in den Kursbewegungen zu erfassen.

Strategie Logik

Der Bollinger Bands-Indikator wurde in den 1980er Jahren von John Bollinger entwickelt. Er besteht aus einem n-Perioden gleitenden Durchschnitt und m mal Standardabweichung darüber und darunter. Der gleitende Durchschnitt fungiert als Mittelpunkt, während die Standardabweichung die Volatilität ausmacht. Hohe Standardabweichungswerte zeigen eine erhöhte Volatilität an, während niedrige Werte eine verringerte Volatilität anzeigen.

Die Eintrittsbedingungen für diese Strategie sind: eine Long-Position wird eingegangen, wenn der Schlusskurs unterhalb des unteren Bollingerbands bricht; eine Short-Position wird eingegangen, wenn der Schlusskurs über dem oberen Bollingerband bricht. Die Ausstiegsregeln sind: für bestehende Long-Positionen, liquidieren, wenn der Schlusskurs über das obere Band bricht; für bestehende Short-Positionen, Cover, wenn der Schlusskurs unterhalb des unteren Bands bricht.

Dies ist eine Trend-Folge-Strategie, die darauf abzielt, von anhaltenden Kursbewegungen zu profitieren, indem sie die fortgesetzte Entwicklung des Trends, die durch das Brechen der Bollinger-Bänder signalisiert wird, erfasst.

Vorteile

  1. Die Verwendung von Bollinger Bands als dynamische Unterstützungs-/Widerstandsniveaus anstelle von festen Preisen macht die Strategie an sich wandelnde Marktbedingungen anpassungsfähig.

  2. Die Entscheidungen basieren sowohl auf Preisniveaus als auch auf Volatilitätsbedingungen und vermeiden einige falsche Signale.

  3. Das Breakout-Framework ist einfach und intuitiv.

  4. Durch die flexible Anpassung der Parameter ist die Strategie produkt- und marktübergreifend anpassbar.

Risiken

  1. Eine schlechte Anpassung der Indikatoren kann zu einem zu häufigen Handel und zu unnötigen Kosten führen.

  2. Breakout-Signale können nur kurzfristige Kursschwankungen statt nachhaltiger Trends sein.

  3. Das Fehlen eines Stop-Loss setzt die Strategie unkontrolliertem Verlustrisiko aus.

  4. Das rein technische System übersieht grundlegende Trendumkehrungen.

  5. Die Leistung kann ohne Anpassungen zwischen verschiedenen Produkten variieren.

Möglichkeiten zur Verbesserung

  1. Optimieren Sie die Parameter, um die Robustheit zu erhöhen.

  2. Einbeziehung von Stop-Loss-Orders zur Begrenzung von Verlusten.

  3. Erstellen Sie ein Multi-Time-Frame-System, um Entscheidungen zu verbessern.

  4. Fügen Sie Lautstärkungsfilter hinzu, um falsche Signale zu vermeiden.

  5. Ergänzende Grundlagen für bessere Zeiteinträge und Größenpositionen.

  6. Bewertung der Strategie für mehr Produkte zur Prüfung der Anpassungsfähigkeit.

Zusammenfassung

Die Bollinger Bands Breakout-Strategie bietet einen einfachen Trend-folgende Ansatz durch Fahren Dynamik signalisiert durch Indikator-basierte Breakouts. Seine Stärke liegt in der dynamischen Identifizierung von Trend Fortsetzung.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)

length = input.int(20, title="Bollinger Bands Length", minval=1)
maType = input.string("SMA", title="Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, title="StdDev Multiplier", minval=0.001, maxval=50)
offset = input.int(0, title="Offset", minval=-500, maxval=500)

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev + offset
lower = basis - dev - offset

// Define strategy entry and exit conditions
strategy.entry("Buy", strategy.long, when=close < lower)
strategy.close("Buy", when=close > upper)

strategy.entry("Sell", strategy.short, when=close > upper)
strategy.close("Sell", when=close < lower)

// Plotting the Bollinger Bands
plot(basis, color=color.blue, title="Basis")
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")


Mehr