Dies ist eine Trend-Folge-Strategie, die auf dreifachen Exponential Moving Average (EMA) -Crossover-Signalen basiert. Die Strategie kombiniert 9-Perioden-, 15-Perioden- und 50-Perioden-EMAs, wobei Crossover-Signalen zwischen kurz- und mittelfristigen EMAs verwendet werden, während die langfristige EMA als Trendfilter verwendet wird, gepaart mit dynamischen Stop-Loss- und Take-Profit-Mechanismen für das Risikomanagement.
Die Kernlogik beruht auf der Überwachung von Crossover-Signalen zwischen den 9- und 15-Perioden-EMAs, wobei der 50-Perioden-EMA als Trendbestätigungsindikator verwendet wird.
Dies ist eine gut konzipierte Trend-Folge-Strategie mit klarer Logik. Die Kombination von mehreren EMAs gewährleistet Signalzuverlässigkeit, während wirkungsvolle Trend-Folge erreicht wird. Die eingebauten Risikomanagementmechanismen bieten Stabilität für den Strategiebetrieb. Durch die vorgeschlagenen Optimierungsrichtungen gibt es Raum für weitere Verbesserungen. Die Strategie eignet sich für Händler, die nach stetigen Renditen suchen, erfordert jedoch vor der Implementierung gründliche Tests und Parameteroptimierung für spezifische Marktmerkmale.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with 50 EMA Filter", overlay=true) // Customizable Inputs ema9Length = input(9, title="EMA 9 Length") ema15Length = input(15, title="EMA 15 Length") ema50Length = input(50, title="EMA 50 Length") stopLossPoints = input(100, title="Stop Loss Points") takeProfitPoints = input(200, title="Take Profit Points") // Calculate EMAs ema9 = ta.ema(close, ema9Length) ema15 = ta.ema(close, ema15Length) ema50 = ta.ema(close, ema50Length) // Detect crossovers crossover_above = ta.crossover(ema9, ema15) crossover_below = ta.crossunder(ema9, ema15) // Plot EMAs plot(ema9, color=color.blue, title="EMA 9") plot(ema15, color=color.red, title="EMA 15") // Make the 50 EMA invisible plot(ema50, color=color.new(color.white, 100), title="EMA 50", display=display.none) // Plot buy and sell signals as shapes plotshape(crossover_above and close > ema50, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(crossover_below and close < ema50, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Execute trades if (crossover_above and close > ema50) strategy.entry("Buy", strategy.long) if (crossover_below and close < ema50) strategy.close("Buy") // Apply stop loss and take profit if (crossover_above and close > ema50) strategy.exit("Exit", from_entry="Buy", loss=stopLossPoints, profit=takeProfitPoints) // Alerts for notifications if (crossover_above and close > ema50) alert("EMA 9 crossed above EMA 15 with price above EMA 50 - Buy Signal", alert.freq_once_per_bar_close) if (crossover_below and close < ema50) alert("EMA 9 crossed below EMA 15 with price below EMA 50 - Sell Signal", alert.freq_once_per_bar_close)