ADX- und RSI-Momentumindikator-Strategie


Erstellungsdatum: 2023-12-11 16:06:30 zuletzt geändert: 2023-12-11 16:06:30
Kopie: 0 Klicks: 886
1
konzentrieren Sie sich auf
1621
Anhänger

ADX- und RSI-Momentumindikator-Strategie

Überblick

Diese Strategie nutzt die Dynamikindikatoren ADX, RSI und Bollinger Bands, um eine automatische Trading-Strategie zu entwickeln, die durch die Beurteilung von Markttrends und Überkauf-Überverkauf-Szenarien zu einem niedrigen Kauf-Hochverkauf führt und einen Gewinn erzielt.

Strategieprinzip

  1. Der ADX-Indikator beurteilt die Tendenz. Wenn der ADX größer als 32 ist, wird angenommen, dass der Markt in einem Trendzustand ist.
  2. Der RSI beurteilt Überkauf und Überverkauf. Wenn der RSI über 30 liegt, wird der Markt als überkauft angesehen. Wenn der RSI unter 70 liegt, wird der Markt als überkauft angesehen.
  3. Die Bollinger Bands beurteilen die Bilanzierung und den Durchbruch. Wenn die Schlusskosten die Bollinger Bands überschreiten, wird die Kurse als Ende der Bilanzierung angesehen. Wenn die Schlusskosten die Bollinger Bands überschreiten, wird die Kurse als Ende der Bilanzierung angesehen.

Die Handelsstrategie basiert auf den oben genannten Kennzahlen:

Kaufbedingungen:

  1. ADX>32, Trendsituation
  2. Der RSI überschreitet 30 und ist überverkauft.
  3. Kurse unterhalb der Brin-Band-Relation, ein Abschluss der Abnahme

Verkaufsbedingungen:

  1. ADX>32, Trendsituation
  2. Der RSI überschreitet die 70er und ist überkauft.
  3. Der Abschlusspreis lag höher als der von Brin, der am Ende der Börsenkurve platziert wurde.

Analyse der Stärken

Diese Strategie verwendet mehrere Indikatoren, um die Marktlage zu beurteilen, um die Wahrscheinlichkeit einer Fehleinschätzung durch einen einzelnen Indikator zu vermeiden. Gleichzeitig kann durch die Beurteilung von Trends, Überkauf-Überverkauf-Zuständen der Marktwendepunkt effektiv gesperrt werden, um einen niedrigen Kauf-Hochverkauf zu erreichen.

Die Strategie kann kurzfristige Chancen zeitnah erfassen, im Vergleich zu einem Trendindikator allein. Die Strategie kann die Richtung der Tendenz besser erfassen, im Vergleich zu einem Stagnationindikator allein. Daher behält die Strategie sowohl die Vorteile der Trendverfolgung als auch die Flexibilität des Gegenwärtigen ein, eine potentiell effiziente quantitative Strategie.

Risikoanalyse

Diese Strategie birgt folgende Risiken:

  1. Risiko, dass der Indikator falsche Signale sendet. Der Indikator kann bei einem großen Ereignis im Markt fehlschlagen.
  2. Die Stop-Loss-Position ist zu radikal eingestellt. Wenn die Stop-Loss-Distanz zu klein ist, kann die Stop-Loss-Position durch kurzfristige Marktschwankungen ausgeschlossen werden.
  3. Risiko einer Parameterübereinstimmung. Wenn Indikatorparameter nur auf Basis historischer Daten angepasst werden, ist die Parameterstabilität schlechter und kann sich nicht an Marktveränderungen anpassen.

Entsprechende Risikomanagementmaßnahmen:

  1. Man kann sich in abnormalen Märkten einmischen, um die Strategie manuell auszusetzen, damit falsche Signale nicht zu Verlusten führen.
  2. Setzen Sie eine angemessene Stop-Loss-Distanz und verhindern Sie, dass die Stop-Loss-Preise in Verbindung mit Indikatoren wie der Gewinnlinie beurteilt werden.
  3. Hinzugefügt wurde ein Parameter-Tuning-Modul, um die Parameter dynamisch zu optimieren, um die Stabilität der Parameter zu gewährleisten.

