Dynamische gleitende Durchschnitt-Crossover-Trendfolgestrategie


Erstellungsdatum: 2023-12-08 15:45:47 zuletzt geändert: 2023-12-08 15:45:47
Kopie: 0 Klicks: 673
1
konzentrieren Sie sich auf
1621
Anhänger

Dynamische gleitende Durchschnitt-Crossover-Trendfolgestrategie

Überblick

Die Strategie verfolgt den Trend durch die Berechnung der beiden dynamischen Gleichungen von DEMA und TEMA und die Einrichtung von Positionen für Plus- oder Minuspositionen bei Gold- oder Todesforken. Die Strategie setzt außerdem eine bestimmte Anzahl von Positionspositionen ein, um unnötige Stop-Losses zu vermeiden.

Strategieprinzip

Die Strategie basiert hauptsächlich auf der Kreuzung zweier dynamischer Gleichlinien, DEMA und TEMA, um die Richtung des Trends zu bestimmen.

DEMA steht für den Doppelindex-Moving-Average, der die gewichteten Schlankheitsmerkmale der EMA kombiniert und die im EMA vorhandenen Rückstandsprobleme optimiert. Die Berechnungsformel lautet:

DEMA = 2*EMA(CLOSE,N) - EMA(EMA(CLOSE,N),N)

Hier ist N für Demalength.

TEMA steht für Triple Moving Average, der die Verzögerung des Durchschnitts durch eine dreimalige Index-Gleichung reduziert. Die Berechnungsformel lautet:

EMA1 = EMA(CLOSE,Temalength)
EMA2 = EMA(EMA1,Temalength)
EMA3 = EMA(EMA2,Temalength)
TEMA = 3*EMA1 - 3*EMA2 + EMA3

Wenn TEMA über DEMA geht, gilt dies als Goldfork-Signal, um mehr zu tun; wenn TEMA über DEMA geht, gilt dies als Todesfork-Signal, um frei zu machen.

Darüber hinaus wird die Strategie mit DelayBars ausgestattet, um die Gültigkeit des Signals zu gewährleisten und falsche Signale zu vermeiden. Es wird verlangt, dass ein Gold- oder Todesfork eine bestimmte Dauer dauert, bevor es eingeschaltet wird.

Schließlich wird eine Doppel-Check-Logik hinzugefügt. Die Strategie entscheidet, ob die gegenwärtige Rückwärtsposition ausgeglichen werden muss, bevor die Position eröffnet wird. Dies vermeidet die Gefahr von binärem Arbitrage.

Analyse der Stärken

  1. Die Verwendung von zwei dynamischen Gleichlinien zur präziseren Trendbeurteilung

DEMA und TEMA sind dynamische Gleichlinien, die im Vergleich zu herkömmlichen EMA und SMA empfindlicher sind und Trendänderungen schneller erfassen können, um die Marktentwicklung genauer zu beurteilen.

  1. Setzen Sie eine bestimmte Verzögerungsphase, um falsche Signale zu filtern

Die Einstellung des delayBars-Parameters erfordert, dass Sie warten müssen, bis das Signal länger ist, bevor Sie den Handel eröffnen, um einige falsche Signale zu filtern und zu verhindern, dass Sie eingeschlossen werden.

  1. Doppelte Überprüfungen können das Risiko verringern

Die Strategie entscheidet vor der Positionseröffnung, ob eine Rückwärtsposition ausgeglichen werden muss, um das Risiko einer gleichzeitigen Doppelposition zu vermeiden und den Verlust von Arbitrage zu minimieren.

  1. Eine stärkere Allgemeingültigkeit

Die Strategie basiert auf dem allgemeinen technischen Indikator der Gleichgewichtskreuzung, um Trends und Signale zu beurteilen, und ist nicht auf eine bestimmte Sorte angewiesen. Sie gilt für die meisten Sorten mit deutlichen Trends.

