
Die Strategie ist ein quantitatives Handelssystem, das auf der Kreuzung von doppelten Index-Moving Averages (EMA) basiert. Sie nutzt die Kreuzung von kurzfristigen EMA (14 Zyklen) und langfristigen EMA (100 Zyklen), um die Wendepunkte der Markttrends zu erfassen und den Zeitpunkt des Einstiegs zu bestimmen, indem sie die Kreuzung der kurzfristigen und langfristigen Durchschnittslinien beurteilt.
Die Kernlogik der Strategie basiert auf der Dynamik der Preisentwicklung. Die kurzfristige EMA reagiert empfindlicher auf Preisveränderungen, während die langfristige EMA besser auf Marktlärm reagiert und den Haupttrend reflektiert. Wenn die kurzfristige EMA über die langfristige EMA fällt, zeigt dies, dass die kurzfristige Preisentwicklung zunimmt und der Markt möglicherweise in einen Aufwärtstrend eintritt. Wenn die kurzfristige EMA unter die langfristige EMA fällt, zeigt dies, dass die kurzfristige Dynamik nachlässt und der Markt möglicherweise in einen Abwärtstrend übergeht.
Die EMA-Strategie ist ein klassisches und praktisches Trend-Tracking-System. Durch die Kombination von kurz- und langfristigen Index-Moving Averages kann die Strategie die Markttrend-Wechselmöglichkeiten besser erfassen. Obwohl ein gewisses Risiko für Rückstand und Falschsignale besteht, können durch geeignete Parameteroptimierungen und Risikokontrollmaßnahmen weiterhin stabile Handelsergebnisse erzielt werden. Die Einfachheit und Skalierbarkeit der Strategie macht sie zu einem guten Rahmen für eine quantitative Handelsbasis.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// Input for EMAs
shortEmaLength = input(14, title="Short EMA Length")
longEmaLength = input(100, title="Long EMA Length")
// Calculate EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot EMAs
plot(shortEma, color=color.blue, title="9 EMA")
plot(longEma, color=color.red, title="100 EMA")
// Historical Signal Tracking
var float lastBuyPrice = na
var float lastSellPrice = na
// Buy and Sell Signals
buySignal = ta.crossover(shortEma, longEma)
sellSignal = ta.crossunder(shortEma, longEma)
// Track last buy and sell prices
if (buySignal)
lastBuyPrice := close
if (sellSignal)
lastSellPrice := close
// Plot buy and sell signals on the chart
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy Logic
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")