Stochastische RSI-Strategie für überverkaufte und übergekaufte Bereiche

Schriftsteller:ChaoZhang, Datum: 2023-12-11 13:19:08
Tags:

img

Übersicht

Die Stochastic Oversold and Overbought Range RSI Strategie passt die überkauften und überverkauften Schwellenwerte des RSI dynamisch an, um Marktchancen flexibler zu erfassen. Diese Strategie verwendet den Relative Strength Index (RSI) als Haupthandelsindikator und setzt mehrere zufällige Überkauf- und Überverkaufsparameter. Sie erzeugt Handelssignale, wenn die RSI-Linie die zufälligen Schwellenwerte überschreitet.

Strategie Logik

Die Kernlogik dieser Strategie besteht darin, den RSI-Indikator zu verwenden, um festzustellen, ob der Aktienkurs überkauft oder überverkauft ist. Der RSI vergleicht den durchschnittlichen Wert der Schlusskurs und der Schlusskurs über einen Zeitraum, um den aktuellen Preistrend zu beurteilen. Die stochastische RSI-Strategie verwendet keine festen überkauften und überverkauften Parameter. Stattdessen setzt sie mehrere zufällige Schwellenbereiche fest und erzeugt Handelssignale, wenn die RSI-Linie diese zufälligen Bereiche überschreitet.

Eine typische RSI-Strategie kann beispielsweise 30 als Schwellenwert verwenden und lang gehen, wenn der RSI unter 30 fällt und die Position schließen, wenn der RSI über 70 steigt. Diese stochastische RSI-Strategie setzt jedoch mehrere zufällige Werte zwischen 20 und 30 als Schwellenwerte ein. Dies ermöglicht flexiblere Handelsstrategien, um Positionen an mehr Gelegenheitspunkten zu eröffnen.

Insbesondere ist die Hauptlogik dieser Strategie folgende:

  1. Längen des RSI-Parameters, z. B. 6-tägiger RSI
  2. Zufällige Überkauf- und Überverkaufsbereiche
  3. Gehen Sie lang, wenn der RSI unter den zufälligen Überverkaufsbereich fällt
  4. Schließung der Position, wenn der RSI über den zufälligen Überkaufbereich steigt

Vorteile

Im Vergleich zu traditionellen RSI-Strategien hat diese Stochastic Oversold and Overbought Range RSI-Strategie folgende Hauptvorteile:

  1. Die Zufallsschwelle ist flexibler und kann Positionen an mehr Opportunity-Punkten eröffnen.

  2. Die Zufallsspanne kann die Zyklen des Marktes besser widerspiegeln. Vernünftige Schwellenwerte können sich in den Marktzyklen unterscheiden. Die Zufallsspanne kann sich an unterschiedliche Marktbedingungen anpassen.

  3. Die Kombination mehrerer zufälliger Bereiche bildet ein relativ vollständiges Handelssystem. Ein einzelnes Handelssignal ist anfällig für Ausfälle, während die mehrere Handelslogik, die durch mehrere Bereiche in dieser Strategie gebildet wird, die Strategie stabiler und zuverlässiger machen kann.

  4. Der RSI-Indikator selbst hat eine hohe Stabilität. Als Trendindikator kann der RSI Preistrends eindeutig bestimmen. Im Vergleich zum Preis selbst haben RSI-Signale eine geringere Wahrscheinlichkeit für falsche Positive.

  5. Die Strategie ist einfach zu implementieren und leicht zu backtest. Es beinhaltet nur eine grundlegende RSI-Berechnung ohne komplexe Formeln, so dass es sehr einfach zu implementieren und zu testen ist. Dies macht die Strategie auch einfach zu optimieren und zu verbessern.

Risiken

Obwohl die stochastische RSI-Strategie einige Vorteile hat, gibt es auch große Risiken:

  1. Wie alle anderen Indikatoren kann der RSI Marktbewegungen nicht perfekt vorhersagen.

  2. Es besteht immer noch die Gefahr einer Kurvenanpassung durch eine zufällige Auswahl des Bereichs, und wir müssen verhindern, daß die Strategie sich nur an die historischen Marktbewegungen anpasst, aber nicht an die zukünftigen Marktbedingungen anpasst.

  3. Die Multiple-Trading-Logik kann widersprüchliche Signale auslösen, z. B. ein Close-Positionssignal nach dem Long-Entry-Signal.

  4. Die Dichte und Richtung der Bereiche müssen ständig angepasst und optimiert werden.

  5. RSI-Strategien eignen sich besser für den mittelfristigen bis langfristigen Trendhandel. Kurzfristig können RSI-Signale zeitlich verzögert sein. Die Handelsfrequenz muss kontrolliert werden, um Umkehrrisiken zu reduzieren.

Der wichtigste Ansatz des Risikomanagements besteht darin, strenge Rückprüfungen über lange Zeiträume und verschiedene Marktbedingungen durchzuführen, um Stabilität und Rentabilität zu gewährleisten.

Verbesserungen

