Strategi ini adalah sistem perdagangan pembalikan tren yang menggabungkan Rata-rata Gerak Eksponensial (EMA) dan Indeks Kekuatan Relatif (RSI). Ini mengidentifikasi titik pembalikan tren melalui sinyal silang EMA 9 periode dan 21 periode, yang dikonfirmasi oleh terobosan RSI pada tingkat 50. Sistem ini mencakup mekanisme manajemen risiko yang komprehensif dengan rasio risiko-manfaat tetap untuk secara efektif mengendalikan penarikan.
Logika inti didasarkan pada crossover antara Fast EMA (9 periode) dan Slow EMA (21-periode), dengan konfirmasi momentum dari RSI. Sistem menghasilkan sinyal beli ketika Fast EMA melintasi di atas Slow EMA sementara RSI di atas 50, dan sinyal jual ketika Fast EMA melintasi di bawah Slow EMA sementara RSI di bawah 50.
Strategi ini membangun sistem trend-mengikuti yang kuat dengan menggabungkan EMA crossovers dan konfirmasi momentum RSI. Mekanisme pengendalian risiko yang komprehensif dan antarmuka visualisasi yang jelas membuatnya sangat praktis. Sementara kinerja mungkin tidak optimal di pasar sampingan, arah optimasi yang disarankan menawarkan potensi untuk perbaikan lebih lanjut. Pedagang disarankan untuk melakukan backtesting menyeluruh dan menyesuaikan parameter sesuai dengan karakteristik instrumen perdagangan tertentu sebelum implementasi langsung.
/*backtest start: 2024-11-26 00:00:00 end: 2024-12-25 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with RSI Confirmation and Buy/Sell Signals", overlay=true) // Input for EMAs and RSI fastLength = input.int(9, title="Fast EMA Length") slowLength = input.int(21, title="Slow EMA Length") rsiLength = input.int(14, title="RSI Length") rsiLevel = input.int(50, title="RSI Level", minval=0, maxval=100) // Calculate the EMAs and RSI fastEMA = ta.ema(close, fastLength) slowEMA = ta.ema(close, slowLength) rsi = ta.rsi(close, rsiLength) // Plot the EMAs on the chart plot(fastEMA, color=color.green, linewidth=2, title="Fast EMA (9)") plot(slowEMA, color=color.red, linewidth=2, title="Slow EMA (21)") // Plot the RSI on a separate pane (below the chart) hline(rsiLevel, "RSI Level", color=color.gray) plot(rsi, color=color.blue, linewidth=2, title="RSI") // Buy condition: Fast EMA crosses above Slow EMA and RSI crosses above 50 buyCondition = ta.crossover(fastEMA, slowEMA) and rsi > rsiLevel // Sell condition: Fast EMA crosses below Slow EMA and RSI crosses below 50 sellCondition = ta.crossunder(fastEMA, slowEMA) and rsi < rsiLevel // Execute trades based on conditions if (buyCondition) strategy.entry("Buy", strategy.long) label.new(bar_index, low, "Buy", color=color.green, textcolor=color.white, style=label.style_label_up, size=size.small) if (sellCondition) strategy.close("Buy") label.new(bar_index, high, "Sell", color=color.red, textcolor=color.white, style=label.style_label_down, size=size.small) // Strategy exit (optional): Fixed risk-to-reward ratio (take profit and stop loss) takeProfit = input.int(2, title="Take Profit (Risk-Reward)", minval=1) stopLoss = input.int(1, title="Stop Loss (Risk-Reward)", minval=1) strategy.exit("Exit Buy", "Buy", stop=close * (1 - stopLoss / 100), limit=close * (1 + takeProfit / 100)) // Plot buy/sell arrows for visualization plotarrow(buyCondition ? 1 : na, offset=-1, colorup=color.green, maxheight=30, title="Buy Signal Arrow") plotarrow(sellCondition ? -1 : na, offset=-1, colordown=color.red, maxheight=30, title="Sell Signal Arrow")