Optimierungsrichtung

Die Optimierungsmöglichkeiten für diese Strategie bestehen hauptsächlich in folgenden Bereichen:

  1. Optimierung der Parameter der Kennziffer. Intelligente Optimierungsalgorithmen können eingeführt werden, um die Parameter für verschiedene Sorten unabhängig zu optimieren.

  2. Erhöhung der Feature Engineering. Einführung von mehr Preis-Technik-Indikatoren, Einrichtung von Modellen zur Unterstützung der Vektormaschine und andere zu trainieren, Signal-Genauigkeit zu verbessern.

  3. In Kombination mit der Durchbruchstrategie. Je nach den Verhaltensmerkmalen der verschiedenen Sorten, Anwendung von Urteilsregeln auf der Grundlage von Kanälen, Stützungswiderstand usw., um den Durchbruchspunkt zu erfassen und die Strategie zu stabilisieren.

  4. Optimierung der Stop-Loss-Mechanismen. Einführung von Tracking-Stops, Mobile-Stops usw., um die Stop-Loss-Dynamik anzupassen, die Gewinne zu maximieren und das Risiko effektiv zu kontrollieren.

Zusammenfassen

Diese Strategie dient als eine mittelfristige quantitative Handelsstrategie, die die Marktlage anhand von mehreren technischen Indikatoren wie ADX, RSI und Brin-Band beurteilt und bei wesentlichen Veränderungen der Marktstruktur Kauf- und Verkaufsoperationen durchführt. Die Strategie ist klar interpretierbar und kann die Wahrscheinlichkeit von Fehleinschätzungen bei einzelnen technischen Indikatoren erheblich reduzieren. Gleichzeitig muss die Strategie auch darauf achten, dass die Indikatoren falsche Signale senden, Risiken wie zu radikale Stop- und Verlustparameter setzen.

Strategiequellcode
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("DAX Shooter 5M Strategy", overlay=true)

//Creo ADX
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
th = input(title="threshold", type=input.integer, defval=20)
dirmov(len) =>
    up = change(high)
    down = -change(low)
    plusDM = na(up) ? na : up > down and up > 0 ? up : 0
    minusDM = na(down) ? na : down > up and down > 0 ? down : 0
    truerange = rma(tr, len)

    plus = fixnan(100 * rma(plusDM, len) / truerange)
    minus = fixnan(100 * rma(minusDM, len) / truerange)

    [plus, minus]

adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
    adx


[plus, minus] = dirmov(dilen)
sig = adx(dilen, adxlen)

//Creo RSI

src = close
len = input(7, minval=1, title="Periodo RSI")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
bandainf = input(30, title="Livello Ipervenduto")
bandasup = input(70, title="Livello Ipercomprato")


//Creo Bande di Bollinger

source = close
length = input(50, minval=1, title="Periodo BB")
mult = input(2.0, minval=0.001, maxval=50, title="Dev BB")

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

plot(basis, color=color.white)
p1 = plot(upper, color=color.aqua)
p2 = plot(lower, color=color.aqua)
fill(p1, p2)

//Stabilisco regole di ingresso

if crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
    strategy.entry("COMPRA", strategy.long, limit=upper, oca_name="DaxShooter", comment="COMPRA")
else
    //strategy.exit("exit", "COMPRA", loss = 90) 
    strategy.cancel(id="COMPRA")

if crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
    strategy.entry("VENDI", strategy.short, limit=lower, oca_name="DaxShooter",comment="VENDI")
else
    //strategy.exit("exit", "VENDI", loss = 90)
    strategy.cancel(id="VENDI")

//Imposto gli alert
buy= crossover(rsi, bandainf) and adx(dilen, adxlen) > 32 and low < lower
sell= crossunder(rsi, bandasup) and adx(dilen, adxlen) > 32 and high > upper
alertcondition(buy, title='Segnale Acquisto', message='Compra DAX')
alertcondition(sell, title='Segnale Vendita', message='Vendi DAX')

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)