Trendlose MACD-Strategie

Schriftsteller:ChaoZhang, Datum: 2023-10-30 17:08:16
Tags:

img

Übersicht

Diese Strategie verwendet die Methode der Beseitigung des Trends der Aktienkurse, um den MACD-Indikator klarer zu beobachten. Durch die Berechnung der DEMA-Schnelllinie und der DEMA-Slowline werden die MACD-Linie und die Signallinie abgeleitet. Handelssignale werden durch Kreuzung zwischen der MACD-Linie und der Signallinie erzeugt. Die Strategie enthält auch Date- und Monatsbedingungenfilter und Stop-Loss-Logik, um ein vollständigeres System zu bilden.

Strategie Logik

Zunächst wird die EMA des Preises berechnet, um den Preistrend zu eliminieren und die abgeschwächte EMA zu erhalten. Dann werden die schnelle Linie DEMA, die langsame Linie DEMA und die MACD-Linie auf der Grundlage der EMA berechnet. Die schnelle Linie DEMA wird berechnet, indem zuerst die EMA1 der schnellen Linie berechnet wird, dann die EMA2 der EMA1 berechnet wird und schließlich die DEMA=(2*EMA1-EMA2 berechnet wird. Die langsame Linie DEMA und die Signallinie werden ähnlich berechnet. Nach dem Erhalt der MACD-Linie (schnelle Linie DEMA - langsame Linie DEMA) und der Signallinie wird ein Kaufsignal erzeugt, wenn die MACD-Linie über die Signallinie überschreitet, und ein Verkaufssignal wird erzeugt, wenn die MACD-Linie die Signallinie darunter überschreitet. Schließlich kombinieren Sie das Datum und den Monat Filter und setzen Sie die Stop-Loss-Logik ein

Die Kernlogik dieser Strategie lautet:

  1. Um den MACD-Indikator klarer zu sehen, müssen Sie den Kurstrend eliminieren.

  2. Berechnen Sie die DEMA-Schnell- und die DEMA-Slow-Linie, um MACD-Linie und Signallinie abzuleiten.

  3. Die MACD-Linie und die Signalleinenkreuzung erzeugen Handelssignale.

  4. Date- und Monatsfilter hinzufügen.

  5. Setzen Sie die Stop-Loss-Logik ein.

Analyse der Vorteile

Die wichtigsten Vorteile dieser Strategie sind:

  1. Durch die Beseitigung der Preisentwicklung kann die Crossover-Situation des MACD deutlicher ersichtlich werden, ohne sich von der Entwicklung irreführen zu lassen.

  2. Mit dem DEMA-Algorithmus, um den MACD zu berechnen, wird etwas Lärm ausfiltert und das Signal klarer.

  3. Die Kombination von Datum und Monatsfiltern kann unnötige Transaktionen reduzieren.

  4. Die Stop-Loss-Logik kann Zeitverluste reduzieren und Risiken kontrollieren.

  5. Die Verwendung von Crossover zur Erzeugung von Signalen reduziert falsche Trades.

  6. Insgesamt kann diese Strategie durch Kombination von Trend-Elimination, DEMA-Berechnung und Zustandfiltern relativ klare und zuverlässige Handelssignale erzeugen.

Risikoanalyse

Einige Risiken dieser Strategie bedürfen Aufmerksamkeit:

  1. Nach Beseitigung des Trends können die MACD-Crossover-Signale zunehmen, was eine Live-Testung zur Überprüfung der Machbarkeit erfordert.

  2. Obwohl der DEMA-Algorithmus etwas Lärm filtert, kann es bei der Indikatorberechnung immer noch viele falsche Signale geben.

  3. Die Filterbedingungen für Datum und Monat sind möglicherweise zu rigid und verpassen somit einige Handelsmöglichkeiten.

  4. Die Stop-Loss-Position muss vernünftigerweise eingestellt werden, zu locker erhöht das Risiko, zu eng häufig Stop-Loss.

  5. Die Strategie stützt sich hauptsächlich auf den MACD, wenn der Markt für diesen Indikator nicht geeignet ist, kann die Performance beeinträchtigt werden.

  6. Es gibt noch viel Raum für die Optimierung der Parameter, die durch Backtest und Live-Handel weiter getestet werden müssen.

Lösungen:

  1. Hinzufügen einer anderen Indikatorbestätigung, um falsche Signale zu vermeiden.

  2. Optimieren Sie die Bedingungen für den Datumsfilter angemessen.

  3. Testen und optimieren Sie die Stop-Loss-Punkte sorgfältig.

  4. Hinzufügen eines Trendbeurteilungsmechanismus, um einen gegen den Trend gerichteten Handel zu vermeiden.

  5. Umfassender Backtest und Parameteroptimierung zur Verbesserung der Stabilität.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Testen Sie verschiedene gleitende Durchschnitte, um eine bessere Alternative zur EMA zu finden.

  2. Versuchen Sie verschiedene Parameterkombinationen, um die schnelle Linie, die langsame Linie und die Signallinielängen des MACD zu optimieren.

  3. Fügen Sie Hilfsindikatoren wie Lautstärke hinzu, um falsche Signale zu vermeiden.

  4. Optimieren Sie Stop-Loss-Strategien, setzen Sie vernünftige Bewegungen oder Bestellungen für Stop-Loss.

  5. Optimieren Sie die Filterbedingungen für Datum und Monat, um sie flexibler zu machen.

  6. Hinzufügen von Trendbeurteilungen, um gegen den Trend zu handeln.

  7. Umfassende Optimierung der Parameter zur Verbesserung der Stabilität.

  8. Backtest auf längere Zeiträume zur Überprüfung der langfristigen Leistung.

  9. Live-Handel, um die Parameter auf der Grundlage des realen Handels zu überprüfen und weiter zu ändern.

Zusammenfassung

Zusammenfassend lässt sich sagen, dass diese Strategie die Idee nutzt, den Trend zu eliminieren und den DEMA MACD in Kombination mit Datumsfiltern zu berechnen, um Handelssignale zu generieren, was eine einfache, aber machbare Strategieidee ist. Sein größter Vorteil ist, das MACD-Muster klar zu offenbaren, ohne von der Kursentwicklung beeinflusst zu werden. Es gibt jedoch noch einige Risiken dieser Strategie, die für die praktische Anwendung Parameteroptimierung und Risikokontrollmaßnahmen erfordern. Es gibt auch großen Raum für Optimierung, und mit ausreichender Verifizierung und Optimierung kann diese Strategie zu einem stabilen und zuverlässigen kurzfristigen Handelssystem werden.


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

//@version=2

strategy(title = "Trendless MACD  Strategy",shorttitle="MACD-T Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.01,initial_capital=100000)



maperiod=input(9)
ema=ema(close,maperiod)


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(ema,slowmacd)
macdslowline2 = ema(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )

macdfastline1 = ema(ema,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 = MACDLine-SignalLine


colorbar= MACDSignal>0?green:red

plot(MACDSignal,color=colorbar,style=columns,title='Histogram',histbase=0)
p1 = plot(MACDLine,color=blue,title='MACDLine')
p2=plot(SignalLine,color=red,title="SignalLine")
fill(p1,p2,color=blue)


longCond =  crossover(MACDLine,SignalLine) 

shortCond =  crossunder(MACDLine,SignalLine) 




monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)

yearfrom= input(2018)
yearuntil=input(2021)

if (  longCond   ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond  ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
    strategy.cancel(id="SHORT")





Mehr