
Die langfristige Trend-Tracking-Strategie in EMA SAR ist eine quantitative Trading-Strategie, die mittelfristige Markttrends mit einer Kombination aus Index-Moving Averages (EMA) und Parallax-Line-Indikatoren (SAR) erfasst. Die Strategie ermittelt die aktuelle Markttrendrichtung durch den Vergleich von 20- und 60-Zyklen-EMA in Kombination mit dem SAR-Indikator und handelt nach der Trendfeststellung. Das Hauptziel der Strategie ist es, in den frühen Stadien der Trendbildung einzugreifen und Positionen zu halten, bis ein Signal für eine Trendwende vorliegt.
Der Kern der Strategie besteht darin, die Richtung eines Trends zu bestimmen, indem man die Kreuzung zweier unterschiedlicher Perioden der EMAs ((20 und 60)) nutzt. Wenn die 20-Zyklus-EMA von unten durch die 60-Zyklus-EMA geht, ist ein Aufwärtstrend möglich. Umgekehrt, wenn die 20-Zyklus-EMA von oben durch die 60-Zyklus-EMA geht, ist ein Abwärtstrend möglich.
Der Vorteil dieser Strategie liegt in der Fähigkeit, den Lärm besser zu filtern und nach der Trendbestimmung Positionen zu halten, um die Gewinne zu maximieren. Allerdings kann es in einem schwankenden Markt mehr Fehlsignale auftreten und die Parameterwahl beeinflussen. In der Zukunft kann die Strategie durch die Einführung anderer Indikatoren, die Optimierung der Parameter, die Dynamik der Risikokontrolle usw. weiter verstärkt werden, um die Stabilität und das Ertragspotenzial in den verschiedenen Marktumgebungen zu erhöhen.
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA SAR Strategy", overlay=true)
// EMA Settings
ema_20 = ta.ema(close, 20)
ema_60 = ta.ema(close, 60)
/// SAR Settings
sar = ta.sar(0.02, 0.2, 0.2)
sar_value = sar
is_trend_up = sar[1] > sar[2] ? true : false // Evaluating the trend direction
/// Condition for Buy Signal
buy_condition = ta.crossover(ema_20, ema_60) and (sar_value < ema_20) and (is_trend_up)
// Condition for Sell Signal
sell_condition = ta.crossunder(ema_20, ema_60) and (sar_value > ema_20) and (not is_trend_up)
// Define Entry Time
entry_time = time + 180000
// Strategy Entry
strategy.entry("Buy", strategy.long, when=buy_condition, comment="Buy Signal", stop=high[1])
strategy.entry("Sell", strategy.short, when=sell_condition, comment="Sell Signal", stop=low[1], when=entry_time)
// Plot EMAs
plot(ema_20, color=#f3e221, linewidth=1, title="EMA 20")
plot(ema_60, color=#8724f0, linewidth=1, title="EMA 60")
// Plot SAR
plotshape(sar_value, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.small, title="SAR Up")
plotshape(sar_value, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small, title="SAR Down")
// Plot Buy and Sell Signals
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
// Send Alerts
alertcondition(condition=buy_condition, title="Buy Signal", message="Buy Signal - EMA SAR Strategy")
alertcondition(condition=sell_condition, title="Sell Signal", message="Sell Signal - EMA SAR Strategy")