Bollinger-Band- und Stoch-RSI-Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 21.9.2023
Tags:

Übersicht

Diese Strategie kombiniert die Bollinger Bands und den Stoch RSI Indikatoren für den Handel mit mehreren Indikatoren. Sie gehört zum typischen kombinierten Indikator-Strategietypen. Die Bollinger Bands bestimmen die Trendrichtung und der Stoch RSI optimiert die Eintrittszeiten für Handelssignale.

Strategie Logik

Die Strategie basiert auf zwei Hauptindikatoren:

  1. Bollinger-Bänder

    Berechnen Sie die oberen, mittleren und unteren Bands. Ein Kaufsignal wird erzeugt, wenn der Preis über das untere Band bricht.

  2. Stoch RSI

    Berechnen Sie den RSI-Indikator. Ein Kaufsignal wird erzeugt, wenn die K-Linie über die D-Linie kreuzt.

Die spezifische Handelslogik lautet: Open Long, wenn sowohl der Bollinger-Band-Unterbrech als auch das Goldene Kreuz des Stoch RSI zusammen auftreten.

Die Exit-Logik verwendet die Bands für Take Profit und Stop Loss: Schließen für Profit, wenn der Preis das obere oder mittlere Band wieder berührt, Schließen für Verlust, wenn der Preis unter das untere Band zurückbricht.

Vorteile

  • Kombination von Bollinger Bands und Stoch RSI
  • Die Bands beurteilen den allgemeinen Trend, der Stoch RSI optimiert den Einstieg
  • Stoch RSI filtert falsche Bandbreaches
  • Mittlere und untere Bands bieten Ausgänge
  • Mehrere einstellbare Parameter für Optimierungen

Risiken

  • Verzögerung bei den MA-basierten Indikatoren, fehlen die besten Einträge
  • Reine Indikatorgetrieb, langsame Reaktion auf plötzliche Ereignisse
  • Falsche Band-Einstellungen machen Stopps ungültig
  • Bad Stoch RSI-Parameter erzeugen falsche Signale
  • Für verschiedene Produkte ist eine getrennte Parameteranpassung erforderlich

Die Risiken können verringert werden, indem

  • Optimierung der Parameter für eine höhere Genauigkeit
  • Hinzufügen von Bestätigungsfiltern wie MACD
  • Anstelle von Bandstopp-Anwendungen
  • Prüfparameter für verschiedene Produkte
  • Anpassung des Positionsgrößensystems

Anweisungen zur Verbesserung

Die Strategie kann verbessert werden, indem

  1. Optimierung der Bollinger-Band-Parameter

    Anpassung der oberen/unten Berechnungsverhältnisse für die beste Anpassung

  2. Optimierung der Stoch-RSI-Parameter

    Feststellung der optimalen K- und D-Werte

  3. Hinzufügen von Bestätigungsindikatoren wie MACD

    Vermeiden Sie falsche Signale, die sich auf einen einzigen Indikator stützen

  4. Verwendung von Trailing Profit Stops anstelle von festen Stops

    Auf Basis der Preisvolatilität

  5. Versuchsparameter für verschiedene Produkte

    Die optimalen Parameter variieren je nach Produkt

Zusammenfassung

Diese Strategie nutzt die Bollinger Bands für die Trendrichtung und den Stoch RSI für die Einstiegsoptimierung und nutzt einen Multi-Indikator-Ansatz. Aber Herausforderungen wie schwierige Parameteroptimierung und Signalgenauigkeit bestehen.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "BB+RSI v2", overlay = true)

price=close
////////// ///////  BB /////////////////////////

bblength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


bbbuy= crossover(price,lower)
bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis)



//////////////////// BB //////////////////////




////////////////////////  S RSI  /////////////////////

lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

SRSIbuy=crossover(k,d)

////////////////////// S  RSI  ///////////////////////

// Conditions



longcond = bbbuy and SRSIbuy
closelong = bbsell


monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longcond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( closelong  ) 

    strategy.close("BUY")







Mehr