Strategie zur Synthese mehrerer Indikatoren für die relative Stärke

Schriftsteller:ChaoZhang, Datum: 2024-01-02 12:06:14
Tags:

img

Übersicht

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.

Strategie Logik

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.

Stärken der Strategie

  1. Verbesserung der Genauigkeit von Einträgen mit mehreren RSI

Die Strategie verwendet 5 RSI aus verschiedenen Perioden, um Kauf- und Verkaufssignale zu generieren. Ein einzelner Indikator kann manchmal ein falsches Signal erzeugen.

  1. 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.

  2. 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.

Risiken der Strategie

  1. 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.

  2. 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.

  3. 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.

Richtungen für die Optimierung

  1. 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.

  2. 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.

  3. 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.

Schlussfolgerung

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()

Mehr