Ini adalah strategi perdagangan dinamis berdasarkan Indeks Kekuatan Relatif (RSI) dikombinasikan dengan mekanisme stop-loss yang fleksibel. Strategi ini terutama menargetkan kondisi pasar oversold, bertujuan untuk menangkap harga rebound untuk keuntungan. Pendekatan inti melibatkan menggunakan indikator RSI untuk mengidentifikasi kondisi oversold potensial, menerapkan stop-loss berbasis persentase untuk pengendalian risiko, dan memanfaatkan breakout tinggi sebelumnya sebagai sinyal pengambilan keuntungan.
Strategi ini beroperasi berdasarkan unsur-unsur utama berikut:
Strategi perdagangan yang dirancang dengan baik ini mencapai keseimbangan yang baik antara pengendalian risiko dan pengambilan peluang keuntungan melalui kombinasi kondisi oversold RSI dan mekanisme stop-loss. Keakuratan strategi yang tinggi membuatnya cocok untuk optimasi kinerja dalam kondisi pasar yang berbeda. Meskipun ada beberapa risiko potensial, arah optimasi yang disarankan dapat lebih meningkatkan stabilitas dan profitabilitas strategi.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Strategy with Adjustable RSI and Stop-Loss", overlay=false, default_qty_type=strategy.fixed, default_qty_value=2, initial_capital=10000, pyramiding=2, commission_type=strategy.commission.percent, commission_value=0.05, slippage=1) // Input fields for RSI parameters rsi_length = input.int(8, title="RSI Length", minval=1) rsi_threshold = input.float(28, title="RSI Threshold", minval=1, maxval=50) // Input for Stop-Loss percentage stop_loss_percent = input.float(5, title="Stop-Loss Percentage", minval=0.1, maxval=100) // Calculate the RSI rsi = ta.rsi(close, rsi_length) // Condition for buying: RSI below the defined threshold buyCondition = rsi < rsi_threshold // Condition for selling: Close price higher than yesterday's high sellCondition = close > ta.highest(high, 1)[1] // Calculate the Stop-Loss level based on the entry price var float stop_loss_level = na if (buyCondition) stop_loss_level := close * (1 - stop_loss_percent / 100) strategy.entry("Long", strategy.long) // Create Stop-Loss order strategy.exit("Stop-Loss", from_entry="Long", stop=stop_loss_level) // Selling signal if (sellCondition) strategy.close("Long") // Optional: Plot the RSI for visualization plot(rsi, title="RSI", color=color.blue) hline(rsi_threshold, "RSI Threshold", color=color.red)