Strategi ini menetapkan garis sinyal beli dan garis sinyal jual berdasarkan indikator RSI, dikombinasikan dengan stop loss bergerak untuk mencapai pembelian dan penjualan otomatis. Ini mengirim sinyal beli ketika indikator RSI lebih rendah dari garis sinyal beli, dan sinyal jual ketika indikator RSI lebih tinggi dari garis sinyal jual. Pada saat yang sama, menetapkan stop loss bergerak untuk mengunci keuntungan dan mengendalikan risiko.
Strategi ini terutama didasarkan pada zona overbought dan oversold dari indikator RSI untuk menentukan waktu masuk dan keluar. RSI di bawah 20 dianggap oversold, dan di atas 80 dianggap overbought. Strategi menetapkan tiga garis sinyal beli rendah RSI pada 20, 18, dan 14. Ketika harga penutupan lebih tinggi dari hari sebelumnya dan indikator RSI di bawah garis beli yang sesuai, sinyal beli dikeluarkan. Strategi menetapkan garis sinyal jual tinggi RSI pada 83. Ketika indikator RSI lebih tinggi dari garis jual ini, sinyal jual dikeluarkan. Selain itu, strategi juga menetapkan stop loss bergerak. Jika harga turun di bawah 5% dari harga, itu akan menghentikan kerugian jual beli.
Seluruh strategi menilai waktu pembelian dan penjualan melalui zona overbought dan oversold dari indikator RSI, dan menetapkan stop loss untuk mengunci keuntungan dan mengendalikan risiko.
Keuntungan dari strategi ini meliputi:
Gunakan indikator RSI klasik dan banyak diverifikasi untuk menentukan titik perdagangan dan secara efektif menangkap peluang overbought dan oversold.
Menetapkan beberapa baris pembelian memungkinkan pembelian dibagi dengan harga rendah yang berbeda, mengurangi biaya pembelian.
Mengkonfigurasi stop loss bergerak untuk mengendalikan kerugian dan mengunci keuntungan dapat secara efektif mengelola risiko.
Logika strategi sederhana dan jelas, mudah dimengerti dan dimodifikasi, dan mudah diverifikasi dalam perdagangan langsung.
Parameter indikator RSI dapat disesuaikan dan disesuaikan untuk produk dan pasar yang berbeda.
Ada juga beberapa risiko untuk strategi ini:
Mengandalkan satu indikator, cenderung sinyal palsu dan sinyal indikator RSI mungkin tidak akurat.
Tidak ada strategi mengambil keuntungan, risiko membiarkan kerugian berkembang.
Ada risiko pembagian zona overbought dan oversold, terutama di pasar yang terikat rentang.
Dalam kondisi pasar yang ekstrim, harga dapat menerobos garis stop loss secara langsung dan gagal menghentikan kerugian.
Solusinya adalah:
Gunakan beberapa indikator digabungkan untuk menghindari sinyal palsu.
Tambahkan keuntungan mengambil strategi seperti zona atau sar.
Sesuaikan parameter RSI untuk mempersempit zona overbought/oversold.
Gunakan stop loss dinamis atau intervensi manual bila diperlukan.
Strategi dapat dioptimalkan dalam aspek berikut:
Menggabungkan indikator lain untuk membentuk portofolio indikator untuk menghindari sinyal palsu, seperti RSI + KDJ, RSI + MACD.
Tambahkan strategi mengambil keuntungan seperti trailing stop loss, time-based exit, moving exit channel.
Optimasi parameter, menyesuaikan parameter RSI berdasarkan produk dan kerangka waktu yang berbeda.
Strategi derivatif seperti strategi pembalikan, skala dalam strategi.
Sempitkan zona beli/jual dengan tepat untuk menghindari sinyal palsu.
Singkatnya, ini adalah strategi perdagangan kuantitatif khas yang didasarkan pada indikator RSI dengan mengatur sinyal beli / jual. Strategi ini sederhana dan mudah diterapkan, tetapi bergantung pada satu indikator dengan risiko tinggi tidak mengambil keuntungan.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Buy/Sell Strategy", overlay=false) // Input for RSI period rsiPeriod = input(12, title="RSI Period") // Input for RSI levels rsiBuyLevel1 = 20 rsiBuyLevel2 = 18 rsiBuyLevel3 = 14 rsiSellLevel = input(83, title="RSI Sell Level") // Input for stop loss percentage stopLossPercent = input(5, title="Stop Percentage") // Calculate RSI rsiValue = ta.rsi(close, rsiPeriod) // Buy Conditions: RSI below buy levels buyCondition1 = close[1] > close and rsiValue <= rsiBuyLevel1 buyCondition2 = close[1] > close and rsiValue <= rsiBuyLevel2 buyCondition3 = close[1] > close and rsiValue <= rsiBuyLevel3 // Sell Conditions: RSI above sell level or stop loss sellCondition = (rsiValue > rsiSellLevel )//or ( close[1] < close * (1 - stopLossPercent / 100)) // Calculate position size based on 10% of current equity positionSize = strategy.equity * 0.8 / close // Plot RSI on the chart plot(rsiValue, title="RSI", color=color.blue) // Plot horizontal lines for buy and sell levels hline(rsiBuyLevel1, "Buy Level 1", color=color.green) hline(rsiBuyLevel2, "Buy Level 2", color=color.green) hline(rsiBuyLevel3, "Buy Level 3", color=color.green) hline(rsiSellLevel, "Sell Level", color=color.red) // Execute Buy and Sell orders with stop loss strategy.entry("Buy1", strategy.long, when = buyCondition1, qty = positionSize,stop=close * stopLossPercent / 100) strategy.entry("Buy2", strategy.long, when = buyCondition2, qty = positionSize,stop=close * stopLossPercent / 100) strategy.entry("Buy3", strategy.long, when = buyCondition3, qty = positionSize,stop=close * stopLossPercent / 100) strategy.close("Buy1", when = sellCondition) strategy.close("Buy2", when = sellCondition) strategy.close("Buy3", when = sellCondition)