
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.
Die Strategie wird vor allem in folgenden Teilen umgesetzt:
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.
Der Rapid RSI wird anhand von Preisveränderungen berechnet und spiegelt einen ultrakurzen Kreislauf wider.
Es wird eine zusätzliche physikalische Sonnenstrahlung benötigt, die Sonnenstrahlung ist leer und verhindert falsche Durchbrüche.
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.
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.
Diese Strategie hat folgende Vorteile:
Der Connors RSI spiegelt die Lang- und der Schnell-RSI die Kurz-Linien-Linien wider.
Nur bei einem echten Durchbruch zu handeln, reduziert den Verlust durch einen falschen Durchbruch.
Die RSI-Parameter, die Handelsarten und die Handelszeiträume können an unterschiedliche Märkte angepasst werden.
RSI und K-Line-Einheiten sind grundlegende Indikatoren, die Strategie ist einfach zu verstehen.
Nur integrierte Kennzahlen, geringer Codeaufwand und geringe Implementierungs-Schwierigkeit.
Die wichtigsten Risiken für diese Strategie sind:
Nach dem Umkehrsignal setzte sich der Kurs fort, was zu Verlusten führte.
Das System wurde von der Regierung der Vereinigten Staaten von Amerika (USA) in den letzten Jahren eingesetzt, um die Handelsströme zu verhindern.
Die physische Filterung verhindert nicht vollständig den Durchbruch der falschen Durchbruch.
Die RSI-Parameter sind falsch eingestellt und können zu verpassten Handelschancen oder zu mehreren ungültigen Geschäften führen.
Der RSI-Indikator funktioniert unter besonderen Umständen nicht und erzeugt falsche Signale.
Diese Strategie kann in folgenden Bereichen optimiert werden:
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.
Zusätzliche Filter für MACD, KD und andere Indikatoren, um das Signal zuverlässiger zu machen.
Vermeiden Sie den Handel mit geringer Wahrscheinlichkeit, indem Sie die Wahrscheinlichkeit von Trends und Resistenzen unterstützen.
Parametertests für verschiedene Handelsarten und -zyklen, um optimale Parameter zu finden.
Es ist wichtig, dass Sie sich über die spezifischen Umstände informieren und den Handel unterbrechen, um große Verluste zu vermeiden.
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.
/*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()