Bollinger Bands Breakout Reentry Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-03-08 14:08:53
Tags:

img

Übersicht

Diese Strategie basiert auf dem Bollinger Bands Indikator. Die Hauptidee ist es, zu warten, bis der Preis nach dem Ausbruch aus dem oberen oder unteren Band wieder in die Bollinger Bands eintritt, und dann eine Position in der gleichen Richtung wie der Ausbruch am Wiedereintrittspunkt zu etablieren. Die Strategie nutzt die Eigenschaft, dass sich die Preise oft umkehren, wenn sie sich in extremen Bereichen befinden. Durch die Kombination der Bedingungen des Bollinger Band Breakouts und des Wiedereintritts zielt sie darauf ab, Marktwendepunkte zu erfassen und eine höhere Gewinnrate zu erzielen.

Strategieprinzipien

  1. Berechnen Sie die mittlere, obere und untere Bands der Bollinger Bands. Die mittlere Band ist der gleitende Durchschnitt, und die oberen und unteren Bands sind die mittlere Band plus oder minus eine bestimmte Anzahl von Standardabweichungen.
  2. Bestimmen Sie, ob der Kurs aus dem oberen oder unteren Bollinger-Band ausbricht.
  3. Wenn ein Aufbruch eintritt, wird der höchste Preis dieser Breakout-Kerze als Spitze aufgezeichnet. Wenn ein Abbruch eintritt, wird der niedrigste Preis dieser Breakout-Kerze als Spitze aufgezeichnet.
  4. Wenn der Schlusskurs zu diesem Zeitpunkt zwischen dem oberen und dem unteren Band liegt, gilt der Preis als wieder eingetreten.
  5. Wenn der Preis wieder eintritt, gehen Sie lang, wenn die vorherige Kerze ein Aufbruch war (break_up [1] und in), wenn die vorherige Kerze ein Abbruch war (break_down [1] und in), gehen Sie kurz.
  6. Positionsmanagement: Wenn in einer Long-Position der Schlusskurs über das mittlere Band geht, schließt man die Long-Position; wenn in einer Short-Position der Schlusskurs unter das mittlere Band geht, schließt man die Short-Position.

Analyse der Vorteile

  1. Bollinger-Bänder haben eine starke Anpassungsfähigkeit und können sich dynamisch an Kursschwankungen anpassen, was hilfreich ist, um Trends und Volatilität zu erfassen.
  2. Im Vergleich zu einer einfachen Bollinger-Band-Breakout-Strategie kann das Hinzufügen der Wiedereintrittsbedingung das Verfolgen von Höchstwerten und Verkauf von Tiefwerten bis zu einem gewissen Grad vermeiden und die Eintrittsqualität verbessern.
  3. Die Exit-Bedingung verwendet das mittlere Band als Referenz, das einfach und einfach zu bedienen ist und die Gewinne relativ gut schützen kann.
  4. Die Parameter der Bollinger-Bänder, wie Länge und Abweichungsmultiplikator, können angepasst werden und bieten eine hohe Flexibilität.

Risikoanalyse

  1. Eine unsachgemäße Auswahl der Bollinger-Band-Parameter kann zu vorzeitigen oder späten Einträgen führen, die sich auf die Performance der Strategie auswirken.
  2. Wenn der Kurs in der Nähe der Bollinger-Bänder schwingt, können häufige Eröffnungen und Schließungen von Positionen auftreten, was zu erhöhten Transaktionskosten führt.
  3. Wenn der Trend sehr stark ist und der Preis lange Zeit nicht wieder in die Bollinger-Bänder eintritt, können Trendgewinne verpasst werden.
  4. Die Verwendung des Bollinger-Band-Indikators allein ist für einige Instrumente oder Marktbedingungen möglicherweise nicht wirksam und muss möglicherweise in Verbindung mit anderen Signalen verwendet werden.

Optimierungsrichtlinien

  1. Es kann beispielsweise sinnvoller sein, einen Ausbruch zu bewerkstelligen, wenn der Kurs seit einiger Zeit über den Bollinger-Bändern liegt, oder Trendbestimmungsindikatoren wie MA-Winkel und ADX zur Unterstützung zu verwenden.
  2. Bei schwankenden Märkten können Limit-Orders und Timer hinzugefügt werden, um Blind-Einträge zu vermeiden.
  3. Für Ausgänge können ATR oder gleitende Durchschnitte weiter kombiniert werden, um den Ausgang zeitlich zu steuern.
  4. Durchführung von Parameteroptimierung und Charakteristikanalyse für verschiedene zugrunde liegende Vermögenswerte und Zeitrahmen zur Auswahl geeigneter Handelsziele und Zeitrahmen.
  5. Es sollte in Betracht gezogen werden, eine Positionsverwaltung hinzuzufügen, z. B. die Positionsgröße zu erhöhen, wenn sich die Volatilität verringert, und die Positionsgröße zu verringern, wenn sich die Volatilität erhöht.

Zusammenfassung

Die Bollinger Bands Breakout Reentry Trading Strategie ist eine einfache und praktische quantitative Handelsstrategie. Sie nutzt die Reaktion der Preise auf extreme Situationen und konstruiert Ein- und Ausstiegsbedingungen durch das Bollinger Bands Tool, das Trendbeginn- und Endpunkte bis zu einem gewissen Grad erfassen und den häufigen Handel kontrollieren kann. Gleichzeitig hat diese Strategie auch Probleme wie Parameterwahl, schlechte Leistung in oszillierenden Märkten und unzureichende Trendfassung. Durch Optimierung von Details und Kombination mit anderen Signalen wird erwartet, dass die Anpassungsfähigkeit und Robustheit dieser Strategie weiter verbessert wird.


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

//@version=5
strategy(shorttitle="BB", title="Bollinger Bands", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(1.7, minval=0.001, maxval=50, title="StdDev")

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
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

break_up = close > upper
break_down = close < lower
inside = close > lower and close < upper

sell_condition = break_up[1] and inside
buy_condition = break_down[1] and inside

// Conditions to close trades
close_sell_condition = close > basis
close_buy_condition = close < basis

trade_condition = sell_condition or buy_condition

// Tracking the high of the breakout candle
var float peak = na

if (not trade_condition)
    peak := close
if (break_up and peak < high)
    peak := high
if (break_down and peak > low)
    peak := low

// Entering positions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.entry("Sell", strategy.short)

// Exiting positions when close crosses the basis
if (strategy.position_size > 0 and close_sell_condition) // If in a long position and close crosses above basis
    strategy.close("Buy")
if (strategy.position_size < 0 and close_buy_condition) // If in a short position and close crosses below basis
    strategy.close("Sell")

Mehr