
Strategi agregasi indikator RSI ganda adalah strategi perdagangan yang menggunakan indikator kekuatan relatif ganda (RSI) ganda untuk memilih saham. Strategi ini menggunakan indikator RSI dengan periode 1, 2, 3, 4, dan 5 yang berbeda secara bersamaan, menghasilkan sinyal beli ketika setiap indikator RSI berada di bawah batas yang ditetapkan, menghasilkan sinyal jual ketika semua indikator RSI berada di atas batas masing-masing, untuk mencapai entri dan keluar saham yang tepat waktu.
Logika inti dari strategi ini adalah untuk melacak 1, 2, 3, 4, dan 5 indikator RSI dari periode yang berbeda secara bersamaan, termasuk RSI dari periode 4, 7, 14, 21, dan 28. Lima indikator RSI ini masing-masing menetapkan batas yang berbeda, dan sinyal beli akan dihasilkan jika setiap indikator RSI berada di bawah batas yang sesuai.
Sebagai contoh, batas indikator RSI 4 periode ditetapkan pada 15, dan ketika RSI 4 periode berada di bawah 15, sinyal beli akan dihasilkan. Strategi ini juga akan mendeteksi apakah indikator RSI periode lain juga berada di bawah batas yang sesuai, dan jika demikian, sinyal beli juga akan dihasilkan.
Ketika semua 5 indikator RSI berada di atas batas masing-masing, akan dihasilkan sinyal jual, yang menghasilkan keuntungan. Dengan demikian, dengan menggabungkan sinyal dari beberapa indikator siklus, dapat meningkatkan akurasi Entries.
Strategi ini menggunakan 5 indikator RSI dari periode yang berbeda secara bersamaan, menghasilkan sinyal beli ketika RSI mana pun berada di bawah batas. Ini dapat meningkatkan keandalan sinyal dan menghindari sinyal salah yang disebabkan oleh indikator tunggal.
Menggunakan indikator RSI 1, 2, 3, 4, dan 5 siklus, dapat disesuaikan dengan fluktuasi saham dalam siklus yang berbeda. Misalnya, 28 siklus RSI cocok untuk perdagangan garis panjang, 4 siklus RSI cocok untuk perdagangan garis pendek. Ini memastikan bahwa strategi dapat bekerja dengan baik dalam berbagai situasi pasar.
Struktur penamaan variabel dan kode kebijakan sangat jelas, proses perhitungan indikator dan sinyal yang berbeda sangat jelas. Hal ini membuat strategi mudah dipahami, dimodifikasi, dan dioptimalkan. Ini adalah keuntungan yang sangat penting dari strategi kuantitatif.
Strategi ini terutama bergantung pada sinyal overbought dan oversold yang dihasilkan, yang akan mengurangi efeknya dalam situasi tren yang naik atau turun secara sepihak. Ini adalah masalah umum dengan strategi yang menggunakan indikator reversal.
Strategi mengandung beberapa parameter dan parameter, yang membuat sangat sulit untuk mengoptimalkan parameter. Kombinasi parameter yang tidak masuk akal dapat mengurangi efektivitas strategi secara signifikan. Ini memerlukan penggunaan alat optimasi untuk menemukan parameter terbaik.
Karena menggunakan beberapa indikator siklus, strategi mungkin lebih sering beralih, yang membawa biaya transaksi dan risiko slippage yang lebih tinggi.
Anda dapat bergabung dengan indikator tren seperti MA atau BOLL, untuk menghindari diskon dalam situasi unilateral. Misalnya, hanya masuk jika indikator tren juga setuju untuk berbalik.
Cobalah untuk mengurangi jumlah indikator RSI yang digunakan, mengurangi kesulitan dalam mengoptimalkan parameter. Eksperimen menunjukkan bahwa 2-3 kombinasi indikator dapat memberikan hasil yang baik.
Menggunakan metode optimasi langkah panjang, optimasi acak, dan lain-lain untuk menemukan kisaran dan kombinasi optimal dari setiap parameter RSI untuk memaksimalkan kinerja strategi.
Strategi agregasi indikator RSI ganda melalui signal RSI dari beberapa siklus, meningkatkan akurasi entri, dan memungkinkan perdagangan timing saham. Ini memiliki keunggulan dalam memanfaatkan berbagai indikator, tetapi juga memiliki masalah dengan kegagalan unilateral, kesulitan pengoptimalan, dan sebagainya. Strategi Robustness dapat ditingkatkan lebih lanjut dengan menambahkan indikator tren, mengurangi jumlah indikator, dan mengoptimalkan parameter.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Symphony v1.0", shorttitle = "Symphony 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 20)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
usersi1 = input(true, defval = true, title = "Use RSI 1")
rsiperiod1 = input(4, defval = 4, minval = 2, maxval = 100, title = "RSI 1 Period")
rsilimit1 = input(15, defval = 15, minval = 2, maxval = 50, title = "RSI 1 Limit")
usersi2 = input(true, defval = true, title = "Use RSI 2")
rsiperiod2 = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI 2 Period")
rsilimit2 = input(20, defval = 20, minval = 2, maxval = 50, title = "RSI 2 Limit")
usersi3 = input(true, defval = true, title = "Use RSI 3")
rsiperiod3 = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI 3 Period")
rsilimit3 = input(25, defval = 25, minval = 2, maxval = 50, title = "RSI 3 Limit")
usersi4 = input(true, defval = true, title = "Use RSI 4")
rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period")
rsilimit4 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 4 Limit")
usersi5 = input(true, defval = true, title = "Use RSI 5")
rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period")
rsilimit5 = input(35, defval = 35, minval = 2, maxval = 50, title = "RSI 5 Limit")
cf = input(false, defval = false, title = "Use color filter")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")
//RSI
rsi1 = rsi(close, rsiperiod1)
rsi2 = rsi(close, rsiperiod2)
rsi3 = rsi(close, rsiperiod3)
rsi4 = rsi(close, rsiperiod4)
rsi5 = rsi(close, rsiperiod5)
//Signals
up1 = rsi1 < rsilimit1 and usersi1
up2 = rsi2 < rsilimit2 and usersi2
up3 = rsi3 < rsilimit3 and usersi3
up4 = rsi4 < rsilimit4 and usersi4
up5 = rsi5 < rsilimit5 and usersi5
up = up1 or up2 or up3 or up4 or up5
exit = rsi1 > rsilimit1 and rsi2 > rsilimit2 and rsi3 > rsilimit3 and rsi4 > rsilimit4 and rsi5 > rsilimit5
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Background
col = up ? lime : na
bgcolor(col, transp = 0)
//Trading
if up and (close < open or cf == false)
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if exit
strategy.close_all()