Ini adalah strategi dagangan dinamik berdasarkan Indeks Kekuatan Relatif (RSI) digabungkan dengan mekanisme stop-loss yang fleksibel. Strategi ini terutamanya menyasarkan keadaan pasaran oversold, bertujuan untuk menangkap kenaikan harga untuk keuntungan. Pendekatan teras melibatkan penggunaan penunjuk RSI untuk mengenal pasti keadaan oversold yang berpotensi, melaksanakan stop-loss berasaskan peratusan untuk kawalan risiko, dan menggunakan pecah tinggi sebelumnya sebagai isyarat mengambil keuntungan.
Strategi ini beroperasi berdasarkan elemen utama berikut:
Strategi perdagangan yang direka dengan baik ini mencapai keseimbangan yang baik antara kawalan risiko dan peluang keuntungan melalui gabungan keadaan oversold RSI dan mekanisme stop-loss. Keupayaan penyesuaian strategi yang tinggi menjadikannya sesuai untuk pengoptimuman prestasi dalam keadaan pasaran yang berbeza. Walaupun terdapat beberapa risiko yang berpotensi, arah pengoptimuman yang dicadangkan dapat meningkatkan kestabilan dan keuntungan 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)