Bollinger Momentum Breakout-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-12-22
Tags:

img

Übersicht

Diese Strategie verwendet Bollinger Bands, um die Markttrendrichtung zu bestimmen, kombiniert mit dem RSI-Indikator, um bullische Signale zu filtern, und implementiert Momentum-Breakout-Operationen, um Aufstiege zu verfolgen und Stürze zu töten.

Strategieprinzip

  1. Wenn der Bollinger Bands Indikator den Preis durch das obere Band bricht, zeigt er an, dass der Markt in einen bullischen Trend eintritt. Zu diesem Zeitpunkt verwenden Sie den RSI-Indikator zur Filtration. Generieren Sie ein Kaufsignal, wenn der RSI größer als 60 ist. Wenn der BB-Indikator den Preis durch das untere Band bricht, zeigt er an, dass der Markt in einen bärischen Trend eintritt. Zu diesem Zeitpunkt verwenden Sie den RSI-Indikator zur Filtration. Generieren Sie ein Verkaufssignal, wenn der RSI kleiner als 40 ist.

  2. Setzen Sie einen Stop-Loss nach dem Markteintritt ein, um weitere Verluste zu vermeiden.

  3. Ausgangskriterien sind das Schließen einer Long-Position, wenn der Preis unter das BB-Mitteband fällt, und das Schließen einer Short-Position, wenn der Preis über das BB-Mitteband fällt.

Analyse der Vorteile

  1. Der Bollinger Bands-Indikator kann wichtige Markttrends bestimmen und Wendepunkte erfassen.

  2. Die Verfolgung von Aufstiegen und Tötungen kann zu übermäßigen Erträgen führen.

  3. Die Einstellung von Stop-Loss kann Risiken kontrollieren.

Risikoanalyse

  1. Der BB-Indikator ist nicht wirksam bei der Beurteilung seitlicher Märkte, die falsche Signale erzeugen können.

  2. Eine unsachgemäße Stop-Loss-Einstellung kann zu weiteren Verlusten führen.

  3. Eine hohe Handelsfrequenz wird durch Handelskosten und Slippage beeinflusst.

  4. Breakout-Signale müssen rechtzeitig aktualisiert werden, sonst können die besten Einstiegsmöglichkeiten verpasst werden.

Optimierungsrichtlinien

  1. Kombination mit anderen Indikatoren zur Beurteilung der Zuverlässigkeit der BB-Break-out-Signale, wie Volumen, gleitende Durchschnitte usw.

  2. Dynamische Anpassung der BB-Parameter zur Optimierung der Indikatorenleistung.

  3. Optimieren Sie die Stop-Loss-Position, z. B. Stop-Loss, Prozentsatz Stop-Loss, um unnötige Verluste zu reduzieren.

Zusammenfassung

Die Strategie hat eine klare Logik, um den Markttrend durch BB zu bestimmen und Filtersignale mit RSI für die Momentum-Trendverfolgung. Sie verfügt über eine hohe Betriebsfrequenz, schnelle Gewinn-/Verlustzyklen, die für Händler geeignet sind, die überschüssige Renditen anstreben. Hohe Handelsfrequenz erhöht jedoch auch die Transaktionskosten und erfordert ein strenges Kapitalmanagement und emotionale Kontrolle. Eine weitere Leistungs- und Stabilitätsverbesserung kann durch Parameteroptimierung und Stop-Loss-Optimierung erreicht werden.


/*backtest
start: 2023-11-21 00:00:00
end: 2023-12-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-Stoxguru",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, overlay=true)
source = close
start = timestamp (2007, 1,1,0,0) 
end = timestamp (2021,11,05,0,0)
stop_level = (high[1]-low[1])
profit_level = (high[1]-low[1])
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(2, minval=0.001, maxval=50, title = "Standard Deviation") 

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

upper = basis + dev
lower = basis - dev
band=upper-lower
stop_loss=low-atr(14)
if time >= start 
// and time < end
    strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>=60 and rsi(close,14)<=70)
    // strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>60 and band<200)
    // strategy.exit("SL", "Long", stop=stop_loss)
    strategy.close(id="Long", when=crossunder(close, basis))
    strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<=40 and rsi(close,14)>=35)
    strategy.close(id="Short", when=crossover(close, basis))
    // strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<40 and band<200)
    // plot(upper-lower, color=color.purple,title= "DIFF",style=plot.style_linebr)
plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
// fill(p1, p2)
BW = ((upper - lower)) / basis * 100

plot(BW, title="Bollinger bandwidth", color=color.red)


Mehr