
Die Strategie ist eine quantitative Handelsstrategie, die auf der Kreuzung der 13- und 21-Zyklus-Index-Moving Averages (EMA) basiert. Die Strategie erkennt Markttrendänderungen durch die Beobachtung der Kreuzung der kurz- und langfristigen EMAs und geht bei einer Goldkreuzung über und bei einer Todeskreuzung leer. Die Strategie ist einzigartig in der Verwendung von dynamischen Farbänderungen, um die visuelle Wirkung zu verbessern und den Händlern zu helfen, die Handelssignale intuitiver zu erkennen.
Die Kernlogik der Strategie basiert auf Index-Moving Averages aus zwei verschiedenen Perioden: 13 kurzfristige EMAs und 21 langfristige EMAs. Wenn eine kurzfristige EMA nach oben über die langfristige EMA geht, entsteht eine Goldkreuze, die eine Aufwärtstrend zeigt, und das System erzeugt ein Kaufsignal. Wenn eine kurzfristige EMA nach unten über die langfristige EMA geht, entsteht eine Todkreuze, die eine Abwärtstrend zeigt, und das System erzeugt ein Verkaufssignal.
Die Strategie kombiniert klassische Theorien der technischen Analyse mit modernen Visualisierungstechniken. Die Strategie erzeugt Handelssignale durch EMA-Kreuzung und nutzt dynamische Farbänderungen, um die visuelle Wirkung zu erhöhen und die Handelsentscheidungen intuitiver zu machen. Obwohl einige inhärente Risiken vorhanden sind, kann die Strategie durch vernünftige Optimierung und Risikomanagement zu einem effektiven Handelsinstrument werden.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Strategy by clf", overlay=true)
// Input parameters for EMAs
shortEmaLength = input(13, title="Short EMA Length")
longEmaLength = input(21, title="Long EMA Length")
// Calculate EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Define the color variable with type
var color emaColor = na
// Determine the colors for the EMAs based on crossovers
if (ta.crossover(shortEma, longEma))
emaColor := color.green
else if (ta.crossunder(shortEma, longEma))
emaColor := color.red
// Plot EMAs on the chart with dynamic colors
plot(shortEma, title="Short EMA", color=emaColor, linewidth=2)
plot(longEma, title="Long EMA", color=color.red, linewidth=2)
// Generate buy and sell signals
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// Plot buy and sell signals
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy entry and exit
strategy.entry("Long", strategy.long, when=longCondition)
strategy.close("Long", when=shortCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=longCondition)