Kombination von DMI und gleitender Durchschnittshandelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-28 12:39:44
Tags:

Übersicht

Diese Strategie kombiniert den Directional Movement Index (DMI) und den gleitenden Durchschnitt, um die Trendrichtung zu identifizieren und Handelssignale zu erzeugen.

Strategie Logik

Die Strategie basiert auf zwei Hauptindikatoren:

  1. DMI, einschließlich DMI+ und DMI-, wird verwendet, um das Bestehen und die Richtung eines Trends zu identifizieren. Wenn DMI+ über DMI- liegt, ist ein Aufwärtstrend vorhanden. Wenn DMI- über DMI+ liegt, ist ein Abwärtstrend vorhanden.

  2. Der gleitende Durchschnitt, der in der Regel auf 15 bis 50 Tage festgelegt wird, wird verwendet, um die Kursentwicklung zu bestimmen.

Die Strategie berechnet zunächst den DMI+, den DMI- und den gleitenden Durchschnitt. Wenn der DMI einen Trendzustand zeigt (DMI+ über DMI- oder umgekehrt) und der gleitende Durchschnitt die Richtung bestätigt, wird ein Handelssignal generiert.

  • Wenn der DMI+ über den DMI- und der Preis über den MA-Kreuz geht, gehen Sie lang.

  • Wenn der DMI- über dem DMI+ und der Preis unter dem MA steigt, gehen Sie kurz.

Eine umgekehrte Eingabeoption ist ebenfalls enthalten, bei der die langen und kurzen Signale umgekehrt werden.

Analyse der Vorteile

Die Kombination eines Trendindikators wie DMI und eines Trendindikators wie dem gleitenden Durchschnitt kann die Signalzuverlässigkeit verbessern, indem die Stärken beider genutzt werden.

Der Vorteil von DMI ist die schnelle Identifizierung aufstrebender Trends. Der gleitende Durchschnitt hilft, Lärm zu filtern und die Trendrichtung zu bestätigen.

Die umgekehrte Option ergänzt auch die Flexibilität beim Handel mit oder gegen den Trend.

Risikoanalyse

Die wichtigsten Risiken dieser Strategie sind:

  1. Bei Trendübergängen können falsche Signale auftreten, die zu Verlusten führen.

  2. Die Entwicklung von Trends erfordert Zeit. In der Zwischenzeit können Preisschwankungen falsche Signale erzeugen. Verlängerung von DMI- und MA-Perioden können dieses Rauschen filtern.

  3. Bei der Umkehroption sollte die Verlustgröße begrenzt und Trailing Stops verwendet werden, um Gewinne zu erzielen.

  4. Parameter müssen für verschiedene Produkte und Zeitrahmen neu optimiert werden.

Optimierungsrichtlinien

Die möglichen Optimierungen für diese Strategie sind:

  1. Verschiedene gleitende Durchschnittsperioden testen, um die für Trendübergänge am besten geeignete zu finden.

  2. Prüfung der DMI-Gleichungsperioden, um kurze Trendumkehrungen auszuschließen.

  3. Beurteilung der Wirkung der umgekehrten Option im Vergleich zu einem Standardtrend, der in historischen Backtests durchgeführt wird, um den besseren Ansatz zu wählen.

  4. Einbeziehung von Stop-Strategien wie Trailing-Stops, Time-Stops oder Breakout-Stops, um die Verlustgröße zu begrenzen.

  5. Bewertung der Leistung von Parametern für verschiedene Produkte und Zeitrahmen und Optimierung von Parametern.

  6. Filter wie RSI hinzufügen, um falsche Signale bei lokalisierten Extremen zu vermeiden.

Zusammenfassung

Diese Strategie kombiniert die Stärken des Trendfolgenden DMI und der gleitenden Durchschnittsindikatoren, um Trends frühzeitig zu betreten und gleichzeitig Whipsaws in unruhigen Märkten zu vermeiden. Die umgekehrte Option fügt auch Flexibilität hinzu. Weitere Verbesserungen der Stabilität können durch Parameteroptimierung, Stopps und Kombination mit zusätzlichen Filtern erzielt werden. Allerdings müssen Parameter erneut auf Anwendbarkeit in verschiedenen Produkten und Zeitrahmen getestet werden.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/03/2017
// The related article is copyrighted material from Stocks & Commodities Aug 2009 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining DMI And Moving Average For A EUR/USD Trading System")
Length_MA = input(30, minval=1)
Length_DMI = input(14, minval=1)
reverse = input(false, title="Trade reverse")
xMA = sma(close, Length_MA)
up = change(high)
down = -change(low)
trur = rma(tr, Length_DMI)
xPDI = fixnan(100 * rma(up > down and up > 0 ? up : 0, Length_DMI) / trur)
xNDI = fixnan(100 * rma(down > up and down > 0 ? down : 0, Length_DMI) / trur)
nPDI = xPDI
nNDI = xNDI
nMA = xMA
nPDI_1 = xPDI[1]
nNDI_1 = xNDI[1]
nMA_1 = xMA[1]
bMDILong =iff(nPDI > nNDI and nPDI_1 < nNDI_1, true, 
           iff(nPDI < nNDI and nPDI_1 > nNDI_1, false, false)) 
bMDIShort =  iff(nPDI > nNDI and nPDI_1 < nNDI_1, false, 
              iff(nPDI < nNDI and nPDI_1 > nNDI_1, true, false)) 
bMALong = iff(close > nMA and close[1] < nMA_1, true, 
           iff(close < nMA and close[1] > nMA_1, false, false))
bMAShort = iff(close > nMA and close[1] < nMA_1, false, 
             iff(close < nMA and close[1] > nMA_1, true, false))
pos = iff(bMDILong and bMALong, 1, 
     iff(bMDIShort and bMAShort, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1 )
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nPDI, color=green, title="DMI Plus")
plot(nNDI, color=red, title="DMI Minus")

Mehr