
Die Strategie ist ein Trend-Tracking-Trading-System, basierend auf mehreren Index-Moving Averages (EMA) und Sliding Moving Averages (SMMA). Es nutzt die Kreuzung von kurz- und langfristigen EMAs, um ein Handelssignal zu erzeugen, wobei SMMAs als Trendbestätigungsindikatoren verwendet werden und zusätzliche EMA-Linien als Referenzen für Unterstützungs- und Widerstandspunkte eingeführt werden. Diese Methode erfasst sowohl Markttrends als auch die Risiken von Falschbrüchen.
Die Strategie verwendet die 10- und 22-Tage-EMA als Hauptsignallinie, die 200-Tage-SMMA als Trendfilter und die 50, 100 und 200-Tage-EMA als Hilfsentscheidung. Wenn ein kurzfristiger EMA nach oben durch die langfristige EMA geht und der Preis über die SMMA liegt, erzeugt das System ein Mehrwertsignal. Wenn ein kurzfristiger EMA nach unten durch die langfristige EMA geht und der Preis unter der SMMA liegt, erzeugt das System ein Leerwertsignal.
Es handelt sich um eine Trendverfolgungsstrategie, die eine Kombination aus mehreren mittleren Linien-Systemen kombiniert. Durch die kombinierte Verwendung verschiedener periodischer mittlerer Linien ist es möglich, sowohl Trends zu erfassen als auch Risiken zu kontrollieren. Die Kernvorteile der Strategie liegen in ihrem mehrfachen Bestätigungsmechanismus, aber auch in der Notwendigkeit, auf die Performance in einem bewegten Markt zu achten.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover with SMMA and Additional EMAs", overlay=true)
// Input parameters for EMAs and SMMA
emaShortLength = input.int(10, title="Short EMA Length")
emaLongLength = input.int(22, title="Long EMA Length")
smmaLength = input.int(200, title="SMMA Length")
// Additional EMA lengths
ema1Length = input.int(50, title="EMA 1 Length")
ema2Length = input.int(100, title="EMA 2 Length")
ema3Length = input.int(200, title="EMA 3 Length")
// Calculate EMAs and SMMA
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
smma = ta.sma(ta.sma(close, smmaLength), 2) // SMMA approximation
ema1 = ta.ema(close, ema1Length)
ema2 = ta.ema(close, ema2Length)
ema3 = ta.ema(close, ema3Length)
// Plot EMAs and SMMA on the chart
plot(emaShort, color=color.blue, linewidth=2, title="Short EMA")
plot(emaLong, color=color.red, linewidth=2, title="Long EMA")
plot(smma, color=color.white, linewidth=2, title="SMMA")
plot(ema1, color=color.green, linewidth=1, title="EMA 1")
plot(ema2, color=color.purple, linewidth=1, title="EMA 2")
plot(ema3, color=color.yellow, linewidth=1, title="EMA 3")
// Buy condition: Short EMA crosses above Long EMA and price is above SMMA
buyCondition = ta.crossover(emaShort, emaLong) and close > smma
// Sell condition: Short EMA crosses below Long EMA and price is below SMMA
sellCondition = ta.crossunder(emaShort, emaLong) and close < smma
// Execute Buy order
if (buyCondition)
strategy.entry("Buy", strategy.long)
alert("Buy Signal: Short EMA crossed above Long EMA and price is above SMMA.", alert.freq_once_per_bar_close)
// Execute Sell order
if (sellCondition)
strategy.entry("Sell", strategy.short)
alert("Sell Signal: Short EMA crossed below Long EMA and price is below SMMA.", alert.freq_once_per_bar_close)