Die Strategie der Synthese zwischen mehreren relativen Stärkenindikatoren (RSI) ist eine Timing-Handelsstrategie, die mehrere RSI mit verschiedenen Perioden zum Handel mit Aktien verwendet. Sie verfolgt gleichzeitig 1-, 2-, 3-, 4- und 5-Perioden-RSI-Indikatoren. Kaufsignale werden generiert, wenn einer der RSI unter eine Schwelle fällt. Verkaufssignale werden generiert, wenn alle RSI ihre eigenen Schwellen überschreiten, um Gewinne zu erzielen.
Die wichtigste Begründung für diese Strategie besteht darin, 1-, 2-, 3-, 4- und 5-Perioden-RSI-Indikatoren gleichzeitig zu verfolgen, einschließlich 4-, 7-, 14-, 21- und 28-Perioden-RSI. Für jeden der 5 RSI-Indikatoren werden separate Schwellenwerte festgelegt. Ein Kaufsignal wird ausgelöst, wenn einer der RSI unter seinen eigenen Schwellenwert fällt.
Zum Beispiel wird die Schwelle des 4-Perioden-RSI auf 15 gesetzt. Ein Kaufsignal wird erzeugt, wenn der 4-Perioden-RSI unter 15 fällt. Die Strategie überprüft andere RSI, um zu sehen, ob sie auch unter ihre eigenen Schwellen fallen. Wenn ja, werden mehr Kaufsignale erzeugt.
Wenn alle 5 RSI-Indikatoren ihre eigenen Schwellenwerte überschreiten, wird ein Verkaufssignal erzeugt, um Gewinne zu erzielen.
Die Strategie verwendet 5 RSI aus verschiedenen Perioden, um Kauf- und Verkaufssignale zu generieren. Ein einzelner Indikator kann manchmal ein falsches Signal erzeugen.
RSI für verschiedene Zeiträume, die für verschiedene Marktbedingungen geeignet sind
Die in dieser Strategie verwendeten 1-, 2-, 3-, 4-, 5-Perioden-RSIs können sich an Aktienschwankungen unterschiedlicher Frequenzen anpassen. Zum Beispiel eignet sich ein 28-Perioden-RSI für den langfristigen Handel, während ein 4-Perioden-RSI für den kurzfristigen Handel geeignet ist. Dies garantiert, dass die Strategie unter verschiedenen Marktsituationen funktioniert.
Saubere und klare Codestruktur
Die Variablenbezeichnung und die Gesamtstruktur des Strategiecodes sind ordentlich und selbstverständlich. Der Logikfluss für verschiedene Indikatoren und Signale ist klar. Dies macht die Strategie leicht zu verstehen, zu modifizieren und zu optimieren, was für quantitative Strategien von großer Bedeutung ist.
Ungültig auf dem Trendmarkt
Die Strategie stützt sich stark auf überkaufte und überverkaufte Signale. Ihre Wirksamkeit wäre in einem anhaltenden Auf- oder Abwärtstrendmarkt beeinträchtigt. Dies ist ein allgegenwärtiger Fehler von Mittelumkehrstrategien mit umgekehrten Indikatoren.
Schwierigkeiten bei der Optimierung von Parametern
Eine Vielzahl von Indikatoren und Eingabeparametern existiert in dieser Strategie. Dies stellt enorme Herausforderungen für die Parameteroptimierung dar. Eine unsachgemäße Parameterkombination kann die Strategiewirksamkeit drastisch verringern. Optimierungswerkzeuge sollten verwendet werden, um nach dem Parametersatz zu suchen, der die Strategieleistung maximiert.
Häufige Umkehrungen zwischen Long und Short
Aufgrund der Verwendung mehrjähriger Indikatoren können lange und kurze Positionsänderungen in der Strategie ziemlich häufig auftreten, was zu höheren mit dem Handel verbundenen Kosten und Risiken im Zusammenhang mit Kursschwankungen führen kann.
Einbeziehung von Trendindikatoren
Es können Trendwerkzeuge wie MA und BOLL hinzugefügt werden. Die Signale werden nur dann aufgenommen, wenn die Trendwerkzeuge mit den Signalen der umgekehrten Indikatoren übereinstimmen. Dies hilft, Verluste bei anhaltenden Trendsituationen zu vermeiden.
Verringern Sie die Anzahl der RSI-Indikatoren
Versuchen Sie, die Anzahl der verwendeten RSI-Tools zu verringern. Dies mildert die Schwierigkeiten bei der Parameteroptimierung. Experimente zeigen, dass 2 bis 3 Indikatoren bereits eine zufriedenstellende Wirksamkeit erzeugen können.
Optimieren von Parameterbereichen
Suchen Sie nach optimalen Bereichen und Kombinationen von RSI-Parametern und Schwellenwerten mit Optimierungsmethoden wie Gradient-Abstieg und zufällige Suche. Dies maximiert die Strategieleistung.
Die Strategie der RSI-Synthese erzeugt Handelssignale durch Versammlungssignale von mehreren RSI mit verschiedenen Perioden. Dies verbessert die Genauigkeit der Einträge, um den Timing-Handel in Aktien zu realisieren. Trotz der Vorteile, die durch die Verwendung mehrerer Indikatoren geerbt werden, bleiben Mängel wie Ineffizienz in Trendmärkten und Schwierigkeiten bei der Optimierung bestehen. Methoden wie das Hinzufügen von Trendwerkzeugen, die Verringerung der Indikatorenzahlen und die Optimierung von Parametern können dazu beitragen, die Robustheit der Strategie weiter zu steigern.
/*backtest start: 2022-12-26 00:00:00 end: 2024-01-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Symphony v1.0", shorttitle = "Symphony 1.0", 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(15, defval = 15, 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(20, defval = 20, 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(25, defval = 25, minval = 2, maxval = 50, title = "RSI 3 Limit") usersi4 = input(true, defval = true, title = "Use RSI 4") rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period") rsilimit4 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 4 Limit") usersi5 = input(true, defval = true, title = "Use RSI 5") rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period") rsilimit5 = input(35, defval = 35, 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 up = up1 or up2 or up3 or up4 or up5 exit = rsi1 > rsilimit1 and rsi2 > rsilimit2 and rsi3 > rsilimit3 and rsi4 > rsilimit4 and rsi5 > rsilimit5 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, needlong == false ? 0 : lot) if exit strategy.close_all()