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.
Die Strategie beruht hauptsächlich auf zwei Indikatoren der technischen Analyse:
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.
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:
Zusammenfassend lässt sich sagen, dass diese Strategie die Vorteile des doppelten EMA-Crossover-Systems und des MACD-Indikators voll ausnutzt.
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.
Es gibt 3 langfristige Einstiegsmöglichkeiten und 2 Ausstiegsmöglichkeiten, was die Handelsfrequenz und das Gewinnpotenzial erhöht.
Die Längen der schnellen EMA, der langsamen EMA, der Nulllinie EMA und des MACD können alle optimiert werden.
Die klare Logik macht es einfach zu debuggen und zu optimieren.
Sowohl der EMA-Crossover als auch der MACD-Indikator weisen einige falsche Signale auf, die zu unnötigen Verlusten führen können.
Hohe Handelsfrequenz mit geringer Stop-Loss-Größe in jedem Trade, so dass sich Verluste ansammeln können.
Schwierigkeiten bei der Optimierung von Parametern.
Die Auswirkungen der Handelskosten müssen in vollem Umfang berücksichtigt werden.
Zur Verringerung der Risiken:
Setzen Sie einen ordnungsgemäßen Stop-Loss, um Verluste bei einzelnen Trades zu begrenzen.
Die Parameter sind entsprechend anzupassen, um eine Überanpassung zu vermeiden.
Berücksichtigen Sie die Auswirkungen auf die Handelskosten, z. B. die Verringerung der Handelsfrequenz.
Testalternativen wie Bollinger-Bänder, KDJ usw.
Optimierung der EMA-Crossoverparameter: Änderung der Länge der schnellen und langsamen EMA.
Optimierung der MACD-Parameter: Änderung der DIFF- und DEA-Berechnungs-EMA-Längen.
Sie können auch die Anzahl der Handelsstopps, Zeitstopps, Trailing-Stops usw. erstellen.
Anpassung der Eintrittsfrequenz unter Berücksichtigung der Handelskosten.
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)