Strategi Sintesis Antara Pelbagai Penunjuk Kekuatan Relatif

Penulis:ChaoZhang, Tarikh: 2024-01-02 12:06:14
Tag:

img

Ringkasan

Strategi sintesis antara beberapa penunjuk kekuatan relatif (RSI) adalah strategi perdagangan masa yang menggunakan beberapa RSI dengan tempoh yang berbeza untuk berdagang saham. Ia mengesan penunjuk RSI 1-, 2-, 3-, 4-, dan 5 tempoh secara serentak. Isyarat membeli dihasilkan apabila mana-mana RSI berada di bawah ambang. Isyarat jual dihasilkan apabila semua RSI melebihi ambang mereka sendiri, untuk memperoleh keuntungan.

Logika Strategi

Rasional utama di sebalik strategi ini adalah untuk mengesan penunjuk RSI 1-, 2-, 3-, 4-, dan 5-periode secara serentak, termasuk RSI 4-, 7-, 14-, 21-, dan 28-periode. Nilai ambang yang berasingan ditetapkan untuk setiap 5 penunjuk RSI. Isyarat beli dicetuskan apabila mana-mana RSI jatuh di bawah ambangnya sendiri.

Sebagai contoh, ambang RSI 4 tempoh ditetapkan sebagai 15. Isyarat beli dihasilkan apabila RSI 4 tempoh jatuh di bawah 15. Strategi ini memeriksa RSI lain untuk melihat sama ada mereka juga jatuh di bawah ambang mereka sendiri. Jika ya, lebih banyak isyarat beli akan dihasilkan.

Apabila semua 5 penunjuk RSI berkumpul dan melebihi ambang mereka sendiri, isyarat jualan dihasilkan untuk memperoleh keuntungan. Dengan isyarat perhimpunan penunjuk pelbagai tempoh, ketepatan entri dapat ditingkatkan.

Kekuatan Strategi

  1. Meningkatkan ketepatan entri dengan pelbagai RSI

Strategi ini menggunakan 5 RSI dari tempoh yang berbeza untuk menjana isyarat beli dan jual. Satu petunjuk tunggal boleh menjana isyarat palsu pada masa-masa.

  1. RSI dari tempoh yang berbeza yang sesuai dengan keadaan pasaran yang berbeza

    RSI 1-, 2-, 3-, 4-, 5-period yang digunakan dalam strategi ini boleh menyesuaikan diri dengan turun naik stok frekuensi yang berbeza. Sebagai contoh, RSI 28-period sesuai dengan perdagangan jangka panjang manakala RSI 4-period sesuai dengan perdagangan jangka pendek. Ini menjamin strategi berfungsi di bawah situasi pasaran yang berbeza.

  2. Struktur kod yang bersih dan jelas

    Nama pembolehubah dan struktur keseluruhan kod strategi adalah kemas dan jelas. aliran logik untuk penunjuk dan isyarat yang berbeza adalah jelas. Ini menjadikan strategi mudah difahami, diubah suai dan dioptimumkan, yang sangat penting untuk strategi kuantitatif.

Risiko Strategi

  1. Tidak sah dalam pasaran trend

    Strategi ini sangat bergantung pada isyarat overbought dan oversold. Keberkesanannya akan terganggu dalam pasaran up- atau downtrend yang berterusan. Ini adalah kelemahan di mana-mana strategi pembalikan purata menggunakan penunjuk terbalik.

  2. Kesukaran dalam pengoptimuman parameter

    Terdapat pelbagai penunjuk dan parameter input dalam strategi ini. Ini menimbulkan cabaran besar untuk pengoptimuman parameter. Gabungan parameter yang tidak betul boleh mengurangkan keberkesanan strategi secara drastik. Alat pengoptimuman harus digunakan untuk mencari set parameter yang memaksimumkan prestasi strategi.

  3. Peralihan kerap antara panjang dan pendek

    Oleh kerana penggunaan penunjuk pelbagai tempoh, perubahan kedudukan panjang dan pendek dalam strategi mungkin agak kerap. Ini boleh membawa kepada kos yang lebih tinggi yang berkaitan dengan perdagangan dan risiko yang berkaitan dengan pergerakan harga.

Arahan untuk Pengoptimuman

  1. Menggabungkan penunjuk mengikut trend

    Alat trend seperti MA dan BOLL boleh ditambahkan. Isyarat hanya diambil apabila alat trend bersatu dengan isyarat yang dihasilkan oleh penunjuk terbalik. Ini membantu mengelakkan kerugian dalam situasi trend yang berterusan.

  2. Mengurangkan bilangan penunjuk RSI

    Cuba mengurangkan bilangan alat RSI yang digunakan. Ini mengurangkan kesukaran dalam pengoptimuman parameter. Percubaan menunjukkan 2 hingga 3 penunjuk sudah dapat menghasilkan keberkesanan yang memuaskan.

  3. Mengoptimumkan julat parameter

    Cari julat optimum dan kombinasi parameter dan ambang RSI menggunakan kaedah pengoptimuman seperti penurunan gradien dan carian rawak.

Kesimpulan

Strategi sintesis RSI menjana isyarat dagangan dengan isyarat perhimpunan dari pelbagai RSI dengan tempoh yang berbeza. Ini meningkatkan ketepatan entri untuk merealisasikan perdagangan masa dalam saham. Walaupun kelebihan yang diwarisi dari penggunaan pelbagai penunjuk, kelemahan termasuk ketidakefektifan dalam pasaran trend dan kesukaran dalam pengoptimuman kekal. Kaedah seperti menambah alat trend, mengurangkan nombor penunjuk, dan pengoptimuman parameter dapat membantu meningkatkan lagi kekuatan strategi.


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

Lebih lanjut