Die Ressourcen sind geladen. Beförderung...

Triple Relative Strength Index Quantitative Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-05-15 10:23:08
Tags:RSISMA

img

Übersicht

Diese Strategie verwendet hauptsächlich den Relative Strength Index (RSI), um Überkauf- und Überverkaufsbedingungen auf dem Markt zu bestimmen, kombiniert mit dem Preis über dem 200-tägigen einfachen gleitenden Durchschnitt (SMA) als Trendfilter, um zu entscheiden, ob man einen Trade eingeht. Die Strategie konstruiert die Einstiegsbedingungen durch drei RSI-Indikatoren. Nur wenn der kurzfristige RSI unter 35 liegt und drei aufeinanderfolgende Perioden einen Abwärtstrend zeigt, während der dritte Zeitraum unter 60 liegt und der aktuelle Schlusskurs über dem 200-tägigen SMA liegt, wird er lang gehen. Die Ausstiegsbedingung ist, wenn der RSI über 50 überschreitet.

Strategieprinzip

  1. Berechnung des RSI-Indikators für den angegebenen Zeitraum
  2. Feststellen, ob die folgenden Eingangsbedingungen erfüllt sind:
    • Der aktuelle RSI liegt unter 35
    • Der aktuelle RSI ist niedriger als der RSI der vorherigen Periode, der RSI der vorherigen Periode ist niedriger als der RSI der zweiten vorherigen Periode, der RSI der zweiten vorherigen Periode ist niedriger als der RSI der dritten vorherigen Periode
    • Der RSI der dritten vorherigen Periode liegt unter 60
    • Der aktuelle Schlusskurs liegt über dem 200-Tage-SMA
  3. Wenn alle vier oben genannten Bedingungen gleichzeitig erfüllt sind, öffnen Sie eine Longposition
  4. Wenn der RSI während des Haltezeitraums über 50 liegt, wird die Position geschlossen.
  5. Wiederholen Sie die Schritte 2-4 für den nächsten Handel

Strategische Vorteile

  1. Durch die Verwendung des RSI zur Bestimmung von Überkauf- und Überverkaufsbedingungen und zum Eintritt in Positionen im Überverkaufsgebiet kann er Marktumkehrchancen erfassen.
  2. Durch die Konstruktion von Eingangssignalen mit drei RSI zusammen reduziert es die Wahrscheinlichkeit von falschen Signalen und verbessert die Signalzuverlässigkeit
  3. Der Preis über dem gleitenden 200-Tage-Durchschnitt als Trendbedingung hinzufügen vermeidet den Handel in einem Abwärtstrend
  4. Die Ausstiegsbedingung ist einfach und klar und ermöglicht eine rechtzeitige Gewinnrealisation
  5. Die Strategie ist klar und leicht zu verstehen und umzusetzen

Strategische Risiken

  1. Der RSI-Indikator hat eine Signalverzögerung, die den besten Einstiegszeitpunkt verpassen kann.
  2. Die Eintrittsbedingungen sind relativ streng, was zu einer geringen Handelsfrequenz und möglicherweise zu fehlenden Marktbewegungen führt.
  3. Es kann nicht gut in unruhigen Märkten zu leisten, in häufigen Ein- und Ausgänge gefangen
  4. Die Strategie kann nur einseitige Aufwärtstrends erfassen und kann nach Trendumkehrungen keine Abwärtstrends erfassen

Strategieoptimierungsrichtlinien

  1. Überlegen Sie, ob Sie ein Trailing-Stop oder einen festen Stop-Loss hinzufügen, um das Einzelhandelsrisiko zu kontrollieren.
  2. Untersuchung der Kombination des RSI mit anderen Hilfsindikatoren zur Verbesserung der Zuverlässigkeit und Aktualität der Ein- und Ausstiegssignale
  3. Optimierung der Einstiegsbedingungen zur Verbesserung der Handelsfrequenz bei gleichzeitiger Sicherstellung der Signalzuverlässigkeit
  4. Einführung eines Positionsmanagements zur dynamischen Anpassung von Positionen auf der Grundlage von Trendstärke und Volatilität
  5. Überlegen Sie, kurz- und mittelfristige Strategien zu kombinieren, um für verschiedene Marktbedingungen geeignete Strategien zu entwickeln

Zusammenfassung

Diese Strategie konstruiert die Einstiegsbedingungen durch einen dreifachen RSI, kombiniert mit dem Preis über dem langfristigen gleitenden Durchschnitt als Trendfilter, um überverkaufte Umkehrsetzungen zu erfassen. Die Strategielogik ist einfach und klar, einfach zu implementieren und zu optimieren. Die Strategie hat jedoch auch Risiken und Mängel wie Signalverzögerung, geringe Handelsfrequenz und nur einseitige Marktbewegungen erfassen können. Sie benötigt kontinuierliches Debuggen und Verbessern in der tatsächlichen Anwendung. Durch die Einführung von Stop-Loss und Profit-Taking, Positionsmanagement, Kombination mit anderen Indikatoren und anderen Methoden können die Stabilität und Rentabilität der Strategie weiter verbessert werden.


/*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")

Verwandt

Mehr