
Die Multiple RSI-Indikator-Handelsstrategie verwendet mehrere RSI-Indikatoren in Kombination, um Handelschancen zu identifizieren und Trends zu verfolgen. Die Strategie nutzt 1-5 RSI-Indikatoren flexibel, um Eintritts- und Ausstiegszeiten anhand der Indikatorwerte zu bestimmen.
Die Strategie verwendet 1-5 RSI-Indikatoren, die durch die Auswahl der Eingabeparameter ausgewählt werden, wobei jeder RSI-Indikator die Anzahl der Perioden und die Grenzwerte der Parameter unabhängig konfigurieren kann. Die Signalstärke wird durch die Anzahl der RSI-Perioden bestimmt, die das Signal auslösen, wenn ein beliebiger Wert des RSI-Indikators unterhalb der entsprechenden Grenzwerte ist.
Der größte Vorteil der Strategie besteht darin, dass die RSI-Indikatoren für mehrere Zyklen gleichzeitig bewertet werden können, um Trends und Umkehrmöglichkeiten aus mehreren Dimensionen zu beurteilen und die Genauigkeit von Handelsentscheidungen zu verbessern. Darüber hinaus erlaubt die Strategie die freien Konfigurationen der Parameter der einzelnen RSI-Indikatoren, die für verschiedene Märkte angepasst werden können, um die Anpassungsfähigkeit der Strategie zu erweitern. Durch die Farbfilterung können auch falsche Durchbrüche effektiv gefiltert werden.
Das Hauptrisiko dieser Strategie besteht darin, dass bei der Beurteilung einer Kombination aus mehreren RSI-Indikatoren ein Signalkonflikt auftreten kann. Zum Beispiel erzeugt der kurzfristige RSI ein Kaufsignal, aber der langfristige RSI befindet sich immer noch in einem Überverkaufszustand. Die Entscheidung, welches Signal genau verwendet werden soll, muss mit der eigenen Erfahrung des Händlers kombiniert werden.
Die Strategie kann überlegen, Trendhilfen wie Moving Averages oder Brin-Bands hinzuzufügen, um die RSI-Signale zu überprüfen und die Genauigkeit der Beurteilung zu verbessern. Darüber hinaus kann man darüber nachdenken, eine bestimmte Art von Machine-Learning-Algorithmen hinzuzufügen, die die Reliabilität von Entry- und Close-Signalen automatisch mit Hilfe von Multifaktor-Score-Methoden beurteilen. Aus Sicht der Risikokontrolle kann man auch eine Floating-Loss-Line oder eine Maximum-Return-Line einrichten, um den Verlust zu stoppen.
Die Mehrfach-RSI-Trading-Strategie ist insgesamt sehr innovativ. Die Flexibilität der Indicator-Kombination und der Parameter-Einstellungen ermöglicht eine schnelle Anpassung an Marktveränderungen. Die zugehörige modulare Funktionsgestaltung ermöglicht eine große Optimierung der Strategie. Die Wirksamkeit kann weiter verbessert werden, wenn sie mit Machine Learning oder Risikokontrollen kombiniert wird.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Symphony Strategy v1.1", shorttitle = "Symphony str 1.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 20)
//Settings
//needlong = input(true, defval = true, title = "Long")
//needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
usersi1 = input(true, defval = true, title = "Use RSI 1")
rsiperiod1 = input(4, defval = 4, minval = 2, maxval = 100, title = "RSI 1 Period")
rsilimit1 = input(20, defval = 20, minval = 2, maxval = 50, title = "RSI 1 Limit")
usersi2 = input(true, defval = true, title = "Use RSI 2")
rsiperiod2 = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI 2 Period")
rsilimit2 = input(25, defval = 25, minval = 2, maxval = 50, title = "RSI 2 Limit")
usersi3 = input(true, defval = true, title = "Use RSI 3")
rsiperiod3 = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI 3 Period")
rsilimit3 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 3 Limit")
usersi4 = input(false, defval = false, title = "Use RSI 4")
rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period")
rsilimit4 = input(35, defval = 35, minval = 2, maxval = 50, title = "RSI 4 Limit")
usersi5 = input(false, defval = false, title = "Use RSI 5")
rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period")
rsilimit5 = input(40, defval = 40, minval = 2, maxval = 50, title = "RSI 5 Limit")
cf = input(false, defval = false, 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")
//RSI
rsi1 = rsi(close, rsiperiod1)
rsi2 = rsi(close, rsiperiod2)
rsi3 = rsi(close, rsiperiod3)
rsi4 = rsi(close, rsiperiod4)
rsi5 = rsi(close, rsiperiod5)
//Signals
up1 = rsi1 < rsilimit1 and usersi1
up2 = rsi2 < rsilimit2 and usersi2
up3 = rsi3 < rsilimit3 and usersi3
up4 = rsi4 < rsilimit4 and usersi4
up5 = rsi5 < rsilimit5 and usersi5
str = up5 ? 5 : up4 ? 4 : up3 ? 3 : up2 ? 2 : up1 ? 1 : str[1]
up = up1 or up2 or up3 or up4 or up5
exit = (rsi1 > rsilimit1 and str == 1) or (rsi2 > rsilimit2 and str == 2) or (rsi3 > rsilimit3 and str == 3) or (rsi4 > rsilimit4 and str == 4) or (rsi5 > rsilimit5 and str == 5)
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Background
col = up ? lime : na
bgcolor(col, transp = 0)
//Trading
if up and (close < open or cf == false)
strategy.entry("Long", strategy.long, lot, 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()