Strategi Perdagangan Indikator Multi RSI

Penulis:ChaoZhang, Tarikh: 2023-11-28 15:03:53
Tag:

img

Ringkasan

Strategi perdagangan pelbagai penunjuk RSI mengenal pasti peluang perdagangan dengan menggabungkan beberapa penunjuk RSI untuk mengesan trend. Strategi ini menggunakan 1-5 penunjuk RSI dengan fleksibel dan menentukan masa masuk dan keluar mengikut nilai penunjuk.

Logika Strategi

Strategi ini membolehkan memilih 1-5 penunjuk RSI melalui parameter input. Setiap penunjuk RSI boleh dikonfigurasikan secara bebas dengan nilai tempoh dan had. Apabila mana-mana RSI jatuh di bawah nilai had, isyarat beli dicetuskan. Kekuatan isyarat ditentukan oleh tempoh penunjuk RSI yang dicetuskan, dengan tempoh yang lebih tinggi bermakna isyarat yang lebih kuat. Apabila RSI naik kembali di atas had, isyarat kedudukan dekat dicetuskan. Strategi ini juga memberikan fleksibiliti untuk menggunakan penapis warna dan menyekat jam dagangan.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah keupayaan untuk menilai pelbagai bingkai masa menggunakan pelbagai RSI, menilai kedua-dua trend dan peluang pembalikan dari dimensi panjang dan pendek untuk meningkatkan ketepatan. Di samping itu, konfigurasi fleksibel setiap penunjuk RSI sangat memperluaskan daya adaptasi di pasaran yang berbeza. Penembusan palsu juga dapat disaring dengan cekap menggunakan penapis warna. Modul kawalan risiko seperti jam dagangan dan ukuran kedudukan menyediakan pengurusan risiko yang berkesan.

Analisis Risiko

Risiko utama adalah isyarat yang bertentangan apabila menggabungkan beberapa penilaian RSI. Sebagai contoh, RSI yang lebih pendek menghasilkan pembelian sementara RSI yang lebih lama masih terlalu banyak dijual. Seseorang mesti bergantung pada pengalaman untuk menentukan isyarat mana yang lebih utama. Juga, RSI cenderung untuk whipsaws yang memerlukan pengesahan menggunakan penunjuk lain atau akaun besar.

Arahan pengoptimuman

Strategi ini boleh mempertimbangkan penambahan penunjuk penolong trend seperti purata bergerak atau pita Bollinger untuk mengesahkan isyarat RSI dan meningkatkan ketepatan. Di samping itu, algoritma pembelajaran mesin tertentu juga boleh diterokai, menggunakan penilaian pelbagai faktor untuk menentukan kebolehpercayaan isyarat secara automatik.

Ringkasan

Ringkasnya, strategi perdagangan pelbagai penunjuk RSI sangat inovatif. Fleksibiliti dalam kombinasi penunjuk dan parameter menjadikannya dapat disesuaikan dengan pasaran yang berkembang. Penambahbaikan lanjut dapat dicapai dengan menggabungkan algoritma pembelajaran mesin dan lebih banyak langkah kawalan risiko kerana reka bentuk modularnya.


/*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()

Lebih lanjut