Diese Strategie verwendet ein duales gleitendes Durchschnittssystem für die Trendbestimmung und Handelsentscheidungen und nutzt die relative Position von schnellen und langsamen exponentiellen gleitenden Durchschnitten (EMAs) zu bestimmten Zeitpunkten, um den Trendbeginn, die Fortsetzung oder die Beendigung zu identifizieren.
Der Kern der Strategie basiert auf zwei EMAs mit unterschiedlichen Perioden für die Trendbestimmung. Die schnelle EMA (Standardperiode 10) ist empfindlicher auf Preisänderungen reagierend und fähig, Marktbewegungen schnell zu erfassen; die langsame EMA (Standardperiode 50) spiegelt längerfristige Trends wider. Die Strategie überprüft die Positionsbeziehung zwischen diesen beiden Linien zu einer bestimmten Zeit an jedem Handelstag (Standard 9:00), wobei EMA-Kreuzungssignale verwendet werden, um die Markttrendrichtung zu bestimmen und Trades auszuführen. Eine Long-Position wird eingegeben, wenn die schnelle EMA über die langsame EMA überschreitet, was auf eine Stärkung der Aufwärtsdynamik hinweist, während eine Short-Position eingegeben wird, wenn die schnelle EMA die langsame EMA überschreitet, was auf eine Stärkung der Abwärtsdynamik hinweist.
Die Strategie erzielt ein einfaches, aber effektives Trend-Folge-Handelssystem, indem ein duales EMA-System mit festen Zeitschrift-Check-Mechanismen kombiniert wird. Seine Stärken liegen in der klaren Logik und hohen Automatisierung, obwohl es mit Einschränkungen aus gleitender Durchschnittsverzögerung und festen Eintrittszeiten konfrontiert ist. Es bleibt erheblicher Raum für Verbesserungen durch die Einführung zusätzlicher technischer Indikatoren, Optimierung von Parameterwahlmechanismen und verbesserte Risikokontrollmaßnahmen. Insgesamt stellt dies einen praktischen Grundstrategie-Rahmen dar, der nach spezifischen Anforderungen weiter verfeinert und optimiert werden kann.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Daily EMA Comparison Strategy", shorttitle="Daily EMA cros Comparison", overlay=true) //------------------------------------------------------------------------------ // Inputs //------------------------------------------------------------------------------ fastEmaLength = input.int(10, title="Fast EMA Length", minval=1) // Fast EMA period slowEmaLength = input.int(50, title="Slow EMA Length", minval=1) // Slow EMA period checkHour = input.int(9, title="Check Hour (24h format)", minval=0, maxval=23) // Hour to check checkMinute = input.int(0, title="Check Minute", minval=0, maxval=59) // Minute to check //------------------------------------------------------------------------------ // EMA Calculation //------------------------------------------------------------------------------ fastEMA = ta.ema(close, fastEmaLength) slowEMA = ta.ema(close, slowEmaLength) //------------------------------------------------------------------------------ // Time Check //------------------------------------------------------------------------------ // Get the current bar's time in the exchange's timezone currentTime = timestamp("GMT-0", year, month, dayofmonth, checkHour, checkMinute) // Check if the bar's time equals or passes the daily check time isCheckTime = (time >= currentTime and time < currentTime + 60 * 1000) // 1-minute tolerance //------------------------------------------------------------------------------ // Entry Conditions //------------------------------------------------------------------------------ // Buy if Fast EMA is above Slow EMA at the specified time buyCondition = isCheckTime and fastEMA > slowEMA // Sell if Fast EMA is below Slow EMA at the specified time sellCondition = isCheckTime and fastEMA < slowEMA //------------------------------------------------------------------------------ // Strategy Execution //------------------------------------------------------------------------------ // Enter Long if buyCondition strategy.entry("Long", strategy.long) // Enter Short if sellCondition strategy.entry("Short", strategy.short) //------------------------------------------------------------------------------ // Plot EMAs //------------------------------------------------------------------------------ plot(fastEMA, color=color.blue, title="Fast EMA") plot(slowEMA, color=color.orange, title="Slow EMA")