RSI Bollinger Bands Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-01-24 14:56:02
Tags:

img

Übersicht

Diese Strategie verwendet hauptsächlich den Relative Strength Index (RSI) in Kombination mit Bollinger Bands für das Handelssignalbeurteilen. Insbesondere geht es lang, wenn der RSI über das Überverkaufsniveau und unterhalb des unteren Bollinger Bands überschreitet, und geht kurz, wenn der RSI unterhalb des Überkaufniveaus und über dem oberen Bollinger Band überschreitet.

Strategie Logik

Die Strategie berechnet zunächst den RSI-Indikator und Bollinger-Bänder. Der RSI-Indikator spiegelt die relative Stärke des Handelsinstruments wider. Wenn der RSI unter der Überverkaufszone (Standard 30) liegt, bedeutet dies, dass das Instrument überverkauft ist und kaufen sollte. Bollinger-Bänder umfassen Oberband, Mittelfeld und Unterband, was die Preisschwankungen gut widerspiegelt. Kauf in der Nähe des unteren Bandes und Verkauf in der Nähe des oberen Bandes können relativ zuverlässige Signale liefern. Diese Strategie kombiniert den RSI-Indikator und Bollinger-Bänder für das Handelssignalbeurteilen. Es erzeugt ein Kaufsignal, wenn der RSI von der Überverkaufszone nach oben steigt (Standard 30), und der Preis von der unteren Bands nach oben steigt; es erzeugt ein Verkaufssignal, wenn der RSI von der Überkaufszone nach unten fällt (Standardpreis 70), und von der oberen Bands nach unten

Vorteile

  1. Die Kombination von RSI und Bollinger Bands verbessert die Signalgenauigkeit
  2. RSI filtert Geräusche aus
  3. Bollinger-Bänder spiegeln den aktuellen Marktvolatilitätsbereich, zuverlässige Signale wider
  4. Strenge Handelsregeln verhindern ungültige Geschäfte

Risiken

  1. Unzulässige Bollinger-Band-Parameter können zu ungenauen Signalen führen
  2. Bei der Festlegung des RSI in einer überkauften/überverkauften Zone kann sich ein unangemessener Ansatz auf die Bewertung auswirken.
  3. Die Strategie ist streng, kann einige Chancen verpassen.

Lösungen:

  1. Optimieren Sie Bollinger-Bänder und RSI-Parameter, um die beste Kombination zu finden
  2. Entspannen Sie die Bedingungen moderat, lassen Sie einige ungültige Trades für mehr Chancen

Optimierungsrichtlinien

  1. Test und Optimierung von RSI- und Bollingerparametern für optimale
  2. Hinzufügen von Stop-Loss zur Risikokontrolle
  3. Erwägen Sie, andere Indikatoren wie MACD für die Signalverifizierung hinzuzufügen
  4. Ergebnisse der Testoptimierung für verschiedene Produkte und Zeitrahmen

Zusammenfassung

Die Gesamtstrategie ist robust, kombiniert effektiv RSI und Bollinger Bands für Stop Loss. Eine weitere Verbesserung kann durch Testen und Optimieren von Parametern erreicht werden.


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

//@version=2
strategy("BB + RSI 20MIN,", shorttitle="BBRSI 20MIN", overlay=true )
     
     // Strategy Tester Start Time
sYear = input(2019, title = "Start Year")
sMonth = input(04, title = "Start Month", minval = 01, maxval = 12)
sDay = input(01, title = "Start Day", minval = 01, maxval = 31)
sHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
sMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = true


///////////// RSI
RSIlength = input(9,title="RSI Period Length") 
RSIoverSold = input(30, minval=1,title="RSIL")
RSIoverBought = input(69, minval=1,title="RSIh")
price = open
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(60, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50,title="Bb")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
plot(BBbasis, color=aqua,title="Bollinger Bands SMA Basis Line")
p1 = plot(BBupper, color=silver,title="Bollinger Bands Upper Line")
p2 = plot(BBlower, color=silver,title="Bollinger Bands Lower Line")
fill(p1, p2)


///////////// Colors
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Enable Background Color?")
TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na
barcolor(switch1?TrendColor:na)
bgcolor(switch2?TrendColor:na,transp=50)


///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))

    if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
        strategy.entry("RSI_BB_L", strategy.long and startTime, stop=BBlower,  comment="RSI_BB_L")
    else
        strategy.cancel(id="RSI_BB_L")
        
    if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
        strategy.entry("RSI_BB_S", strategy.short and startTime, stop=BBupper,comment="RSI_BB_S")
    else
        strategy.cancel(id="RSI_BB_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Mehr