Die Strategie kombiniert die MACD- und DEMA-Doppelspur-Indikatoren, um ein Handelssignal durch mehrere Freileitungen zu erzeugen. Die Strategie erfasst die Umkehrzeit der MACD-Indikatoren und nutzt die DEMA-Filterwellen, um einen besseren Einstieg zu erzielen.
Berechnen Sie die Schnelllinie DEMAfast, nehmen Sie den DEMA-Wert des Preises, die Periodengte ist fastmacd。
Berechnen Sie die Slowline DEMAslow, nehmen Sie die DEMA-Werte von prices, die Periodengte ist slowmacd。
Die MACD-Linie ist die Differenz zwischen DEMAfast und DEMAslow.
Die Signallinie ist die DEMA-Wertung der MACD-Linie, die Periodengte ist signalmacd。
Die Multi-Linien-Kreuzung als Handelssignal: Goldfork macht mehr, Deadfork macht weniger.
Hinzugefügt wurde ein Tag-Jahr-Filter, der nur für die angegebenen Datumsbereiche ausstrahlt.
Diese Strategie hat folgende Vorteile:
In Kombination mit MACD und DEMA ergänzen sich die Indikatoren. MACD erfasst die Umdrehung, DEMA filtert die Signalqualität.
Die DEMA-Doppelschienen-Konstruktion reduziert die Verzögerung und den Lärm der MACD-Indikatoren.
Die Überschneidung von mehreren Frequenzlinien ist leicht zu beurteilen und die Signalbildung ist einfach und klar.
Der Handelsplatz kann flexibel angepasst werden, um den Bedürfnissen der einzelnen Strategien gerecht zu werden.
Die MACD-Parameter sind kombinierbar und flexibel für verschiedene Situationen.
Die wichtigsten Risiken dieser Strategie sind:
Der MACD ist ein Trend-Tracking-Indikator, der sich nicht für einen wackligen OTC-Markt eignet.
Multiphase-Kreuzungen können zu Falschsignalen führen und müssen wirksam gefiltert werden.
Die Strategie zur Stop-Loss-Einschränkung ist unvollständig und kann zu groß sein.
Die Optimierung der Parameter ist nicht umfassend und die Wirkung von verschiedenen Sorten unterscheidet sich stark.
Der Filter für den Handelstag ist zu starr und muss dynamisch angepasst werden.
Entsprechende Lösungen:
Vermeiden Sie die Flügel in Kombination mit der Masse.
Das ist eine schlechte Idee, aber es ist eine gute Idee.
Setzen Sie einen angemessenen Start-Stop und einen Tracking-Stop.
Test der Effekte von mehreren Varietäten, dynamische Optimierung.
Die Filterdaten werden an die aktuelle Situation angepasst.
Die Strategie kann folgendermaßen optimiert werden:
Erhöhung der Transaktionszahlen zur Signalfilterung.
Optimierung von MACD-Parameterkombinationen, um die Daten verschiedener Sorten zu testen.
Setzen Sie eine Stop-Loss-Strategie, z. B. einen festen Stop-Loss, einen Tracking-Stop-Loss usw.
Stop-Loss-Positionen werden dynamisch angepasst, je nach Marktschwankungen.
Der Trend ist stark, die Positionsgröße muss angepasst werden.
Die MACD DEMA-Strategie kombiniert die Vorteile von zwei Indikatoren und nutzt die Tendenz zur Erfassung von Kreuzsignalen. Die MACD-Strategie ist jedoch von Natur aus rückläufig und muss darauf geachtet werden, falsche Signale zu filtern. Außerdem muss die Stop-Loss-Strategie optimiert werden, um irrationalen Stop-Loss zu reduzieren.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(" MACD DEMA STRATEGY ", overlay=true)
source=close
price=source
fastmacd = input(12,title='MACD Fast Line Length')
slowmacd = input(26,title='MACD Slow Line Length')
signalmacd = input(9,title='Signal Line Length')
macdslowline1 = ema(close,slowmacd)
macdslowline2 = ema(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )
macdfastline1 = ema(close,fastmacd)
macdfastline2 = ema(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)
MACDLine = (DEMAfast - DEMAslow)
SignalLine1 = ema(MACDLine, signalmacd)
SignalLine2 = ema(SignalLine1, signalmacd)
SignalLine = ((2 * SignalLine1) - SignalLine2 )
MACDSignal = SignalLine-MACDLine
colorbar= MACDSignal>0?green:red
yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( crossover(MACDLine,SignalLine) )
strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND", comment="AL")
else
strategy.cancel(id="MMAL")
if ( crossunder(MACDLine,SignalLine) )
strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND", comment="SAT")
else
strategy.cancel(id="MMSAT")