Laguerre RSI Handelsstrategie


Erstellungsdatum: 2023-12-19 14:04:46 zuletzt geändert: 2023-12-19 14:04:46
Kopie: 0 Klicks: 1317
1
konzentrieren Sie sich auf
1621
Anhänger

Laguerre RSI Handelsstrategie

Überblick

Die RSI-Handelsstrategie basiert auf John EHLERS’s RSI-Filter. Die Strategie erhöht oder verringert die Lagritude und Gleitfähigkeit des RSI-Indikators durch eine Anpassung des α-Faktors, um so den RSI-Indikator zu filtern und ein klareres Kauf- und Verkaufssignal zu erzeugen.

Strategieprinzip

Der Kernindikator der Strategie ist der Ragel RSI. Die Berechnungsformel lautet:

L0 = (1-γ)*Src + γ*L0[1] L1 = -γ*L0 + L0[1] + γ*L1[1]
L2 = -γ*L1 + L1[1] + γ*L2[1] L3 = -γ*L2 + L2[1] + γ*L3[1]

Hier ist γ = 1-α, wobei α ein einstellbarer Faktor ist, wobei Src den Preis darstellt. L0 bis L3 sind vier Indikatoren, die eine fortlaufende Beziehung enthalten. Auf dieser Basis können die aktuellen Aufwärts- und Abwärts-Prozent cu und cd berechnet werden:

cu = (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0) cd = (L0

Dann kann man den RSI mit Hilfe von cu und cd berechnen:

LaRSI = cu / (cu + cd)

Durch die Struktur des Recursive-Filters filtert der RSI eine große Menge an zufälligem Geräusch, um ein klareres und glatteres Handelssignal zu erzeugen, während die Fähigkeit des RSI, Trends zu erkennen, erhalten bleibt.

Spezifische Handelsregeln: Wenn der RSI über 20 liegt, ist das Plus; wenn der RSI unter 80 liegt, ist das Minus.

Analyse der Stärken

Die wichtigsten Vorteile der RSI-Strategie von Rachael sind:

  1. RSI-Indikatorgeräusche werden durch die Ragel-Filterstruktur effizient gefiltert, um Handelssignale klarer und zuverlässiger zu machen

  2. Die Anpassung des α-Faktors ermöglicht eine flexible Optimierung der Parameter der Strategie für die breitere Marktumgebung

  3. Die langfristige Wirksamkeit des RSI-Indikators wird beibehalten, während Dynamikerkennung, Trendbindung und Überbuying und Überselling durch Filter erfolgen

  4. Strategie-Regeln sind einfach, intuitiv und leicht umzusetzen und funktionieren gut in verschiedenen Marktumgebungen

Risikoanalyse

Diese Strategie birgt folgende Risiken:

  1. Die falsche Einstellung des α-Koeffizienten kann zu übermäßigen Verzögerungen oder übermäßigen Filterungen führen, wodurch Preisänderungen übersehen werden.

  2. Häufige Handelsverluste in stark bewegten Märkten

  3. Die lang andauernde Bull-Markt könnte einen Teil der Aufschwungchancen verpassen

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Einstellungen zur Optimierung des α-Faktors mithilfe von Machine Learning-Algorithmen

  2. Erhöhung der Stop-Loss-Mechanismen und Verringerung der Risiken

  3. In Kombination mit anderen Indikatoren zur Beurteilung von Falschmeldungen

  4. Erhöhung der Quantitative Easing-Regelung, um Gewinne in bestimmten Phasen zu sichern

Zusammenfassen

Die RSI-Strategie von Rachael identifiziert Überkauf-Überverkauf durch einen Filtermechanismus und vermeidet die Störung durch Geräusche, während das Handelssignal ausgegeben wird. Die Strategie ist einfach, praktisch, hat viel Platz für Parameteroptimierung und ist in der Lage, sich an verschiedene Marktumgebungen anzupassen.

Strategiequellcode
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mertriver1
// Developer: John EHLERS
//@version=3
// Author:Kıvanç Özbilgiç
strategy("Laguerre RSI", shorttitle="LaRSI", overlay=false)
src = input(title="Source", defval=close)
alpha = input(title="Alpha", type=float, minval=0, maxval=1, step=0.1, defval=0.2)
colorchange = input(title="Change Color ?", type=bool, defval=false)

Date1      = input(true, title = "=== Date Backtesting ===")
FromDay1   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth1 = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear1  = input(defval = 2020, title = "From Year", minval = 2017)

ToDay1     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth1   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear1    = input(defval = 9999, title = "To Year", minval = 2017)

start1     = timestamp(FromYear1, FromMonth1, FromDay1, 00, 00) 
finish1    = timestamp(ToYear1, ToMonth1, ToDay1, 23, 59)        
window1()  => time >= start1 and time <= finish1 ? true : false

gamma=1-alpha
L0 = 0.0
L0 := (1-gamma) * src + gamma * nz(L0[1])
L1 = 0.0
L1 := -gamma * L0 + nz(L0[1]) + gamma * nz(L1[1])

L2 = 0.0
L2 := -gamma * L1 + nz(L1[1]) + gamma * nz(L2[1])

L3 = 0.0
L3 := -gamma * L2 + nz(L2[1]) + gamma * nz(L3[1])

cu= (L0>L1 ? L0-L1 : 0) + (L1>L2 ? L1-L2 : 0) + (L2>L3 ? L2-L3 : 0)

cd= (L0<L1 ? L1-L0 : 0) + (L1<L2 ? L2-L1 : 0) + (L2<L3 ? L3-L2 : 0)

temp= cu+cd==0 ? -1 : cu+cd
LaRSI=temp==-1 ? 0 : cu/temp

Color = colorchange ? (LaRSI > LaRSI[1] ? green : red) : blue
plot(100*LaRSI, title="LaRSI", linewidth=2, color=Color, transp=0)
plot(20,linewidth=1, color=maroon, transp=0)
plot(80,linewidth=1, color=maroon, transp=0)

strategy.entry("Long",   true, when = window1() and crossover(cu, cd))
strategy.entry("Short", false, when = window1() and crossunder(cu, cd))