DMI-Multiplikator-Gleitende-Durchschnitt-Handelsstrategie


Erstellungsdatum: 2023-09-13 14:42:19 zuletzt geändert: 2023-09-13 14:42:19
Kopie: 1 Klicks: 797
1
konzentrieren Sie sich auf
1617
Anhänger

Eine neue quantitative Trading-Strategie, die auf Basis von DMI-Indikatoren die Bottom- und Top-Positions identifiziert. In diesem Artikel werden die Prinzipien, Vorteile und möglichen Risiken der Trading-Strategie im Detail beschrieben.

Strategieprinzip

Der DMI, auch bekannt als der “Average Directional Movement Index”, wurde von Welles Wilder in den 1970er Jahren entwickelt, um die Tendenz und Stärke des Marktes zu bestimmen. Der DMI besteht aus drei Linien:

  • +DI: Stärke des Aufwärtstrends
  • - DI: Die Intensität der Abwärtstrend
  • ADX: Die durchschnittliche Stärke des Trends

Wenn + DI über -DI liegt, bedeutet dies, dass der Anstieg stärker ist, und man kann überlegen, ob man mehr macht. Wenn -DI über + DI liegt, bedeutet dies, dass der Rückgang stärker ist, und man kann überlegen, leer zu sein.

Die Kernlogik der Strategie lautet:

  1. Wenn die +DI unter der Linie 10 und die -DI unter der Linie 40 ist, machen Sie mehr.
  2. Wenn die -DI unter der Linie 10 und die +DI unter der Linie 40 ist, ist frei

Das heißt, wenn die umgekehrte DI-Linie deutlich stärker ist als die positive DI-Linie, kann man beurteilen, dass die aktuelle Tendenz sich bald umkehren wird, und kann dann angemessen eingreifen, um eine Umkehroperation durchzuführen.

Um Fehlstellungen zu filtern, verwendet die Strategie die Durchschnittslinie des DI, wobei die Parameter wie folgt eingestellt sind:

  • +DI und -DI haben jeweils 11 Perioden.
  • Die ADX-Gleichungsphase beträgt 11.

Die Frequenz des Handelssignals wird durch die Anpassung der Durchschnittslinie-Parameter gesteuert.

Diese Strategie gilt hauptsächlich für den Handel mit NIFTY50 Index-Optionen, kann aber auch für andere Sorten verwendet werden.

Strategische Vorteile

Im Vergleich zur einfachen DI-Kreuzungsstrategie verwendet diese Strategie eine durchschnittliche Filterung der DI-Indikatoren, um die Whipsaw zu reduzieren und die Anzahl der Transaktionen zu reduzieren, wodurch die Transaktionskosten und die Verluste an Gleitpunkten reduziert werden.

Im Gegensatz zu einfachen Trend-Tracking-Strategien ist diese Strategie bei der Bestimmung von Trendwendepunkten sehr präzise und kann Handelschancen in der Nähe von Wendepunkten rechtzeitig erfassen.

Die Optimierung der Parameter dieser Strategie ist relativ einfach und ermöglicht eine effektive Optimierung.

Gefahrenhinweise

Diese Strategie gibt nur die Richtung des Handelssignals an. Die spezifischen Stop-Loss-Anforderungen müssen nach den persönlichen Risikopräferenzen eingestellt werden.

Der DMI-Indikator kann bei der Berechnung von Gebieten viele falsche Signale erzeugen. Diese Strategie sollte in nicht trendigen Märkten vermieden werden.

Die DI-Kreuzung kann keine Trendwende vorhersagen, es gibt einige Zeitfehler. Die Handelssignale sollten in geeigneter Kombination mit anderen Indikatoren überprüft werden.

Zusammenfassen

Diese Strategie kann durch die Filterung der DI-Gleichlinie Trend-Umkehr-Gelegenheiten effektiv erkennen. Im Vergleich zu anderen Trend-Tracking-Strategien hat sie eine stärkere Fähigkeit zur Umkehrerkennung. Insgesamt sind die Parameter dieser Strategie optimiert und flexibel, um als ein Modul für quantitative Handelssysteme geeignet zu sein.

Strategiequellcode
/*backtest
start: 2023-09-05 00:00:00
end: 2023-09-12 00:00:00
period: 1m
basePeriod: 1m
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/
// © email_analysts
// This code gives indication on the chart to go long based on DMI and exit based on RSI. 
//Default value has been taken as 14 for DMI+ and 6 for RSI.
//@version=5
strategy(title="DMI Strategy", overlay=false)
lensig = input.int(11, title="ADX Smoothing", minval=1, maxval=50)
len = input.int(11, minval=1, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / trur)
minus = fixnan(100 * ta.rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
//plot(adx, color=#F50057, title="ADX")
plot(plus, color=color.green, title="+DI")
plot(minus, color=color.red, title="-DI")
hlineup = hline(40, color=#787B86)
hlinelow = hline(10, color=#787B86)

buy = plus < 10 and minus > 40
if buy
    strategy.entry('long', strategy.long)

sell = plus > 40 and minus < 10
if sell
    strategy.entry('short', strategy.short)