Diese Strategie ist ein Trend-Folge-Handelssystem, das auf mehreren exponentiellen gleitenden Durchschnitten (EMAs) basiert. Durch die Verwendung von drei EMAs mit verschiedenen Perioden (10, 30, 50), kombiniert mit Preis-Crossovers und Trendrichtungsanalyse, baut sie ein komplettes Kauf- und Verkaufssignalsystem auf. Die Strategie berücksichtigt gründlich Trendbildung, Bestätigung und Umkehrung und erfasst effektiv wichtige Trendchancen auf dem Markt.
Die Strategie verwendet einen hierarchischen Beurteilungsmechanismus zur Bestimmung von Handelssignalen: 1. Trendbestimmungsschicht: Verwendet die relativen Positionen von drei EMAs (10/30/50) zur Beurteilung der Trendrichtung. Ein Aufwärtstrend wird identifiziert, wenn EMA10 > EMA30 > EMA50; ein Abwärtstrend, wenn EMA50 > EMA30 > EMA10. 2. Signal-Trigger-Schicht: Sobald ein Trend etabliert ist, werden Handelssignale durch Preiskreuzungen mit EMA30 ausgelöst. 3. Positionsmanagement-Schicht: Wenn die EMA30 die EMA50 in die entgegengesetzte Richtung überquert, löst sie entsprechende Positionsschließungssignale aus und stellt einen systematischen Ausstiegsmechanismus bereit.
Dies ist ein gut konzipierter Trend, der einer Strategie mit klarer Logik folgt. Die Kombination mehrerer EMAs sorgt sowohl für Strategie-Stabilität als auch für klare Handelssignale. Obwohl es einige inhärente Verzögerungsrisiken gibt, zeigt die Strategie durch angemessene Optimierungs- und Risikokontrollmaßnahmen einen guten praktischen Wert. Sie eignet sich besonders für Händler, die nach stabilen Renditen mit kontrolliertem Risiko suchen.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © banyat6913 //@version=5 strategy("EMA Trend Strategy", overlay=true) // Input Parameters ema_short_length = input.int(10, title="EMA Short Length", minval=1) ema_mid_length = input.int(30, title="EMA Mid Length", minval=1) ema_long_length = input.int(50, title="EMA Long Length", minval=1) // Calculate EMA ema_short = ta.ema(close, ema_short_length) ema_mid = ta.ema(close, ema_mid_length) ema_long = ta.ema(close, ema_long_length) // **TREND UP** // 1. EMA 10 > EMA 30 > EMA 50 uptrend_condition = ema_short > ema_mid and ema_mid > ema_long // 2. Bullish Candle Crossing Up EMA 30 bullish_candle = close > open cross_up_ema_mid = ta.crossover(close, ema_mid) // 3. If EMA 30 crosses down EMA 50 -> Close Buy Order ema_30_cross_down_50 = ta.crossunder(ema_mid, ema_long) // Buy Signal buy_signal = uptrend_condition and cross_up_ema_mid // Sell Signal for closing Buy Order close_buy_signal = ema_30_cross_down_50 // **TREND DOWN** // 1. EMA 50 > EMA 30 > EMA 10 downtrend_condition = ema_long > ema_mid and ema_mid > ema_short // 2. Bearish Candle Crossing Down EMA 30 bearish_candle = close < open cross_down_ema_mid = ta.crossunder(close, ema_mid) // 3. If EMA 30 crosses up EMA 50 -> Close Sell Order ema_30_cross_up_50 = ta.crossover(ema_mid, ema_long) // Sell Signal sell_signal = downtrend_condition and cross_down_ema_mid // Buy Signal for closing Sell Order close_sell_signal = ema_30_cross_up_50 // Backtesting Logic if (buy_signal) strategy.entry("Buy", strategy.long) if (close_buy_signal) strategy.close("Buy") if (sell_signal) strategy.entry("Sell", strategy.short) if (close_sell_signal) strategy.close("Sell") // Plot EMA Lines plot(ema_short, color=color.blue, title="EMA 10") plot(ema_mid, color=color.orange, title="EMA 30") plot(ema_long, color=color.green, title="EMA 50") // Plot Buy and Sell Signals on Chart plotshape(buy_signal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), text="BUY", title="Buy Signal") plotshape(close_buy_signal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), text="CLOSE BUY", title="Close Buy Signal") plotshape(sell_signal, style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), text="SELL", title="Sell Signal") plotshape(close_sell_signal, style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), text="CLOSE SELL", title="Close Sell Signal")