Triple RSI Extreme Handelsstrategie


Erstellungsdatum: 2023-11-02 14:34:21 zuletzt geändert: 2023-11-02 14:34:21
Kopie: 0 Klicks: 1089
1
konzentrieren Sie sich auf
1617
Anhänger

Triple RSI Extreme Handelsstrategie

Überblick

Die Strategie beurteilt, ob der Markt die Grenzbereiche für Überkauf und Überverkauf erreicht hat, indem sie gleichzeitig drei verschiedene RSI-Indikatoren beobachtet. Die wichtigsten Markttrends werden durch die Beobachtung einer Kombination verschiedener periodischer Indikatoren ermittelt.

Strategieprinzip

Die Strategie nutzt gleichzeitig die RSI-Indikatoren von 2, 7 und 14 Zyklen. Wenn drei RSI-Indikatoren gleichzeitig ein Überkauf- oder Überverkaufsignal zeigen, wird ein Handelssignal ausgegeben.

Wenn der 2-Zyklus-RSI kleiner als 10, der 7-Zyklus-RSI kleiner als 20, der 14-Zyklus-RSI kleiner als 30 ist, wird der Markt als überkauft angesehen und ein Kaufsignal ausgegeben. Wenn der 2-Zyklus-RSI größer als 90, der 7-Zyklus-RSI größer als 80, der 14-Zyklus-RSI größer als 70 ist, wird der Markt als überkauft angesehen und ein Verkaufsignal ausgegeben.

Der Code verwendet Accuracy-Parameter, um den RSI-Überkauf-Überverkauf-Urteil zu verändern. Die Default-Wertung 3 besagt, dass je kleiner der Wert ist, desto strenger der Überkauf-Überverkauf-Urteil ist.

Wenn der Preis nach dem Kauf- oder Verkaufssignal umgekehrt den Eröffnungspreis des Tages überschreitet, wird die aktuelle Position ausgeglichen und ein Trend-Tracking-Stopp durchgeführt.

Analyse der Stärken

  • Durch die Kombination von mehrperiodischen RSI-Indikatoren können Überkauf- und Überverkaufssituationen in den Märkten genauer beurteilt und falsche Signale gefiltert werden.

  • Mit unterschiedlichen Parametern können die Überkauf- und Überverkaufskonditionen leicht angepasst werden, um die Strategie entsprechend der Marktempfindlichkeit anzupassen.

  • Einführung von Stop-Loss-Tracking bei den Eröffnungspreisen, um Verluste rechtzeitig zu stoppen und Gewinne zu sichern.

Risikoanalyse

  • Der RSI ist leicht abweichend und nicht sehr effektiv bei der Beurteilung von Trendwechseln.

  • Die RSI-Anzeige muss für die hohen Schwankungen angepasst werden, da sie sonst häufig verliert.

  • Der Triple RSI wird seltener gleichzeitig ausgelöst und kann eine gute Handelschance verpassen.

  • Die Parameter für die Überkauf- und Überverkaufsschätzung sollten entsprechend angepasst werden, und es wird empfohlen, die Wirksamkeit der Daten für verschiedene Märkte zu testen.

Optimierungsrichtung

  • Es kann in Erwägung gezogen werden, andere Indikatoren wie Brinline, KDJ usw. zu verwenden, um die Abweichung des RSI zu vermeiden.

  • Die Parameter des RSI können automatisch für verschiedene Arten von Situationen optimiert werden.

  • Andere Stopp-Exit-Bedingungen, wie z. B. ATR-Stopp, können getestet werden.

  • Es können Bedingungen hinzugefügt werden, um die Zeiträume zu filtern, die für den Handel geeignet sind, um unpassende Zeiten zu vermeiden.

Zusammenfassen

Die Strategie verwendet die Kombination von mehrperiodischen RSI-Indikatoren, um überkaufte und überverkaufte Bereiche zu beurteilen. Die Vorteile sind, dass die Genauigkeit der Beurteilung verbessert werden kann.

Strategiequellcode
/*backtest
start: 2023-10-25 00:00:00
end: 2023-10-28 10:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Triple RSI Top/Bottom", shorttitle = "3RSI Top/Bottom", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
accuracy = input(3, defval = 3, minval = 1, maxval = 10, title = "accuracy")
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")


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

//RSI-7
middleup = rma(max(change(close), 0), 7)
middledown = rma(-min(change(close), 0), 7)
middlersi = middledown == 0 ? 100 : middleup == 0 ? 0 : 100 - (100 / (1 + middleup / middledown))

//RSI-14
slowup = rma(max(change(close), 0), 14)
slowdown = rma(-min(change(close), 0), 14)
slowrsi = slowdown == 0 ? 100 : slowup == 0 ? 0 : 100 - (100 / (1 + slowup / slowdown))

//Signals
acc = 10 - accuracy
up = fastrsi < (5 + acc) and middlersi < (10 + acc * 2) and slowrsi < (15 + acc * 3)
dn = fastrsi > (95 - acc) and middlersi > (90 - acc * 2) and slowrsi > (85 - acc * 3)
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size > 0 and close > open)

//Trading
if up
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Bottom", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Top", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()