
Die Strategie entscheidet über den Ein- und Ausstieg durch die Berechnung der Kreuzung der schnellen EMA (3), der langsamen EMA (11) und der langsameren EMA (18) in Kombination mit der Null-Achs-Kreuzung des MACD. Eine dynamische Strategie, die die beiden EMA- und MACD-Indikatoren für die Handelsentscheidung verwendet.
Die Strategie basiert hauptsächlich auf zwei technischen Analyseindikatoren:
EMA Durchschnittslinie Kreuzung. Die Kreuzung von Trendbeurteilungen über die Schnelllinie EMA (3), die Langstrecke EMA (11) und die Langstrecke EMA (18) dient als Einstiegs- und Ausstiegssignal.
Der MACD-Indikator und seine Null-Achs-Kreuzung. Der MACD besteht aus der Differenzdifferenz (DIFF) und der DEA. Die DIFF ist die Schnelllinie EMA (DIFF) minus die langsame EMA (DEA).
Drei Einstiegschancen und zwei Ausstiegschancen sind entsprechend der Kombination von EMA-Kreuzung und MACD-Null-Achs-Kreuzung festgelegt:
Insgesamt kann die Strategie die Profitabilität der Strategie verbessern, indem sie die doppelte EMA-Kreuzung und die MACD-Indikatoren kombiniert und die Durchschnittsparameter und MACD-Parameter dynamisch anpasst.
Die Vorteile der EMA-Gleichlinie-Kreuzung und der MACD-Kennzahl werden voll ausgenutzt, um die Genauigkeit durch die Kombination der doppelten Kennzahlen zu verbessern.
Setzen Sie drei Multi-Do-Möglichkeiten und zwei Liquidationsmöglichkeiten ein, um die Häufigkeit der Strategie zu erhöhen und den Gewinnraum zu erweitern.
Die Optimierung der dynamischen Parameter ist groß. Die Schnell-EMA, die Langzeit-EMA, die Null-EMA und die MACD-Länge können optimiert werden.
Strategie-Logik ist klar und verständlich, so dass sie leicht zu deaktivieren und zu optimieren ist.
EMA-Kreuzungen und MACD-Indikatoren erzeugen eine bestimmte Falschmeldungsquote, die zu unnötigen Verlusten führen kann.
Die Handelsfrequenz ist hoch, die Stop-Loss-Grenze ist gering und die Gefahr von Verlusten kann sich anschließen.
Die Optimierung der Parameter ist schwierig, und eine falsche Optimierung kann zu einer Überpassung der historischen Daten führen.
Die Auswirkungen der Transaktionskosten sind zu berücksichtigen.
Für Risiken:
Ein angemessener Stop-Loss-Satz, um Einzelschäden zu verringern.
Anpassung der Parameter, um eine Überpassung zu verhindern.
Berücksichtigung von Kostenfolgen, wie etwa weniger häufige Transaktionen.
Ersetzen Sie andere Kennzahlen wie Brinband, KDJ usw.
Optimierung der Parameter für die Durchschnittslinie-Kreuzung der EMA: Ändern der Parameter für die Länge der Schnelllinie-EMA und der Langlinie-EMA.
Optimierung der MACD-Parameter: Änderung der MACD-DIFF- und DEA-berechneten EMA-Längen.
Erhöhung der Stop-Loss-Strategien: wie zum Beispiel die Anzahl der Geschäfte, die Zeit, die Bewegung der Stop-Loss.
Die Auswirkungen der Transaktionskosten werden berücksichtigt, um die Anzahl der Eintritte anzupassen.
Die Strategie erstellt eine dynamische Parameter-Strategie mit hoher Handelsfrequenz und hohem Gewinnpotenzial durch die Kombination von zwei EMA-Kreuzungssystemen und MACD-Indikatoren. Die Strategie ist zugleich einfach zu verstehen und zu optimieren. Es besteht jedoch ein gewisses Risiko für Fehlmeldungen und Parameter-Optimierungsschwierigkeiten, die durch angemessene Stop-Loss- und Überfusionsschutzmaßnahmen bewältigt werden müssen.
/*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)