DPD-RSI-BB-Quantitative Strategie

Schriftsteller:ChaoZhang, Datum: 2023-11-22 16:17:52
Tags:

img

Übersicht

Die DPD-RSI-BB-Quantitative Strategie kombiniert drei Indikatoren - DPD, RSI und Bollinger Bands für den Aktienhandel. Sie verwendet DPD, um den Trend zu bestimmen, RSI, um überkaufte und überverkaufte Niveaus zu beurteilen, und Bollinger Bands, um Unterstützungs- und Widerstandsniveaus für den Markteintritt zu identifizieren.

Strategie Logik

Die Strategie besteht aus folgenden Hauptbestandteilen:

  1. DPD-Indikator zur Bestimmung der Entwicklung

    Es erstellt die DEMA-Linie mit doppelten EMA-Durchschnitten und berechnet den Preisdifferenzprozentsatz gegenüber DEMA als Trendbestimmungsindikator.

  2. RSI-Indikator zur Beurteilung von Überkauf- und Überverkaufsbedingungen

    Der RSI über die obere Grenze wird als Überkaufszone beurteilt und der RSI unter der unteren Grenze als Überverkaufszone beurteilt.

  3. Bollinger Bands zur Ermittlung von Unterstützung und Widerstand

    Es berechnet das mittlere Band, das obere Band und das untere Band über einen bestimmten Zeitraum. Der Preis, der sich dem oberen Band nähert, signalisiert einen bärischen Ausblick, während der Preis, der sich dem unteren Band nähert, einen bullischen Ausblick signalisiert.

  4. Umfassendes Urteil

    Wenn der DPD-Preisdifferenzprozentsatz unter dem Schwellenwert liegt, der RSI unter der unteren Grenze der überverkauften Zone liegt und der Preis unter dem oberen Bollinger-Band liegt, wird ein Aufwärtssignal generiert.

Analyse der Vorteile

Die Strategie weist folgende Vorteile auf:

  1. Durch ein umfassendes Urteilsverfahren unter Verwendung mehrerer Indikatoren werden falsche Signale aus einem einzigen Indikator vermieden.

  2. Die Verwendung des RSI-Indikators zur Beurteilung von Überkauf- und Überverkaufszuständen ermöglicht es, Stop-Loss- und Gewinnpunkte im Voraus festzulegen.

  3. Der DPD-Indikator kann Preistrends besser bestimmen, während Bollinger-Bänder Unterstützungs- und Widerstandsniveaus identifizieren können.

  4. Flexible Parameter-Einstellungen ermöglichen Optimierungen für verschiedene Bestände.

Risiken und Optimierung

Die Strategie birgt auch einige Risiken:

  1. Die Kombination mehrerer Indikatoren macht die Strategie mit Schwierigkeiten bei der Parameter-Ausrichtung recht komplex.

  2. Indikatoren wie DPD und RSI haben gewisse Verzögerungen, die den besten Einstiegszeitpunkt verpassen können.

  3. Die Parameter müssen auf verschiedene Zyklen und Bestandseigenschaften abgestimmt werden.

Folgende Aspekte können optimiert werden:

  1. Anpassung der Indikatorparameter zur Optimierung der Ein- und Ausstiegspunkte.

  2. Hinzufügen von Stop-Loss-Mechanismen zur strikten Kontrolle von Handelsverlusten.

  3. Test mit verschiedenen Bestands- und Zyklusparametern zur Bewertung der Strategieleistung.

Schlussfolgerung

Die DPD-RSI-BB-Strategie kombiniert mehrere Indikatoren für Urteile, um falsche Signale aus einem einzigen Indikator zu vermeiden. Durch Parameteroptimierung kann sie zu einer relativ starken Aktienhandelsstrategie werden.


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

//@version= 2
strategy("DPD+RSI+BB ",overlay=true)
price=close




//############### DPD  #################


buyper =input(-1,step=0.1)
sellper=input(0,step=0.1)
demalen = input(50,title="Dema Length")
e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2
demadifper =  ((price-demaprice)/price)*100


//############## DPD #####################

//############# RSI ####################


lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 60 )

vrsi = rsi(price, lengthrsi)

//########## RSI #######################

//############### BB #################

lengthbb = input(50, minval=1)
multlow = input(1.5, minval=0.001, maxval=50,step=0.1)
multup = input(1.5,minval=0.001,maxval=50,step=0.1)

basisup = sma(close, lengthbb)
basislow = sma(close, lengthbb)

devup = multup * stdev(close, lengthbb)

devlow = multlow*stdev(close,lengthbb)

upperbb = basisup + devup
lowerbb = basislow - devlow

p1 = plot(upperbb, color=blue)
p2 = plot(lowerbb, color=blue)
fill(p1, p2)



//########### BB ###################




yearfrom = input(2018)
yearuntil =input(2039)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  (demadifper<buyper) and crossover(vrsi,overSold) and  (price < upperbb) and   year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if (   price>upperbb and vrsi>overBought and demadifper>sellper   and  year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

Mehr