Risikoanalyse

  1. Einfach zu erwischen bei starken Marktschwankungen

Wenn der Markt in eine große Schwankungsphase gerät, können sich die Mittellinien häufig kreuzen, was zu falschen Signalen führt. Die Einstellung der Verzögerungsphase kann die Signale nicht vollständig filtern.

Die Lösung besteht darin, eine Pause-Strategie nach der Erschütterung zu identifizieren oder die Durchschnittsparameter und die Verzögerungsphase entsprechend anzupassen.

  1. Unfähigkeit, Fallen oder Überraschungen zu erkennen

Die Strategie verfolgt nur die Preisentwicklung und kann keine kurzfristigen Fallen oder Umkehrungen durch wichtige Überraschungen vorhersagen. In diesen Fällen kann die Strategie große Verluste erleiden.

Die Lösung besteht darin, die Risikokontexte in Kombination mit anderen Indikatoren zu beurteilen oder die Größe der Positionen entsprechend zu verkleinern.

Optimierungsrichtung

  1. Tests für mehr Arten von Mittellinien

Zusätzlich zu DEMA und TEMA können Kombinationen aus SMA, EMA und anderen verbesserten Durchschnittskursen getestet werden, um einen Durchschnittsindikator zu finden, der besser zu diesem Markt passt.

  1. Optimierung der MA-Parameter und der Verzögerungszyklen

Durch die Parameteroptimierung finden Sie die optimalen Parameter für die Länge der Mittellinie und die Signalverzögerungsphase, um ein genaueres Handelssignal zu erhalten.

  1. Verschiedene Sorten für verschiedene Parameter

Die Kombination aus Durchschnitts- und Verzögerungszyklusparametern wird je nach Sortenarten für ihre Schwankungsbreite und Tendenz gefunden.

  1. Risikobewertung in Verbindung mit anderen Indikatoren

Indikatoren wie Bollinger Bands beurteilen die Volatilität und die Position der Preise, um eine Erschütterungsfalle zu vermeiden; in Kombination mit der Urteilsfähigkeit der Energieindikatoren, um die Zuverlässigkeit der Trends zu bewerten.

Zusammenfassen

Die Strategie verfolgt die großen Trends durch die Kreuzung von DEMA und TEMA und gehört zu den einfachen Trendverfolgungsstrategien. Die Vorzüge sind die hohe Stabilität, Zuverlässigkeit und Allgemeingültigkeit, die für die Verwendung als Basisstrategie geeignet ist.

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

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jacobdickson255

strategy("Crypto Bull Run Tracker", overlay=true, pyramiding=0)

//Dema Scripting
Demalength = input.int(230, minval=1)
src = close
e1 = ta.ema(src, Demalength)
e2 = ta.ema(e1, Demalength)
dema = 2 * e1 - e2
plot(dema, "DEMA", color=#43A047)

//Tema Scripting
Temalength = input.int(210, minval=1)
ema1 = ta.ema(close, Temalength)
ema2 = ta.ema(ema1, Temalength)
ema3 = ta.ema(ema2, Temalength)
tema = 3 * (ema1 - ema2) + ema3
plot(tema, "TEMA", color=#2962FF)

delayBars = input(5, title="Bar Delay")
var int lastTradeBar = na

longCondition = ta.crossover(tema, dema) 
longExit = ta.crossunder(tema, dema)
shortCondition = ta.crossunder(tema, dema)
shortExit = ta.crossover(tema, dema)

// Exit conditions should be checked before entry conditions
// Close short position if a long condition is present
if ((shortExit and strategy.position_size < 0)) // If conditions for exiting the short are met, and there is a balance in the short direction, exit the short
    strategy.close("Short")
   

// Close long position if a short condition is present
if ((longExit and strategy.position_size > 0))
    strategy.close("Long")
   
// Now check for entry conditions
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastTradeBar := bar_index

if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastTradeBar := bar_index