Für diese stochastische RSI-Strategie umfassen die wichtigsten Optimierungsrichtungen:

  1. Finden Sie die optimale Parameterlänge des RSI, indem Sie 5 Tage, 10 Tage, 20 Tage usw. testen.

  2. Versuchen Sie mehr zufällige Bereiche, um die optimale Verteilung des Bereichs zu finden, um eine ausreichende Abdeckung zu gewährleisten und gleichzeitig eine übermäßige Dichte zu vermeiden.

  3. Einbeziehung von Gewinn- oder Stop-Loss-Mechanismen zur Kontrolle von Handelsrisiken und Gewährleistung einer nachhaltigen Rentabilität.

  4. Einbeziehung anderer Hilfsindikatoren zur Erstellung umfassenderer Multifaktormodelle, z. B. Hinzufügung gleitender Durchschnitte als Filter zur Verbesserung der Signalqualität.

  5. Optimierung und Verringerung der Handelsfrequenz, um eine bessere mittelfristige bis langfristige Beteiligung zu gewährleisten, und Vermeidung eines übermäßigen Handels, der die Stabilität beeinträchtigen kann.

  6. Optimierung der Parameter für verschiedene Produkte, um die Strategie an mehr Marktumgebungen anzupassen.

  7. Einführung fortschrittlicherer Methoden des maschinellen Lernens zur dynamischen Optimierung von Parametern, damit die wichtigsten Parameter entsprechend den Echtzeit-Marktveränderungen aktualisiert werden können.

Diese Optimierungsmaßnahmen tragen dazu bei, die Risiken der Kurvenanpassung zu reduzieren, das inhärente Alpha der Strategie aufzudecken und eine bessere Live-Handelsleistung zu erzielen.

Schlussfolgerung

Die Stochastic Oversold and Overbought Range RSI Strategie realisiert eine reichhaltigere Handelslogik als traditionelle RSI-Strategien, indem sie die Kauf- und Verkaufsbereiche des wichtigsten RSI-Indikators flexibel festlegt. Dieser Ansatz ermöglicht es den Indikatorsignalen, die Zyklisität und kurzfristigen Schwankungen des Marktes besser zu erfassen. In der Zwischenzeit bietet die Einführung von Zufallsbereichsparametern auch mehr Raum für die Strategieoptimierung, was eine kontinuierliche Verbesserung der Live-Handelsleistung ermöglicht.


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("imrich", shorttitle="imrich", overlay=true)


RSIlength = input(6,title="RSI Period Length") 
RSIoverSold1 = 1
RSIoverSold2 = 2
RSIoverSold3 = 3
RSIoverSold4 = 4
RSIoverSold5 = 5
RSIoverSold6 = 6
RSIoverSold7 = 7
RSIoverSold8 = 8
RSIoverSold9 = 9
RSIoverSold10 = 10
RSIoverSold11 = 11
RSIoverSold12 = 12
RSIoverSold13 = 13
RSIoverSold14 = 14
RSIoverSold15 = 15
RSIoverSold16 = 16
RSIoverSold17 = 17
RSIoverSold18 = 18
RSIoverSold19 = 19
RSIoverSold20 = 20
RSIoverSold21 = 21
RSIoverSold22 = 22
RSIoverSold23 = 23
RSIoverSold24 = 24
RSIoverSold25 = 25
RSIoverSold26 = 26
RSIoverSold27 = 27
RSIoverSold28 = 28
RSIoverSold29 = 29
RSIoverSold30 = 30
RSIoverSold31 = 31
RSIoverSold32 = 32

RSIoverBought1 = 70
RSIoverBought2 = 72
RSIoverBought3 = 73
RSIoverBought4 = 74
RSIoverBought5 = 75
RSIoverBought6 = 76
RSIoverBought7 = 77
RSIoverBought8 = 78
RSIoverBought9 = 79
RSIoverBought10 = 80
RSIoverBought11 = 81
RSIoverBought12 = 82
RSIoverBought13 = 83
RSIoverBought14 = 84
RSIoverBought15 = 85
RSIoverBought16 = 86
RSIoverBought17 = 87
RSIoverBought18 = 88
RSIoverBought19 = 89
RSIoverBought20 = 90
RSIoverBought21 = 91
RSIoverBought22 = 92
RSIoverBought23 = 93
RSIoverBought24 = 94
RSIoverBought25 = 95
RSIoverBought26 = 96
RSIoverBought27 = 97
RSIoverBought28 = 98
RSIoverBought29 = 99
RSIoverBought0 = 100

price = close
vrsi = rsi(price, RSIlength)





long = (crossover(vrsi, RSIoverSold5)  or crossover(vrsi, RSIoverSold10) or crossover(vrsi, RSIoverSold15) or crossover(vrsi, RSIoverSold20) or crossover(vrsi, RSIoverSold25) or crossover(vrsi, RSIoverSold30) or crossover(vrsi, RSIoverSold7) or crossover(vrsi, RSIoverSold8) or crossover(vrsi, RSIoverSold9))
close_long = (crossunder(vrsi, RSIoverBought1) or crossunder(vrsi, RSIoverBought5) or crossunder(vrsi, RSIoverBought10) or crossunder(vrsi, RSIoverBought15) or crossunder(vrsi, RSIoverBought20) or crossunder(vrsi, RSIoverBought25) or crossunder(vrsi, RSIoverBought29))

if (not na(vrsi))

    if long
        strategy.entry("RSI_BB", strategy.long, comment="RSI_BB")
    else
        strategy.cancel(id="RSI_BB")
        
    if close_long
        strategy.close("RSI_BB")



Mehr