Strategi ini adalah sistem perdagangan pembalikan julat dinamik berdasarkan penunjuk RSI, menangkap titik perubahan pasaran melalui zon overbought / oversold yang boleh disesuaikan yang digabungkan dengan parameter kepekaan konvergensi / perbezaan. Strategi ini menggunakan bilangan kontrak tetap untuk perdagangan dan beroperasi dalam jangka masa backtesting tertentu. Inti model ini terletak pada mengenal pasti keadaan pasar yang terlalu banyak dibeli dan terlalu banyak dijual melalui perubahan RSI dinamik dan melaksanakan perdagangan pembalikan pada masa yang sesuai.
Strategi ini menggunakan RSI 14 tempoh sebagai penunjuk utamanya, menetapkan 80 dan 30 sebagai paras penanda aras overbought dan oversold. Dengan memperkenalkan parameter kepekaan konvergensi/divergensi (ditempatkan pada 3.0), ia menambah keupayaan penyesuaian dinamik kepada strategi RSI tradisional. Posisi panjang ditubuhkan apabila RSI memecahkan di atas tahap overbought dan ditutup apabila RSI jatuh di bawah tahap oversold. Begitu juga, kedudukan panjang ditubuhkan apabila RSI jatuh di bawah tahap overbought dan ditutup apabila RSI memecahkan di atas tahap overbought. Setiap perdagangan menggunakan kontrak tetap 10 untuk memastikan kestabilan dalam penggunaan modal.
Ini adalah strategi pembalikan julat dinamik berdasarkan penunjuk RSI, mencapai sistem dagangan yang agak lengkap melalui tetapan parameter yang fleksibel dan peraturan dagangan yang jelas. Keuntungan utama strategi ini terletak pada keupayaan penyesuaian dinamik dan kawalan risiko yang jelas, sementara perhatian perlu diberikan kepada risiko berpotensi di pasaran yang bergolak dan trend. Melalui langkah-langkah pengoptimuman seperti penyesuaian turun naik dan penapisan trend, strategi ini mempunyai ruang untuk peningkatan lanjut. Secara keseluruhan, ini adalah rangka kerja strategi dagangan kuantitatif praktikal yang sesuai untuk penyelidikan mendalam dan pengesahan praktikal.
/*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)