
Die Strategie ist ein Cross-Trading-System, das auf Index-Moving Averages (EMA) und relativ starken Indexen (RSI) basiert. Die Strategie bestimmt den Zeitpunkt des Eintritts und des Ausstiegs durch die Kreuzung von Preisen mit EMA und Überkauf-Überverkauf-Niveaus des RSI-Indikators. Das System hat einen vollständigen Stop-Loss- und Gewinnmechanismus entwickelt, der das Risiko effektiv kontrolliert.
Die Strategie basiert hauptsächlich auf folgenden Kernlogiken:
Durch die Kombination von EMA und RSI, zwei klassischen technischen Indikatoren, erstellt die Strategie ein Handelssystem mit Trendverfolgung und Reversal-Eigenschaften. Die ausgereifte Risikokontrolle und die anpassbare Parameter-Design machen sie gut praktisch. Die Parameteroptimierung der Strategie und die Marktanpassungsfähigkeit haben jedoch noch Raum für Verbesserungen.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-05 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("EMA & RSI Custom Strategy", overlay=true)
// Input Parameters
emaLength = input.int(68, title="EMA Length")
rsiLength = input.int(13, title="RSI Period")
buyOffset = input.float(2, title="Buy Offset (above EMA)")
sellOffset = input.float(2, title="Sell Offset (below EMA)")
stopLossPoints = input.float(20, title="Stop Loss (points)")
buyRSIProfitLevel = input.int(70, title="Buy RSI Profit Level")
sellRSIProfitLevel = input.int(28, title="Sell RSI Profit Level")
// EMA and RSI Calculations
ema = ta.ema(close, emaLength)
rsi = ta.rsi(close, rsiLength)
// Buy Condition
buyPrice = ema + buyOffset
buyCondition = ta.crossover(close, buyPrice)
if buyCondition
strategy.entry("Buy", strategy.long)
// Stop Loss and Profit for Buy
if strategy.position_size > 0
if close <= strategy.position_avg_price - stopLossPoints
strategy.close("Buy", comment="Stop Loss")
if rsi >= buyRSIProfitLevel
strategy.close("Buy", comment="Profit Target")
// Sell Condition
sellPrice = ema - sellOffset
sellCondition = ta.crossunder(close, sellPrice)
if sellCondition
strategy.entry("Sell", strategy.short)
// Stop Loss and Profit for Sell
if strategy.position_size < 0
if close >= strategy.position_avg_price + stopLossPoints
strategy.close("Sell", comment="Stop Loss")
if rsi <= sellRSIProfitLevel
strategy.close("Sell", comment="Profit Target")
// Plot EMA
plot(ema, color=color.blue, title="EMA 68")