RSI Crossover Momentum Cyclical strategy adalah strategi perdagangan kuantitatif berdasarkan Indeks Kekuatan Relatif (RSI). Ia menghasilkan isyarat beli dan jual melalui crossover RSI untuk mencapai perdagangan yang menguntungkan. Isyarat beli dipicu apabila RSI melintasi ambang yang ditakrifkan oleh pengguna, sementara isyarat jual dipicu apabila RSI jatuh di bawah ambang, menutup kedudukan secara beransur-ansur dengan keuntungan.
Strategi ini dibina di atas penunjuk RSI, yang mengukur momentum saham dan tahap overbought / oversold. Ia mula-mula mengira nilai RSI, kemudian berdagang berdasarkan hubungan antara RSI dan ambang beli / jual yang telah ditetapkan.
Secara khusus, apabila RSI melintasi di atas ambang beli (default 60), isyarat beli dihasilkan. Strategi kemudian akan membuka kedudukan panjang. Kemudian apabila RSI jatuh di bawah ambang jual (default 80), isyarat jual berlaku. Strategi akan menutup kedudukan panjang yang sedia ada dengan sewajarnya. Dengan berayun di antara dua ambang, kitaran momentum bolak-balik untuk mencatat keuntungan.
Strategi ini ditulis dalam Pine Script menggunakan logik bersyarat yang jelas untuk kemasukan dan keluar.
Kita boleh menetapkan stop loss, mengoptimumkan parameter RSI, atau menambah penapis untuk meningkatkannya.
Ada beberapa cara kita boleh mengoptimumkan lagi strategi:
Contoh asas ini menunjukkan penggunaan RSI untuk perdagangan kuant. Kita boleh membina dengan lebih banyak penunjuk dan teknik pengurusan risiko. Dalam amalan, pengoptimuman dan penyesuaian yang ketat berdasarkan toleransi risiko peribadi diperlukan sebelum aplikasi. Dengan metodologi yang baik, strategi ini boleh menjadi alat pelaburan kuantitatif yang berkesan.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI Cross 60/80 Strategy", overlay=true) // Input for RSI period rsiPeriod = input.int(14, title="RSI Period", minval=1) // Calculate RSI rsiValue = ta.rsi(close, rsiPeriod) // Input for RSI thresholds rsiBuyThreshold = input(60, title="RSI Threshold for Buy") rsiSellThreshold = input(80, title="RSI Threshold for Sell") // Conditions for Buy and Sell signals buySignal = ta.crossover(rsiValue, rsiBuyThreshold) sellSignal = ta.crossunder(rsiValue, rsiSellThreshold) // Plot RSI on the chart plot(rsiValue, title="RSI", color=color.blue) // Strategy entry and exit if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // Plot Buy and Sell signals on the chart plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)