
Die MACD-Trendprognose-Strategie ist eine Trend-Follow-Strategie, die auf MACD- und EMA-Indikatoren basiert. Die Strategie erzeugt keine Handelssignale über die Kreuzung von Signallinien wie bei herkömmlichen MACD-Strategie, sondern erzeugt Handelssignale über die Änderung der Entfernung zwischen MACD-Indikator und Signallinie, um Trendänderungen zu erfassen.
Berechnen Sie die Schnelllinie DEMAfast: Berechnen Sie die zweifache EMA-Mittelwert MMEfast der Schnelllinie mit der EMA-Methode, dann berechnen Sie die Schnelllinie DEMAfast nach der Formel DEMAfast=((2 * MMEfast) - MMEfastb)).
Berechnen Sie langsamer DEMAslow: Berechnen Sie den zweifachen EMA-Mittelwert MMEslow der langsamer Linie mit der EMA-Methode und berechnen Sie dann langsamer DEMAslow nach der Formel DEMAslow = (((2 * MMEslow) - MMEslowb)).
Berechnung der MACD-Linie: Die MACD-Linie ist die Differenz zwischen der schnellen Linie DEMAfast und der langsamen Linie DEMAslow.
Berechnung der Signallinie: Berechnen Sie die zweifache EMA-Mittelwert der MACD-Linie mit der EMA-Methode MMEsignal, dann die Signallinie nach der Formel Lignesignal=((2 * MMEsignal) - MMEsignalb) .
Vergleiche zwischen MACD- und Signallinien: Ein Kaufsignal wird erzeugt, wenn die MACD-Linie größer als die Signallinie ist; ein Verkaufssignal wird erzeugt, wenn die MACD-Linie kleiner als die Signallinie ist.
Die DEMA-Algorithmus wurde verwendet, um die Verzögerung des MACD-Wertes zu reduzieren.
Mit dem DEMA-Algorithmus kann die Verzögerung der MACD-Indikatoren verringert und die Handelssignale sensibler gemacht werden.
Trendwechsel werden nicht durch das Kreuzsignal des MACD-Indikators erfasst, sondern durch die Abweichung von MACD und Signallinie, um früher in einen Trend einzutreten.
Die Strategie ist sehr gut im Trendbeurteilung, der Profitfaktor kann zwischen 1,6 und 3,5 liegen, und die Ertragsleistung ist besser.
Die Strategie ist klar und einfach zu verstehen und eignet sich für quantitative Transaktionen.
Der MACD als Rückstandsindikator kann bei der Ausgleichsphase zahlreiche ungültige Handelssignale erzeugen.
Der DEMA-Algorithmus reduziert zwar die Verzögerung, kann sie aber nicht vollständig beseitigen.
In einer Trend-Follow-Strategie können die Gewinne unter den Erschütterungen nicht gut sein.
Die Parameter sma, lma,tsp müssen optimiert werden, um sie für verschiedene Perioden und Sorten zu verwenden.
Es kann notwendig sein, eine Stop-Loss-Strategie hinzuzufügen, um die Verluste zu kontrollieren.
Optimierung der Parameter sma, lma,tsp für verschiedene Perioden und Handelsarten.
Ein zusätzliches, dynamisches Stop-Loss-Verfahren, ähnlich dem ATR, um die Einzelschäden zu kontrollieren.
Es ist wichtig, dass Sie sich mit Trendindikatoren auseinandersetzen, um nicht in einem wackligen Umfeld zu handeln.
Hinzufügen von Handelsvolumenkontrollen, um die Positionen entsprechend der Marktschwankungen anzupassen.
Optimierung der Ein- und Ausstiegslogik und Feinheitlichung der Handelssignalregeln.
Die MACD-Trendprognose-Strategie hat einen gewissen Vorteil, indem sie die Berechnungsmethode für die MACD-Indikatoren verbessert, den DEMA-Algorithmus verwendet, um den Rückstand zu verringern, und die MACD und die Signalstreckenentfernungsänderungen als Trendfolge-Strategie verwendet, um Trendänderungen effektiv zu erfassen. Der Profit-Faktor kann bis zu 1.6 bis 3.5 betragen.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © moritz1301
//@version=4
strategy("MACD Trendprediction Strategy V1", shorttitle="MACD TPS", overlay=true)
sma = input(12,title='DEMA Courte')
lma = input(26,title='DEMA Longue')
tsp = input(9,title='Signal')
dolignes = input(true,title="Lignes")
MMEslowa = ema(close,lma)
MMEslowb = ema(MMEslowa,lma)
DEMAslow = ((2 * MMEslowa) - MMEslowb )
MMEfasta = ema(close,sma)
MMEfastb = ema(MMEfasta,sma)
DEMAfast = ((2 * MMEfasta) - MMEfastb)
LigneMACDZeroLag = (DEMAfast - DEMAslow)
MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )
MACDZeroLag = (LigneMACDZeroLag - Lignesignal)
bgcolor(LigneMACDZeroLag<Lignesignal ? color.red : color.green)
if (LigneMACDZeroLag>Lignesignal)
strategy.entry("Buy", strategy.long, comment="BUY")
if (LigneMACDZeroLag<Lignesignal)
strategy.close("Buy", strategy.long, comment="SELL")