Strategi perdagangan julat RSI menghasilkan keuntungan dengan berdagang menentang trend apabila RSI mencapai tahap overbought atau oversold. Ia berdasarkan anggapan bahawa harga tidak cenderung ke satu arah selamanya tetapi berayun ke belakang dan ke hadapan dalam julat. Strategi ini bertujuan untuk memanfaatkan penurunan apabila RSI mencapai ekstrem.
Strategi ini mengira penunjuk RSI untuk menentukan sama ada harga telah mencapai tahap overbought atau oversold. Khususnya, tempoh RSI ditetapkan pada 2 bar. Garis overbought adalah 91 dan garis oversold adalah 11. Isyarat pendek dihasilkan apabila RSI melintasi di atas tahap overbought. Isyarat panjang dihasilkan apabila RSI melintasi di bawah tahap oversold. Saiz kedudukan ditetapkan pada 5% daripada risiko maksimum setiap perdagangan.
Untuk mengawal risiko, mekanisme stop loss dilaksanakan. Jika harga bergerak 0.5% terhadap kedudukan panjang selepas membuka panjang, kedudukan akan ditutup. Begitu juga untuk kedudukan pendek. Ini mengelakkan kerugian berlebihan apabila trend harga kuat ke satu arah.
Ringkasnya, logik teras adalah untuk memantau RSI untuk overbought / oversold, perdagangan terhadap trend berdasarkan tahap RSI yang dikonfigurasikan, dan menguruskan risiko melalui stop loss.
RSI adalah penunjuk yang terbukti untuk mengenal pasti tahap overbought / oversold.
Perdagangan terhadap melampau sesuai dengan andaian turun naik harga dan bukannya trend satu hala.
Stop loss mengawal kerugian untuk perdagangan individu.
Rangka kerja backtesting yang mudah dan jelas, mudah difahami dan diubah suai.
Parameter RSI yang fleksibel dan tahap stop loss yang dapat disesuaikan dengan perubahan pasaran.
RSI adalah trend berikut penunjuk, kerugian berterusan boleh berlaku semasa trend berterusan dan bukannya harga terikat julat.
Parameter RSI yang tidak betul boleh menghasilkan lebih banyak isyarat tetapi dengan kadar kemenangan yang lebih rendah.
Stop loss boleh dicetuskan oleh pergerakan kecil atau menyebabkan kerugian besar jika tidak ditetapkan dengan betul.
Strategi ini berfungsi dengan lebih baik di pasaran yang terikat julat, mungkin kurang dalam senario trend yang kuat.
Saiz kedudukan yang berlebihan boleh memperbesar kerugian.
Gabungkan RSI dengan penunjuk lain seperti MACD untuk meningkatkan ketepatan isyarat.
Penyelidikan tingkah laku RSI statistik dengan parameter yang berbeza untuk mencari tetapan optimum.
Uji mekanisme pengukuran kedudukan dinamik dalam ujian belakang.
Gunakan ATR untuk menetapkan paras stop loss adaptif.
Gunakan pembelajaran mesin untuk menemui kombinasi parameter yang optimum.
Mengkaji menggabungkan strategi pembalikan purata lain dengan RSI untuk membina sistem yang kukuh.
Strategi perdagangan julat RSI membuat perdagangan pembalikan yang mudah berdasarkan tahap overbought / oversold RSI dan menguruskan risiko melalui stop loss. Ia berfungsi untuk pasaran berayun yang terikat julat tetapi mempunyai batasan dalam senario trend yang kuat. Parameter penyuntingan halus, meningkatkan peraturan stop loss, menggabungkan dengan penunjuk dan strategi lain dapat meningkatkan kestabilan dan daya adaptasi. Secara keseluruhan strategi ini memberikan beberapa pandangan yang berharga tetapi memerlukan penerapan dan pengoptimuman yang berhati-hati dalam perdagangan langsung.
/*backtest start: 2022-10-30 00:00:00 end: 2023-11-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple RSI Strategy", overlay=true) var rsiLength = input(2, title = "rsi Length") var float rsiBuyLevel = input(11, title = "What rsi level triggers a long") var float rsiShortLevel = input(91, title = "What rsi level triggers a short") var float maxRisk = input(.05, title="Maximum risk/ trade") var chartEntryStop = input(.005, title="Max Movment in the opposite direction / trade") var float longEntryPrice = na var float shortEntryPrice = na rsiValue = ta.rsi(close, rsiLength) var float maxRiskValue = (strategy.equity * maxRisk) / chartEntryStop var float maxRsi = 0 //Conditions // Strategy Execution if( close <= longEntryPrice-(longEntryPrice*chartEntryStop )) strategy.close("Long") if( close >= shortEntryPrice+(shortEntryPrice*chartEntryStop )) strategy.close("Short") if (rsiValue <= rsiBuyLevel and maxRsi == rsiShortLevel) maxRsi := rsiBuyLevel strategy.close("Short") strategy.entry("Long", strategy.long) longEntryPrice := close else if (rsiValue >= rsiShortLevel and maxRsi == rsiBuyLevel) maxRsi := rsiShortLevel strategy.close("Long") strategy.entry("Short", strategy.short) shortEntryPrice := close else if (rsiValue >= rsiShortLevel ) maxRsi := rsiShortLevel strategy.close("Long") else if (rsiValue <= rsiBuyLevel ) maxRsi := rsiBuyLevel strategy.close("Short")