RSI Momentum-Umkehrstrategie


Erstellungsdatum: 2023-11-07 15:45:15 zuletzt geändert: 2023-11-07 15:45:15
Kopie: 0 Klicks: 773
1
konzentrieren Sie sich auf
1617
Anhänger

RSI Momentum-Umkehrstrategie

Überblick

Die RSI-Dynamik-Umkehr-Strategie kombiniert die RSI-Indikator und die Richtung der K-Linie-Einheit, um Überkauf-Überverkauf zu identifizieren und umzukehren. Die Strategie verwendet gleichzeitig den regulären RSI und den schnellen RSI und arbeitet mit dem K-Linie-Einheit-Filter zusammen, um Umkehrmöglichkeiten effektiv zu identifizieren.

Strategieprinzip

Die Strategie wird vor allem in folgenden Teilen umgesetzt:

  1. Der RSI von Connors

Berechnen Sie den regulären RSI, den RSI-Sieger-Indikator und den RSI-Paris-Charles-Indikator und nehmen Sie den Durchschnitt der drei als Connors RSI.

  1. Schnelle RSI-Indikatoren

Der Rapid RSI wird anhand von Preisveränderungen berechnet und spiegelt einen ultrakurzen Kreislauf wider.

  1. K-Linien-Einheitsfilter

Es wird eine zusätzliche physikalische Sonnenstrahlung benötigt, die Sonnenstrahlung ist leer und verhindert falsche Durchbrüche.

  1. Mehrräumigkeit

Wenn der Connors RSI unter 20 liegt und der Rapid RSI unter 25, dann tritt ein realer Sonnenschein auf.

Wenn der Connors RSI über 80 liegt und der schnelle RSI über 75, tritt eine physikalische Schattenlinie auf und macht eine Lücke.

  1. Verlustbewältigung

Entität dreht sich in Richtung Stop Loss Exit.

Durch den Connors RSI wird der Trend umgekehrt und der schnelle RSI wird der Trend umgekehrt. Die K-Linie-Einheit gewährleistet die Durchbruchwirksamkeit, so dass die Umkehrmöglichkeiten effektiv entdeckt werden können.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Lang- und Kurzstreckenindikatoren

Der Connors RSI spiegelt die Lang- und der Schnell-RSI die Kurz-Linien-Linien wider.

  1. Entity-Filter

Nur bei einem echten Durchbruch zu handeln, reduziert den Verlust durch einen falschen Durchbruch.

  1. Parameter können angepasst werden

Die RSI-Parameter, die Handelsarten und die Handelszeiträume können an unterschiedliche Märkte angepasst werden.

  1. Einfach intuitiv

RSI und K-Line-Einheiten sind grundlegende Indikatoren, die Strategie ist einfach zu verstehen.

  1. Einfach umzusetzen

Nur integrierte Kennzahlen, geringer Codeaufwand und geringe Implementierungs-Schwierigkeit.

Risikoanalyse

Die wichtigsten Risiken für diese Strategie sind:

  1. Die Gefahr des Rückschritts

Nach dem Umkehrsignal setzte sich der Kurs fort, was zu Verlusten führte.

  1. Die Gefahr von Erschütterungen

Das System wurde von der Regierung der Vereinigten Staaten von Amerika (USA) in den letzten Jahren eingesetzt, um die Handelsströme zu verhindern.

  1. Das Risiko einer falschen Durchbruch

Die physische Filterung verhindert nicht vollständig den Durchbruch der falschen Durchbruch.

  1. Parameter für die Einstellung von Risiken

Die RSI-Parameter sind falsch eingestellt und können zu verpassten Handelschancen oder zu mehreren ungültigen Geschäften führen.

  1. Risiken in besonderen Situationen

Der RSI-Indikator funktioniert unter besonderen Umständen nicht und erzeugt falsche Signale.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Erhöhung der Stop-Loss-Mechanismen

