Dynamischer gleitender Durchschnittstrend-Kreuzung

Schriftsteller:ChaoZhang, Datum: 2023-11-21 17:18:20
Tags:

img

Übersicht

Die Dynamic Moving Average Trend Crossover Strategy ist ein Handelssystem, das auf dem Moving Average Convergence Divergence (MACD) -Indikator basiert. Diese Strategie stützt sich auf die Differenz zwischen kurzfristigen und langfristigen gleitenden Durchschnitten, um Kauf- oder Verkaufsentscheidungen zu treffen, wobei die Hauptidee darin besteht, die Beziehung zwischen kurzfristigen und langfristigen Trends zu überwachen, um potenzielle Marktveränderungen vorherzusagen.

Strategieprinzip

Diese Strategie verwendet zwei verschiedene Perioden exponentielle gleitende Durchschnitte (EMA): eine schnelle EMA (8 Tage) und eine langsame EMA (16 Tage). Der MACD-Wert wird aus der Differenz zwischen diesen beiden EMAs abgeleitet. Darüber hinaus enthält die Strategie eine Signallinie, die der einfache gleitende Durchschnitt (SMA) des MACD über 11 Tage ist. Ein Kaufsignal wird erzeugt, wenn die MACD-Linie über die Signallinie kreuzt, was einen bullischen Trend anzeigt, und ein Verkaufssignal, wenn sie darunter kreuzt, was einen bärischen Trend anzeigt.

Auf der Code-Ebene berechnet die Strategie die schnellen und langsamen EMAs, dann leitet sie den MACD-Wert ab. Anschließend wird der MACDs SMA als Signallinie berechnet. Die Position wird durch Vergleich der Position des MACD mit der Signallinie bestimmt. Darüber hinaus bietet die Strategie eine Reverse-Trading-Option, die den Markteintritt auf entgegengesetzten Signalen ermöglicht.

Strategische Vorteile

Der Hauptvorteil der Dynamic Moving Average Trend Crossover Strategie liegt in ihrer Einfachheit und Sensibilität für Veränderungen der Markttrends. Durch die Verwendung von EMAs verschiedener Perioden erfasst diese Strategie effektiv Abweichungen zwischen kurzfristigen und langfristigen Trends und reagiert so rechtzeitig auf Marktveränderungen. Die Hinzufügung der Signallinie verbessert die Genauigkeit der Strategie weiter und ermöglicht es Anlegern, Trendumkehrungen schneller zu erkennen.

Risikoanalyse

Während die Dynamic Moving Average Trend Crossover Strategie in vielen Situationen gut funktioniert, birgt sie auch bestimmte Risiken. Das primäre Risiko ist die Erzeugung irreführender Signale in stark volatilen Märkten oder bei unklaren Trends. Darüber hinaus kann die Abhängigkeit von historischen Daten zu verzögerten Reaktionen führen. Um diese Risiken zu mindern, können Anleger die Strategie mit anderen technischen Indikatoren oder Marktanalysen zur Entscheidungsfindung kombinieren.

Optimierungsrichtlinien

Die Optimierung dieser Strategie kann die Anpassung der Länge der EMA-Perioden, die Einbeziehung zusätzlicher technischer Indikatoren und die Berücksichtigung von Faktoren der Marktvolatilität umfassen.

Die Anpassung der Strategie an ATR kann die Anpassungsfähigkeit und Robustheit der Strategie verbessern.

Schlussfolgerung

Die Dynamic Moving Average Trend Crossover Strategy ist eine quantitative Handelsstrategie, die sich auf den MACD konzentriert. Sie zielt darauf ab, Marktbewegungen zu erfassen, indem die Beziehung zwischen kurzfristigen und langfristigen Trends analysiert wird. Während diese Strategie einfach und effektiv ist, ist es wichtig, sich ihrer Grenzen und potenziellen Risiken bewusst zu sein.


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/09/2017
// MACD – Moving Average Convergence Divergence. The MACD is calculated 
// by subtracting a 26-day moving average of a security's price from a 
// 12-day moving average of its price. The result is an indicator that 
// oscillates above and below zero. When the MACD is above zero, it means 
// the 12-day moving average is higher than the 26-day moving average. 
// This is bullish as it shows that current expectations (i.e., the 12-day 
// moving average) are more bullish than previous expectations (i.e., the 
// 26-day average). This implies a bullish, or upward, shift in the supply/demand 
// lines. When the MACD falls below zero, it means that the 12-day moving average 
// is less than the 26-day moving average, implying a bearish shift in the 
// supply/demand lines.
// A 9-day moving average of the MACD (not of the security's price) is usually 
// plotted on top of the MACD indicator. This line is referred to as the "signal" 
// line. The signal line anticipates the convergence of the two moving averages 
// (i.e., the movement of the MACD toward the zero line).
// Let's consider the rational behind this technique. The MACD is the difference 
// between two moving averages of price. When the shorter-term moving average rises 
// above the longer-term moving average (i.e., the MACD rises above zero), it means 
// that investor expectations are becoming more bullish (i.e., there has been an 
// upward shift in the supply/demand lines). By plotting a 9-day moving average of 
// the MACD, we can see the changing of expectations (i.e., the shifting of the 
// supply/demand lines) as they occur.
//  You can change long to short in the Input Settings
//  WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="MACD Crossover", shorttitle="MACD Crossover")
fastLength = input(8, minval=1)
slowLength = input(16,minval=1)
signalLength=input(11,minval=1)
reverse = input(false, title="Trade reverse")
// hline(0, color=purple, linestyle=dashed)
fastMA = ema(close, fastLength)
slowMA = ema(close, slowLength)
macd = fastMA - slowMA
signal = sma(macd, signalLength)
pos = iff(signal < macd , 1,
	   iff(signal > macd, -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(signal, color=red, title="SIGNAL")
plot(macd, color=blue, title="MACD")


Mehr