Dynamische EMA- und MACD-Kreuzungstrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-06 14:29:23
Tags:

img

Übersicht

Diese Strategie bestimmt Ein- und Ausstiege basierend auf den Crossover-Situationen der schnellen EMA-Linie (3), der langsamen EMA-Linie (11) und der langsameren EMA-Linie (18), kombiniert mit den Zero-Line-Crossovers des MACD.

Strategie Logik

Die Strategie beruht hauptsächlich auf zwei Indikatoren der technischen Analyse:

  1. EMA-Crossover: Er verwendet die Überschneidung der schnellen EMA (3), der langsamen EMA (11) und der langsameren EMA (18) zur Bestimmung des Trends und als Einstiegs- und Ausstiegssignal.

  2. Der MACD-Indikator und sein Zero Line Crossover. Der MACD besteht aus DIFF und DEA. Der DIFF wird durch eine schnelle EMA (3) minus eine langsame EMA (11) konstruiert. DEA ist die EMA (27) des MACD. Der MACD>0 zeigt eine Aufwärtsbewegung an und der MACD<0 zeigt eine Abwärtsbewegung an. Der Zero Line Crossover dient als Ein- und Ausstiegssignal.

Gemäß der Kombination von EMA-Crossover und MACD-Nulllinie-Crossover gibt es 3 Einstiegsmöglichkeiten und 2 Ausstiegsmöglichkeiten:

  1. Die erste Long-Opportunität tritt auf, wenn der MACD über der Nulllinie liegt und ein Aufwärts-Crossover hat.
  2. Die zweite lange Gelegenheit tritt auf, wenn die schnelle EMA (3) über die langsame EMA (11) kreuzt.
  3. Die dritte Long Opportunity mit voller Position tritt auf, wenn die schnelle EMA (3) über die langsamere EMA (18) kreuzt.
  4. Das erste Ausstiegssignal tritt auf, wenn die schnelle EMA (3) unter die langsame EMA (11) überschreitet.
  5. Das zweite Ausstiegssignal tritt auf, wenn der MACD unter der Nulllinie liegt und eine Abwärts-Kreuzung aufweist.

Zusammenfassend lässt sich sagen, dass diese Strategie die Vorteile des doppelten EMA-Crossover-Systems und des MACD-Indikators voll ausnutzt.

Vorteile der Strategie

  1. Es nutzt die Stärken sowohl des EMA-Crossover- als auch des MACD-Indikators und verbessert die Genauigkeit durch die Bestätigung mit zwei Indikatoren.

  2. Es gibt 3 langfristige Einstiegsmöglichkeiten und 2 Ausstiegsmöglichkeiten, was die Handelsfrequenz und das Gewinnpotenzial erhöht.

  3. Die Längen der schnellen EMA, der langsamen EMA, der Nulllinie EMA und des MACD können alle optimiert werden.

  4. Die klare Logik macht es einfach zu debuggen und zu optimieren.

Risiken der Strategie

  1. Sowohl der EMA-Crossover als auch der MACD-Indikator weisen einige falsche Signale auf, die zu unnötigen Verlusten führen können.

  2. Hohe Handelsfrequenz mit geringer Stop-Loss-Größe in jedem Trade, so dass sich Verluste ansammeln können.

  3. Schwierigkeiten bei der Optimierung von Parametern.

  4. Die Auswirkungen der Handelskosten müssen in vollem Umfang berücksichtigt werden.

Zur Verringerung der Risiken:

  1. Setzen Sie einen ordnungsgemäßen Stop-Loss, um Verluste bei einzelnen Trades zu begrenzen.

  2. Die Parameter sind entsprechend anzupassen, um eine Überanpassung zu vermeiden.

  3. Berücksichtigen Sie die Auswirkungen auf die Handelskosten, z. B. die Verringerung der Handelsfrequenz.

Richtungen für die Optimierung

  1. Testalternativen wie Bollinger-Bänder, KDJ usw.

  2. Optimierung der EMA-Crossoverparameter: Änderung der Länge der schnellen und langsamen EMA.

  3. Optimierung der MACD-Parameter: Änderung der DIFF- und DEA-Berechnungs-EMA-Längen.

  4. Sie können auch die Anzahl der Handelsstopps, Zeitstopps, Trailing-Stops usw. erstellen.

  5. Anpassung der Eintrittsfrequenz unter Berücksichtigung der Handelskosten.

Zusammenfassung

Diese Strategie kombiniert ein duales EMA-Crossover-System und einen MACD-Indikator, um eine dynamische Parameterstrategie mit hoher Handelsfrequenz und starker Rentabilität zu konstruieren. Außerdem macht die klare Logik es einfach zu verstehen und zu optimieren.


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD+EMA crossovers Strategy custom",initial_capital=10000,max_bars_back=150,commission_type=strategy.commission.percent , commission_value=0.1, shorttitle="MACD+EMAcross",pyramiding = 10,default_qty_type=strategy.percent_of_equity,default_qty_value=33,overlay=false)

short = ema(close,3)
long = ema(close, 11)
long2 = ema(close, 18)
//plot(short, color = red, linewidth = 4)
//plot(long, color = blue, linewidth = 4)
//plot(long2, color = green, linewidth = 4)

isCross1 = crossover(short, long)
isCross2 = crossover(short, long2)
isCrossSell = crossunder(short, long)
//isCross3 = crossover(long, long2)

//plotshape(isCross1 and not isCross2, color=lime, style=shape.arrowup, text="1st in",size = size.tiny, location = location.belowbar)
//plotshape(isCross2 , color=lime, style=shape.arrowup, text="2nd in",size = size.tiny, location = location.belowbar)

//plotshape(isCross3 , color=lime, style=shape.arrowdown, text="All in",size = size.normal, location = location.abovebar)

//plotshape(isCrossSell , color=red, style=shape.arrowdown, text="SELL",size = size.small, location = location.abovebar)

fastLength = input(3)
slowlength = input(11)
MACDLength = input(27)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength) //signal
delta = MACD - aMACD // histograma

strategy.entry("MacdLE 1st in", strategy.long, comment="MacdLE 1st in",when=crossover(delta, 0))

strategy.entry("2nd in", strategy.long, comment="2nd in",when=isCross1)

strategy.entry("all in", strategy.long, comment="all in",when=isCross2)

strategy.close("2nd in",when=isCrossSell) 
strategy.close("all in",when=isCrossSell)
//strategy.close("2nd in",when=crossunder(delta, 0)) 
//strategy.close("all in",when=crossunder(delta, 0))
strategy.close("MacdLE 1st in",when=crossunder(delta, 0)) 
    
histColour = (delta > 0) ? green : (delta < 0) ? red :  #4169E1
    
plot(MACD,color=red,linewidth=2)
plot(aMACD,color=blue,linewidth=2)
plot(delta,style=histogram, color=histColour, linewidth=10)
plot(0,color=white)






Mehr