Quantitative Handelsstrategie mit dem Triple Relative Strength Index

RSI SMA
Erstellungsdatum: 2024-05-15 10:23:08 zuletzt geändert: 2024-05-15 10:23:08
Kopie: 0 Klicks: 841
1
konzentrieren Sie sich auf
1617
Anhänger

Quantitative Handelsstrategie mit dem Triple Relative Strength Index

Überblick

Die Strategie nutzt vor allem den relativ starken Index RSI, um zu beurteilen, ob der Markt überkauft oder überverkauft ist, in Verbindung mit dem Preis über dem 200-Tage-Simple Moving Average SMA als Trendfilterbedingungen, um zu entscheiden, ob ein Handel eingeleitet wird. Die Strategie baut die Positionsaufnahmebedingungen über die drei RSI-Indikatoren zusammen.

Strategieprinzip

  1. Berechnung des RSI für einen bestimmten Zeitraum
  2. Um zu beurteilen, ob die folgenden Bedingungen erfüllt sind:
    • Der aktuelle RSI ist kleiner als 35.
    • Der aktuelle RSI ist kleiner als der RSI der ersten, der zweiten und der dritten Periode
    • Der RSI für die ersten drei Perioden war unter 60.
    • Der aktuelle Schlusskurs ist größer als der 200-Tage-SMA
  3. Wenn diese vier Voraussetzungen erfüllt sind, kann man mehr machen.
  4. Wenn der RSI über 50 liegt, ist die Position platziert.
  5. Wiederholen Sie die Schritte 2-4 für den nächsten Handel.

Strategische Vorteile

  1. Überkaufen und überverkaufen durch den RSI, Positionen in Überverkaufszonen eröffnen, um Chancen auf eine Marktumkehr zu erfassen
  2. Durch die gemeinsame Konstruktion von Positionseröffnungssignalen durch den dreifachen RSI wird die Wahrscheinlichkeit von Falschsignalen verringert und die Signalsicherheit erhöht.
  3. Eintritt von Preisen oberhalb der 200-Tage-Durchschnittslinie als Trendbedingung, um einen Abwärtstrend zu vermeiden
  4. Die Bedingungen für die Ausgleichsposition sind einfach und klar und ermöglichen eine rechtzeitige Einzahlung der Gewinne.
  5. Die Strategie ist klar, einfach zu verstehen und umzusetzen

Strategisches Risiko

  1. RSI-Indikatoren zeigen Signalverzögerung und verpassen möglicherweise die beste Zeit, um zu handeln
  2. Die Bedingungen für die Eröffnung von Positionen sind relativ streng, die Häufigkeit der Transaktionen ist gering und es kann zu Fehlverhalten kommen.
  3. Der US-Präsident war der Ansicht, dass die US-Regierung nicht in der Lage sei, die Schwankungen zu verhindern.
  4. Die Strategie erfasst nur einseitige Aufwärtsbewegungen, keine Abwärtsbewegungen nach einer Trendwende.

Richtung der Strategieoptimierung

  1. Erwägen Sie, mobile oder feste Stop-Losses einzusetzen, um das Risiko eines einzelnen Handels zu kontrollieren.
  2. Erforschung der Kombination von RSI und anderen Hilfsindikatoren zur Verbesserung der Zuverlässigkeit und Aktualität von Positionsöffnungssignalen
  3. Optimierung der Positionseröffnungsbedingungen und Erhöhung der Handelsfrequenz bei gleichzeitiger Sicherung der Signalsicherheit
  4. Einführung eines Positionsmanagements, bei dem Positionen dynamisch angepasst werden, je nach Stärke und Schwankungen der Markttrends
  5. Berücksichtigung der Kombination von Kurz- und Mittellinien zur Entwicklung von Strategien, die sich an unterschiedliche Marktbedingungen anpassen

Zusammenfassen

Die Strategie erstellt die Positionöffnungsbedingungen mit dem dreifachen RSI, kombiniert mit dem Preis über der langfristigen Durchschnittslinie als Trendfilter, um die Überverkaufsposition zu erfassen. Die Strategie-Logik ist einfach und einfach zu implementieren und zu optimieren. Die Strategie besteht jedoch auch aus Risiken und Mängeln wie Signalverzögerung, geringe Handelsfrequenz und die Fähigkeit, nur einseitige Trends zu erfassen.

Strategiequellcode
/*backtest
start: 2023-05-15 00:00:00
end: 2024-05-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//@author Honestcowboy
//
strategy("Triple RSI [Honestcowboy]" )

  
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> User Inputs <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

rsiLengthInput = input.int(5, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> VARIABLE CALCULATIONS <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> CONDITIONALS <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

rule1   = rsi<35
rule2   = rsi<rsi[1] and rsi[1]<rsi[2] and rsi[2]<rsi[3]
rule3   = rsi[3]<60
rule4   = close>ta.sma(close, 200)

longCondition = rule1 and rule2 and rule3 and rule4
closeCondition = rsi>50

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> GRAPHICAL DISPLAY <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

hline(30, title="Long Condition Line")
hline(50, title="Exit Condition Line")
plot(rsi)
plotshape(longCondition ? rsi-3 : na, title="Long Condition", style=shape.triangleup, color=color.lime, location=location.absolute)
plotshape(closeCondition and rsi[1]<50? rsi+3 : na, title="Exit Condition", style=shape.triangledown, color=#e60000, location=location.absolute)

// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>
// ---------> AUTOMATION AND BACKTESTING <----------- >>
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >>

if longCondition and strategy.position_size==0
    strategy.entry("LONG", strategy.long)
if closeCondition
    strategy.close("LONG")