
Strategi ini adalah sistem perdagangan berbalik dalam kisaran dinamis berdasarkan indikator RSI, yang menangkap titik pivot pasar dengan menetapkan kisaran overbought dan oversold yang dapat disesuaikan, yang dikombinasikan dengan parameter sensitivitas closeout / spread. Strategi ini melakukan perdagangan dengan jumlah kontrak tetap dan beroperasi dalam jangka waktu pengembalian tertentu. Inti dari model ini adalah untuk mengidentifikasi status overbought dan oversold pasar melalui perubahan dinamis indikator RSI, dan melakukan perdagangan berbalik pada waktu yang tepat.
Strategi ini menggunakan indikator RSI 14 siklus sebagai indikator inti, menetapkan 80 dan 30 sebagai level acuan untuk overbought dan oversold. Dengan memperkenalkan parameter sensitivitas convergence / spread (diset ke 3.0), kemampuan pengaturan dinamis ditambahkan pada dasar strategi RSI tradisional.
Ini adalah strategi reversal interval dinamis berdasarkan indikator RSI, yang mencapai sistem perdagangan yang relatif utuh melalui pengaturan parameter yang fleksibel dan aturan perdagangan yang jelas. Keunggulan utama strategi adalah kemampuan pengaturannya yang dinamis dan pengendalian risiko yang jelas, tetapi juga perlu memperhatikan risiko potensial di pasar yang bergolak dan pasar yang sedang tren. Strategi ini memiliki ruang untuk peningkatan lebih lanjut dengan memperkenalkan alat-alat optimasi seperti penyesuaian tingkat fluktuasi, penyesuaian filter tren.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI Options Strategy", overlay=true)
// RSI settings
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(80, title="Overbought Level")
rsiOversold = input(30, title="Oversold Level")
rsiSource = input(close, title="RSI Source")
rsi = ta.rsi(rsiSource, rsiLength)
// Convergence/Divergence Input
convergenceLevel = input(3.0, title="Convergence/Divergence Sensitivity")
// Order size (5 contracts)
contracts = 10
// Date Range for Backtesting
startDate = timestamp("2024-09-10 00:00")
endDate = timestamp("2024-11-09 23:59")
// Limit trades to the backtesting period
inDateRange = true
// RSI buy/sell conditions with convergence/divergence sensitivity
buySignalOverbought = ta.crossover(rsi, rsiOverbought - convergenceLevel)
sellSignalOversold = ta.crossunder(rsi, rsiOversold + convergenceLevel)
buySignalOversold = ta.crossunder(rsi, rsiOversold - convergenceLevel)
sellSignalOverbought = ta.crossover(rsi, rsiOverbought + convergenceLevel)
// Execute trades only within the specified date range
if (inDateRange)
// Buy when RSI crosses above 80 (overbought)
if (buySignalOverbought)
strategy.entry("Buy Overbought", strategy.long, qty=contracts)
// Sell when RSI crosses below 30 (oversold)
if (sellSignalOversold)
strategy.close("Buy Overbought")
// Buy when RSI crosses below 30 (oversold)
if (buySignalOversold)
strategy.entry("Buy Oversold", strategy.long, qty=contracts)
// Sell when RSI crosses above 80 (overbought)
if (sellSignalOverbought)
strategy.close("Buy Oversold")
// Plot the RSI for visualization
plot(rsi, color=color.blue, title="RSI")
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)