Optimierung der Stop-Loss-Strategie, um die Stop-Loss-Strategie zu optimieren, um die Stop-Loss-Strategie zu optimieren und die Einzelschäden zu reduzieren.

  1. Integration von mehreren Indikatoren

Zusätzliche Filter für MACD, KD und andere Indikatoren, um das Signal zuverlässiger zu machen.

  1. Erhöhung der Wahrscheinlichkeitsfilter

Vermeiden Sie den Handel mit geringer Wahrscheinlichkeit, indem Sie die Wahrscheinlichkeit von Trends und Resistenzen unterstützen.

  1. Optimierte Parameter-Einstellungen

Parametertests für verschiedene Handelsarten und -zyklen, um optimale Parameter zu finden.

  1. Vermeidung von Sonderfällen

Es ist wichtig, dass Sie sich über die spezifischen Umstände informieren und den Handel unterbrechen, um große Verluste zu vermeiden.

Zusammenfassen

Die RSI-Dynamik-Umkehrstrategie erhöht die Signalwirksamkeit durch die Beurteilung der langen und kurzen Umkehr des Connors RSI und des schnellen RSI. Die Strategie hat die Vorteile einer Indikatorpalette und der Flexibilität der Parameterregulierung, die eine Umkehrmöglichkeit erfasst und bei Überkauf und Überverkauf rechtzeitig eingreifen kann. Die Strategie besteht jedoch auch in einem gewissen Risiko von Umkehrversagen, False-Breakouts und so weiter. Die Stop-Loss-Indikatorpalette muss weiter optimiert werden, um das Risiko zu verringern und die Profitabilität zu verbessern.

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Connors RSI Strategy v1.0", shorttitle = "CRSI str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(false, defval = false, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
usecrsi = input(true, defval = true, title = "Use CRSI Strategy")
usefrsi = input(true, defval = true, title = "Use FRSI Strategy")
usemod = input(true, defval = true, title = "CRSI+FRSI Mode")
limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit")
usebod = input(true, defval = true, title = "Use Body-filter")
usecol = input(true, defval = true, title = "Use Color-filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//CRSI
rsilen = 3
streaklen = 2
lookback = 100
rsi = rsi(close,rsilen)
upday = close > close[1] ? 1 : 0
downday = close < close[1] ? -1 : 0
upstreak = upday!=0 ? upstreak[1] + upday : 0
downstreak = downday!=0 ? downstreak[1] + downday : 0
streak = upstreak + downstreak
streakrsi = rsi(streak,streaklen)
roc = close/close[1] - 1
roccount = 0
for i=1 to lookback-1
    roccount := roc[i]<roc ? roccount + 1 : roccount
crsi = (rsi + streakrsi + roccount) / 3

//Oscilator
// rsiplot = plot(crsi, title="RSI", style=line, linewidth=1, color=blue)
// band1 = hline(80, title="Upper Line", linestyle=dashed, linewidth=1, color=red)
// band0 = hline(20, title="Lower Line", linestyle=dashed, linewidth=1, color=green)
// fill(band1, band0, color=purple, transp=90)

//Fast RSI
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 3 or usebod == false

//Color Filter
bar = close > open ? 1 : close < open ? -1 : 0
gbar = bar == 1 or usecol == false
rbar = bar == -1 or usecol == false

//Signals

up1 = rbar and (strategy.position_size == 0 or close < strategy.position_avg_price) and crsi < limit and body and usecrsi
dn1 = gbar and (strategy.position_size == 0 or close > strategy.position_avg_price) and crsi > 100 - limit and body and usecrsi
up2 = rbar and (strategy.position_size == 0 or close < strategy.position_avg_price) and fastrsi < limit and body and usefrsi
dn2 = gbar and (strategy.position_size == 0 or close > strategy.position_avg_price) and fastrsi > 100 - limit and body and usefrsi
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body

//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]

if ((up1 or up2) and usemod == false) or (up1 and up2 and usemod)
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if ((dn1 or dn2) and usemod == false) or (dn1 and dn2 and usemod)
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
    
if  exit
    strategy.close_all()