Diese Strategie kombiniert zwei leistungsstarke eingebaute Indikatoren in TradingView - den Directional Movement Index (DMI) und den Detrended Price Oscillator (DPO), um eine zuverlässige Grundlage für Handelsentscheidungen zu bilden. Die Kernlogik der Strategie besteht darin, festzustellen, ob der DPO-Wert bei einem DMI-Goldenkreuz größer als 0 ist und ein langes Signal erzeugt, wenn dies der Fall ist; oder um festzustellen, ob der DPO-Wert kleiner als 0 ist, wenn ein DMI-Todkreuz auftritt, und ein kurzes Signal erzeugt, wenn dies der Fall ist. Dies kann effektiv viele falsche Signale filtern, die während von Bereichsschwankungen auf dem Markt erzeugt werden, wodurch nur Handelssignale erzeugt werden, wenn sich ein Trend bildet, wodurch wiederholte Stop-Verluste während der Schwankungen vermieden werden.
Diese Strategie verwendet hauptsächlich den DMI-Indikator, um die Trendrichtung und -stärke zu bestimmen. Der DMI-Indikator besteht aus drei Kurven: +DI, -DI und ADX. +DI repräsentiert die Stärke des Aufwärtstrends, -DI repräsentiert die Stärke des Abwärtstrends, und ihr Crossover kann die aktuelle Trendrichtung bestimmen; ADX repräsentiert die Stärke des Trends, je höher der Wert, desto offensichtlicher der Trend. ADX ist jedoch nicht gut darin, niedrige Volatilitätsbereiche zu identifizieren, so dass diese Strategie die ADX-Bestimmung entfernt und nur die +DI- und -DI-Crossovers verwendet, um die Trendrichtung zu bestimmen.
Um die falschen Signale zu filtern, die in den im Bereich gebundenen Schwingungen erzeugt werden, wird der DPO-Indikator für die Hilfsentscheidung eingeführt. Der DPO-Indikator stellt den Abweichungsgrad des Preises von seiner mittleren Schiene dar. Wenn der Preis über der mittleren Schiene liegt, ist der DPO positiv, und wenn er unterhalb liegt, ist er negativ. Diese Strategie verwendet die Positivität und Negativität des DPO-Indikators, um zu beurteilen, ob er derzeit in einem Trend ist. Wenn der DMI-Indikator kreuzt, aber der DPO-Indikator nahe dem Null-Niveau ist, wird er als Schwingung bestimmt und kein Handelssignal erzeugt.
Insbesondere lautet die Urteilslogik:
Wenn +DI über -DI kreuzt, ist es ein goldenes Kreuz, das auf einen Bullenmarkt hinweist.
Wenn -DI unter +DI fällt, handelt es sich um ein Totkreuz, das auf einen Bärenmarkt hinweist.
Wenn sich +DI/-DI kreuzt, der DPO-Indikator jedoch nahe bei 0 liegt, wird er als Schwingung ermittelt und kein Signal erzeugt.
Der größte Vorteil dieser kombinierten Strategie besteht in der hohen Genauigkeit bei der Identifizierung von Trends, wobei nur dann Handelssignale generiert werden, wenn reale Trendumkehrungen eintreten, wodurch wiederholte Verluste in oszillierenden Intervallen vermieden werden.
Die Verwendung des DMI-Indikators zur Bestimmung der Trendrichtung und -stärke ist ein ausgereifter und zuverlässiger technischer Indikator.
Filtern Sie mit Hilfe des DPO-Indikators falsche Signale in Bereichsgrenzschwingungen aus, erzeugen Sie Signale nur, wenn sich ein Trend bildet, und vermeiden Sie Verluste.
Die Kombination mehrerer Indikatoren kann als gegenseitige Überprüfung dienen und die Zuverlässigkeit der Signale verbessern.
Die Strategie-Logik ist einfach und leicht zu verstehen und umzusetzen und eignet sich für automatisierten oder manuellen Handel.
Da sie nur in Trends handelt, kann sie eine relativ hohe Risikovergütung erzielen.
Obwohl dies eine sehr zuverlässige Strategie ist, sind folgende Risiken zu beachten:
Unerwartete Ereignisse können zu großen einseitigen Marktbewegungen führen und möglicherweise solche Trendchancen verpassen.Dieses Risiko kann durch Senkung der DPO-Parameter verringert werden.
Der DMI-Indikator selbst kann auch falsche Signale erzeugen, und dieses Risiko kann nicht vollständig vermieden werden.
Die falsche Einstellung der Parameter des Datenschutzbeauftragtenindikators kann ebenfalls zu Fehleinschätzungen führen.
Die Handelskosten haben einen gewissen Einfluss auf die Gewinne, daher sollte die Handelsfrequenz kontrolliert werden.
Diese Strategie kann noch weiter optimiert werden:
Es können verschiedene Parameterkombinationen getestet werden, um die optimalen Parameter zu finden, um die Signalverzögerung zu reduzieren und die Gewinnrate zu erhöhen.
Kann mit anderen Indikatoren wie KDJ, MACD usw. zur Überprüfung kombiniert werden, um die Signalgenauigkeit zu verbessern.
Anpassungsparameter können je nach verschiedenen Sorten, Zyklen usw. festgelegt werden, um die Strategie anpassungsfähiger zu machen.
Dynamische Stopps können eingestellt werden, um einzelne Verluste zu kontrollieren.
Maschinelle Lernmethoden können verwendet werden, um die Ein- und Ausstiegszeit für höhere Renditen zu optimieren.
Diese Strategie kombiniert die Vorteile der DMI- und DPO-Indikatoren, um eine hohe Genauigkeit bei der Beurteilung von Trendumkehrungen zu haben und die Generierung von Trends zuverlässig zu identifizieren. Gleichzeitig filtert die Verwendung des DPO-Indikators effektiv das Geräusch aus, das durch Bereichsschwankungen verursacht wird, wodurch ineffektive Trades vermieden werden. Dies macht es zu einer effizienten Strategie, die für den automatisierten Handel und die manuelle Annahme geeignet ist. Natürlich gibt es noch viele Details, die für eine bessere Strategieoptimierung weiter optimiert werden können. Aber die Idee der Kombination von Indikatoren hat eine wichtige Referenzbedeutung für quantitative Handelsstrategieentwicklung.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("DMI DPO Guard Strategy", calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, currency="USD", commission_type=strategy.commission.percent, commission_value=0.25) ///Tradingview's DMI indicator logic/// len = input(34, minval=1, title="DI Lookback") 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) trur = rma(tr, len) plus = fixnan(100 * rma(plusDM, len) / trur) minus = fixnan(100 * rma(minusDM, len) / trur) plot(plus, color=color.orange, title="+DI") plot(minus, color=color.aqua, title="-DI") period_ = input(34, title="Length", minval=1) isCentered = input(false, title="Centered") barsback = period_/2 + 1 ma = sma(close, period_) dpo = isCentered ? close[barsback] - ma : close - ma[barsback] plot(dpo, offset = isCentered ? -barsback : 0, title="Detrended Price Oscillator", color=#C0C000) hline(0, title="Zero Line", color = #C0C0C0) long = crossover(plus, minus) and (dpo > 0) short = crossunder(plus, minus) and (dpo < 0) strategy.entry("Long", strategy.long, when=long) strategy.entry("Short", strategy.short, when=short)