Zweispurige Handelsstrategie auf der Grundlage des RSI und des STOCH RSI

Schriftsteller:ChaoZhang, Datum: 2023-12-01 18:06:23
Tags:

img

Übersicht

Diese Strategie kombiniert den leistungsstarken Relative Strength Index (RSI) und die technischen Indikatoren des Stoch RSI, um eine relativ stabile und zuverlässige bidirektionale Handelsstrategie zu implementieren.

Strategie Logik

Diese Strategie basiert hauptsächlich auf den Indikatoren RSI und Stoch RSI. RSI wird verwendet, um festzustellen, ob der Markt überkauft oder überverkauft ist. Stoch RSI wird verwendet, um spezifische Handelssignale zu generieren.

Erstens beurteilt der RSI, ob der Markt überkauft oder überverkauft ist. Wenn der RSI über der Überkauflinie liegt, gilt der Markt als überkauft. Wenn der RSI unter der Überverkaufslinie liegt, gilt der Markt als überverkauft.

Zweitens erzeugt der Stoch RSI Handelssignale. Wenn die schnelle Linie über die langsame Linie von unten kreuzt, wird ein Kaufsignal erzeugt. Wenn die schnelle Linie unter die langsame Linie von oben kreuzt, wird ein Verkaufssignal erzeugt.

Schließlich tritt die Strategie nur dann in den Markt ein, wenn der RSI Überkauf/Überverkauf zeigt und der Stoch RSI gleichzeitig Signale erzeugt. Das lange Signal ist der RSI Überkauf und der Stoch RSI Goldkreuz, während das kurze Signal der RSI Überkauf und der Stoch RSI Todkreuz ist.

Analyse der Vorteile

Die Strategie kombiniert die Vorteile sowohl der RSI-Indikatoren als auch der Stoch-RSI-Indikatoren und berücksichtigt sowohl die allgemeinen Markttrends als auch detaillierte Veränderungen, um zuverlässigere Handelssignale zu erzeugen und unnötige falsche Signale zu vermeiden.

Der RSI kann effektiv bestimmen, ob der Markt überkauft oder überverkauft ist, und vermeidet, Höhen und Tiefen zu jagen.

Darüber hinaus werden Zeit- und Preisfilter hinzugefügt, um die Wahrscheinlichkeit fehlerhafter Trades weiter zu verringern und die Robustheit der gesamten Strategie zu erhöhen.

Risikoanalyse

Die Strategie stützt sich hauptsächlich auf den RSI und den Stock RSI, die auf Marktveränderungen reagieren, was zu häufigen falschen Signalen und Abweichungen zwischen Indikatoren führen kann, was zu hoher Handelsfrequenz und instabilen Gewinnen führt.

Um solche Risiken zu mindern, können die Parameter des RSI und des Stoch RSI an die Merkmale des Marktes angepasst und weitere Filter hinzugefügt werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Bereichen weiter optimiert werden:

  1. Hinzufügen von beweglichen Stop Loss, um Gewinne zu erzielen und Verluste zu reduzieren.

  2. Optimierung der RSI- und Stoch-RSI-Parameter für verschiedene Perioden und Produkte.

  3. Fügen Sie mehr Filter wie größere Zeitrahmen und niedrigere Handelsfrequenz hinzu.

  4. Um Fehler zu vermeiden, sind andere Indikatoren für die Signalüberprüfung einzubeziehen.

  5. Backtestoptimierung für die beste Parameterkombination.

Schlussfolgerung

Die Strategie nutzt die Stärken sowohl des RSI als auch des Stoch RSI, um einen bidirektionalen Handelsrahmen zu etablieren, der eine umfassendere und zuverlässigere Signalgenerierung bietet als die Verwendung eines einzigen Indikators und viele unnötige falsche Signale vermeidet.


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

//@version= 2
strategy("RSI+STOCHRSI v2", overlay=true)
lengthrsi = input(10)
overSold = input( 20 )
overBought = input( 70 )
price = ohlc4
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)
srsilow=input(20)
srsiup=input(80)






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



if (  ( crossover(d,k)) and ( (vrsi<overSold) or crossover(vrsi,overSold) )  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 ( ( crossunder(d,k) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) 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