Bollinger-Band-RSI-Doppellinienstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-26 15:30:26
Tags:

img

Übersicht

Diese Strategie kombiniert Bollinger Bands mit dem Relative Strength Index (RSI) Indikator. Sie erfordert Signale von beiden Indikatoren - RSI überkauft/überverkauft zusammen mit Ausbrüchen von Bollinger Bands oberen/unteren Linien - bevor jegliche Handelssignale ausgegeben werden. Dies macht die Signalen der Strategie strenger und zuverlässiger.

Strategie Logik

  1. Berechnen Sie Bollinger-Bänder, die aus Mittellinie, Oberlinie und Unterlinie bestehen, basierend auf den Schlusskurs über einen Rückblick.
  2. Berechnen Sie den RSI-Indikator, um zu beurteilen, ob der Markt zu bullisch oder bärisch ist.
  3. Beginnen Sie nur, wenn der RSI einen Überkauf (höher als der Parameter rsi_overbought) zeigt und der Preis über der Bollinger-Oberlinie bricht.
  4. Es ist nur möglich, einen Long-Handel zu starten, wenn der RSI einen Überverkauf (niedriger als der Parameter rsi_oversold) zeigt und der Preis unterhalb der Bollinger-Unterlinie bricht.

Durch die Anforderung der Zustimmung von Bollinger Bands und RSI vermeidet diese Strategie, auf irreführende Signale aus einem einzigen Indikator zu reagieren und ist somit zuverlässiger.

Vorteile

  1. Nutzt sowohl die Stärken von Bollinger Bands als auch RSI, wodurch Signale strenger und Fehler vermeiden.
  2. Bollinger-Bänder setzen dynamische Kanäle ein, um die Volatilität des Marktes zu erfassen.
  3. Der RSI misst Szenarien von Überkauf/Überverkauf und verhindert somit Spitzen oder Abnahme.

Risiken

  1. Unzulängliche Bollinger-Parameter können die Preise nicht effektiv umschließen.
  2. Bei falschen RSI-Parametern können die tatsächlichen Überkauf-/Überverkaufsbedingungen möglicherweise nicht genau beurteilt werden.
  3. Die Strategie selbst kann die Trendrichtung nicht bestimmen, sondern erfordert andere Indikatoren.

Um den oben genannten Risiken entgegenzuwirken, sollten die Parameter optimiert, die Modelle streng getestet und die wichtigsten Trends mit zusätzlichen Indikatoren ermittelt werden.

Optimierungsrichtlinien

  1. Test Bollinger-Bänder mit unterschiedlichen Lookback-Perioden, um optimale Parameter zu finden.
  2. Versuche verschiedene RSI-Parameter, um relativ bessere Einstellungen zu ermitteln.
  3. Hinzu kommen andere Indikatoren wie gleitende Durchschnitte, um den allgemeinen Trend zu bestimmen.

Schlussfolgerung

Diese Strategie kombiniert erfolgreich die Stärken von Bollinger Bands und RSI und gibt nur Handelssignale aus, wenn beide Indikatoren übereinstimmen. Dadurch wird vermieden, auf irreführende Signale eines einzelnen Indikators zu reagieren, wodurch die Trades zuverlässiger werden. Dennoch sollten Parameter optimiert, Modelle streng getestet und wichtige Trends mit anderen Indikatoren bestimmt werden, um die Stabilität und Rentabilität der Strategie weiter zu verbessern.


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

//@version=2
strategy("Bollinger + RSI, Double Strategy (by ChartArt) v1.1", shorttitle="CA_-_RSI_Bol_Strat_1.1", overlay=true)

// ChartArt's RSI + Bollinger Bands, Double Strategy - Update
//
// Version 1.1
// Idea by ChartArt on January 18, 2015.
//
// This strategy uses the RSI indicator 
// together with the Bollinger Bands 
// to sell when the price is above the
// upper Bollinger Band (and to buy when
// this value is below the lower band).
//
// This simple strategy only triggers when
// both the RSI and the Bollinger Bands
// indicators are at the same time in
// a overbought or oversold condition.
//
// In this version 1.1 the strategy was
// both simplified for the user and
// made more successful in backtesting. 
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 


///////////// RSI
RSIlength = input(6,title="RSI Period Length") 
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)


///////////// Bollinger Bands
BBlength = input(200, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
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, 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, 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