
Dies ist eine Trendfolgestrategie, die auf Überkreuzungen des exponentiellen gleitenden Durchschnitts (EMA) und der Bestätigung des Relative-Stärke-Index (RSI) basiert. Die Strategie kombiniert die Crossover-Signale der kurzfristigen und langfristigen EMAs mit der RSI-Momentum-Bestätigung und integriert gleichzeitig einen prozentualen Stop-Loss-Mechanismus mit dem Ziel, wichtige Wendepunkte in Markttrends zu erfassen und Risiken zu kontrollieren. Der Kern der Strategie besteht darin, die Genauigkeit und Zuverlässigkeit von Transaktionen zu verbessern und gleichzeitig die Transaktionssicherheit durch die Synergie technischer Indikatoren zu gewährleisten.
Die Strategie verwendet einen dualen technischen Indikatoren-Filtermechanismus: Zunächst werden potenzielle Trendwendepunkte durch die Kreuzung des kurzfristigen EMA (9 Perioden) und des langfristigen EMA (21 Perioden) identifiziert. Wenn der kurzfristige EMA den langfristigen EMA nach oben kreuzt und der RSI-Wert höher als der eingestellte Wert ist, generiert das System ein Long-Signal; wenn der kurzfristige EMA den langfristigen EMA nach unten kreuzt und der RSI-Wert niedriger ist als der eingestellte Pegel, erzeugt das System ein kurzes Signal. Gleichzeitig führt die Strategie einen prozentualen Stop-Loss-Mechanismus ein, der für jede Transaktion einen dynamischen Stop-Loss-Preis festlegt, um Abwärtsrisiken wirksam zu kontrollieren.
Diese Strategie erstellt durch die Kombination des gleitenden Durchschnittssystems und der Momentumindikatoren ein vollständiges Trendverfolgungs-Handelssystem. Die Hauptvorteile der Strategie liegen in ihrem zuverlässigen Signalbestätigungsmechanismus und ihrem perfekten Risikokontrollsystem. Obwohl einige inhärente Einschränkungen bestehen, ist zu erwarten, dass die Gesamtleistung der Strategie durch die vorgeschlagene Optimierungsrichtung weiter verbessert wird. Dies ist ein robuster Strategierahmen, der für mittel- bis langfristige Trendhändler geeignet ist.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple Trend Following Strategy", overlay=true)
// Inputs
shortEMA = input.int(9, title="Short EMA Length", minval=1)
longEMA = input.int(21, title="Long EMA Length", minval=1)
confirmationRSI = input.int(50, title="RSI Confirmation Level", minval=1, maxval=100)
stopLossPercent = input.float(2, title="Stop Loss Percentage", minval=0.1) // Stop Loss percentage
// Calculations
emaShort = ta.ema(close, shortEMA)
emaLong = ta.ema(close, longEMA)
rsiValue = ta.rsi(close, 14)
// Buy and Sell Conditions
buySignal = ta.crossover(emaShort, emaLong) and rsiValue > confirmationRSI
sellSignal = ta.crossunder(emaShort, emaLong) and rsiValue < confirmationRSI
// Plotting Signals
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Plotting EMAs
plot(emaShort, title="Short EMA", color=color.yellow)
plot(emaLong, title="Long EMA", color=color.purple)
// Strategy logic
strategy.entry("Buy", strategy.long, when=buySignal)
strategy.entry("Sell", strategy.short, when=sellSignal)
// Calculate stop loss price based on stopLossPercent
longStopLossPrice = strategy.position_avg_price * (1 - stopLossPercent / 100)
shortStopLossPrice = strategy.position_avg_price * (1 + stopLossPercent / 100)
// Draw stop loss line for long positions
if (strategy.position_size > 0) // For long positions
line.new(x1=bar_index, y1=longStopLossPrice, x2=bar_index + 1, y2=longStopLossPrice, color=color.red, width=2, style=line.style_dashed)
// Draw stop loss line for short positions
if (strategy.position_size < 0) // For short positions
line.new(x1=bar_index, y1=shortStopLossPrice, x2=bar_index + 1, y2=shortStopLossPrice, color=color.green, width=2, style=line.style_dashed)