Strategi RSI Jangkauan Musim

Penulis:ChaoZhang, Tarikh: 2023-10-27 16:04:21
Tag:

img

Ringkasan

Strategi ini menggabungkan purata bergerak dan indeks kekuatan relatif (RSI), dua penunjuk teknikal, untuk menangkap ciri-ciri kitaran bermusim dan menghasilkan isyarat perdagangan. Kelebihan strategi ini adalah bahawa ia dapat mengenal pasti trend bermusim dengan sangat jelas, tetapi juga mempunyai risiko disesatkan oleh isyarat yang salah. Pengoptimuman lanjut boleh dibuat dengan menyesuaikan tetapan parameter untuk meningkatkan prestasi strategi.

Logika Strategi

Strategi ini mula-mula mengira purata bergerak tempoh tertentu untuk menangkap arah trend jangka menengah hingga panjang. Kemudian ia mengira penunjuk RSI purata bergerak untuk menilai sama ada ia sedang berada dalam keadaan terlalu banyak atau terlalu banyak dijual. RSI mengukur sentimen pasaran dengan mengira nisbah keuntungan berbanding kerugian dalam tempoh tertentu.

Apabila RSI melintasi di atas band bawah, isyarat beli dihasilkan, menunjukkan status oversold, dan kedudukan panjang boleh dibuka. Apabila RSI melintasi di bawah band atas, isyarat jual dihasilkan, menunjukkan status overbought, dan kedudukan pendek boleh dibuka. Di samping itu, strategi ini juga menetapkan julat untuk bulan dan tarikh untuk berdagang hanya dalam bulan dan hari tertentu, untuk menangkap corak bermusim.

Kelebihan Strategi

  • Menggunakan purata bergerak untuk menentukan trend utama, dan RSI untuk menilai senario overbought / oversold, menggabungkan penunjuk dua untuk meningkatkan ketepatan

  • Menetapkan julat bulanan dan tarikh dapat dengan berkesan mengenal pasti trend bermusim dan menangkap peluang perdagangan tersebut

  • Tetapan parameter RSI yang fleksibel untuk menyesuaikan kepekaan dalam menentukan tahap overbought/oversold

  • Parameter purata bergerak yang boleh disesuaikan untuk menyesuaikan kepekaan dalam menilai trend utama

Risiko dan Penyelesaian

  • Risiko disesatkan oleh isyarat yang salah, contohnya pembalikan trend yang dicetuskan oleh peristiwa bukan bermusim, boleh menghasilkan isyarat perdagangan yang tidak betul.

  • Perbezaan mungkin muncul antara purata bergerak dan RSI apabila trend berbalik.

  • Julat bulanan dan tarikh yang telah ditetapkan mungkin menyimpang dari trend bermusim yang sebenarnya.

  • Sinyal perdagangan mungkin menghadapi pecah palsu. Penyelesaian adalah untuk menetapkan julat yang lebih luas untuk mengelakkan ditipu oleh turun naik kecil.

Arahan pengoptimuman

  • Memperkenalkan penunjuk tambahan yang lain, contohnya Stochastic Oscillator, untuk menetapkan keadaan penapisan yang lebih ketat dan mengurangkan isyarat yang salah.

  • Uji lebih banyak kombinasi parameter yang berbeza untuk mencari parameter yang optimum dan meningkatkan prestasi strategi, contohnya menyesuaikan tempoh purata bergerak, jalur RSI dll.

  • Menggunakan kaedah pengoptimuman parameter untuk mencari ruang parameter secara automatik untuk set parameter optimum.

  • Mengumpul lebih banyak data sejarah dan menggunakan pembelajaran mesin untuk melatih dan mengoptimumkan peraturan strategi.

  • Pertimbangkan untuk menambah strategi stop loss / mengambil keuntungan untuk mengoptimumkan pengurusan wang.

Ringkasan

Strategi ini menggabungkan purata bergerak dan RSI, dengan penambahan pertimbangan bermusim, untuk membentuk sistem yang agak lengkap untuk trend dan pengenalan overbought / oversold. Kelebihannya terletak pada kemampuannya untuk mengenali corak bermusim dengan jelas dan memanfaatkan peluang perdagangan tersebut.


/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = " RSI of MA Strategy ",shorttitle="MARSI Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=1)



lengthofma = input(15,minval=1,title="Length of MA")
len = input(14, minval=1, title="Length")
upperband = input(70,minval=1,title='Upper Band for RSI')
lowerband = input(30,minval=1,title="Lower Band for RSI")

src=sma(close,lengthofma)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)

band1 = hline(upperband)
band0 = hline(lowerband)
fill(band1, band0, color=purple, transp=90)



longCond =  crossover(rsi,lowerband)

shortCond =  crossunder(rsi,upperband)




monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)

if (  longCond ) 
    strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND",  comment="LONG")
    
else
    strategy.cancel(id="LONG")
    



if ( shortCond ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND",  comment="SHORT")
else
    strategy.cancel(id="SHORT")





Lebih lanjut