Strategi perdagangan pelbagai indikator RSI menggunakan kombinasi beberapa indikator RSI untuk mengenal pasti peluang perdagangan, untuk mengesan trend. Strategi ini menggunakan 1-5 indikator RSI secara fleksibel, berdasarkan nilai indikator untuk menentukan masa masuk dan keluar.
Strategi ini menggunakan 1-5 indikator RSI dengan pilihan parameter input, setiap indikator RSI boleh dikonfigurasi secara berasingan dengan bilangan tempoh parameter dan had. Apabila nilai indikator RSI mana-mana yang lebih rendah daripada nilai had yang sesuai menghasilkan isyarat beli, kekuatan isyarat ditentukan oleh bilangan tempoh RSI yang mencetuskan isyarat, semakin tinggi tempoh isyarat, semakin kuat isyarat.
Kelebihan terbesar strategi ini adalah bahawa ia boleh menilai indikator RSI dalam beberapa kitaran pada masa yang sama, menilai trend dan peluang pembalikan dari pelbagai dimensi panjang dan pendek, meningkatkan ketepatan keputusan perdagangan. Selain itu, strategi ini membenarkan konfigurasi bebas parameter setiap indikator RSI, yang boleh disesuaikan dengan pasaran yang berbeza, yang dapat memperluas kebolehpasangan strategi.
Risiko utama dalam strategi ini adalah apabila pelbagai RSI digabungkan, mungkin terdapat konflik isyarat. Sebagai contoh, RSI jangka pendek menghasilkan isyarat beli, tetapi RSI jangka panjang masih dalam keadaan oversold, ketika ini keputusan mengenai isyarat mana yang tepat perlu dibuat dengan pengalaman pedagang sendiri. Selain itu, RSI mudah disesatkan oleh keadaan goyah, yang perlu disahkan oleh petunjuk tambahan atau akaun modal besar.
Strategi ini boleh mempertimbangkan untuk memasukkan indikator pembantu trend seperti purata bergerak atau Brinband untuk mengesahkan isyarat RSI, meningkatkan ketepatan penghakiman. Di samping itu, anda juga boleh mempertimbangkan untuk memasukkan algoritma pembelajaran mesin tertentu, menggunakan kaedah penilaian pelbagai faktor untuk menilai kebolehpercayaan isyarat Entry dan Close secara automatik.
Strategi perdagangan indikator RSI berbilang sangat inovatif secara keseluruhan, dengan fleksibiliti dalam kombinasi indikator dan parameter yang memungkinkan untuk menyesuaikan diri dengan cepat dengan perubahan pasaran. Reka bentuk fungsi modular yang ditambahkan juga menjadikan ruang untuk pengoptimuman strategi yang besar. Kesan dapat ditingkatkan lagi jika ditambah dengan pembelajaran mesin atau kaedah kawalan risiko.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Symphony Strategy v1.1", shorttitle = "Symphony str 1.1", 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(20, defval = 20, 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(25, defval = 25, 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(30, defval = 30, minval = 2, maxval = 50, title = "RSI 3 Limit")
usersi4 = input(false, defval = false, title = "Use RSI 4")
rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period")
rsilimit4 = input(35, defval = 35, minval = 2, maxval = 50, title = "RSI 4 Limit")
usersi5 = input(false, defval = false, title = "Use RSI 5")
rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period")
rsilimit5 = input(40, defval = 40, 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
str = up5 ? 5 : up4 ? 4 : up3 ? 3 : up2 ? 2 : up1 ? 1 : str[1]
up = up1 or up2 or up3 or up4 or up5
exit = (rsi1 > rsilimit1 and str == 1) or (rsi2 > rsilimit2 and str == 2) or (rsi3 > rsilimit3 and str == 3) or (rsi4 > rsilimit4 and str == 4) or (rsi5 > rsilimit5 and str == 5)
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, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
strategy.close_all()