Strategi operasi kejutan RSI dinamik


Tarikh penciptaan: 2023-11-02 16:04:07 Akhirnya diubah suai: 2023-11-02 16:04:07
Salin: 1 Bilangan klik: 666
1
fokus pada
1617
Pengikut

Strategi operasi kejutan RSI dinamik

Gambaran keseluruhan

Strategi ini menggabungkan sokongan / rintangan dinamik dan RSI yang agak kuat untuk menetapkan RSI melebihi rantaian jual beli dan memutuskan sama ada RSI memasuki rantaian jual beli apabila ia melanggar sokongan / rintangan dinamik dan menghasilkan isyarat beli dan jual.

Prinsip

1. Tahap sokongan / rintangan dinamik

Gunakan fungsi keselamatan untuk mendapatkan harga penutupan sebagai tahap sokongan / rintangan dinamik, menghasilkan isyarat perdagangan apabila harga menembusi tahap dinamik ini.

2. RSI

Hitung kenaikan dan penurunan purata dalam tempoh tertentu, dan hasilkan nilai RSI dengan membandingkan kedua-duanya untuk menentukan sama ada anda memasuki kawasan overbought atau oversold.

3. isyarat perdagangan

Apabila harga menembusi tahap dinamik, RSI akan menghasilkan isyarat beli/jual jika ia tidak memasuki kawasan overbought/oversold. Jika ia telah masuk, isyarat yang dihasilkan oleh penembusan akan diabaikan.

4. isyarat keluar

Hemat kedudukan apabila harga kembali ke kedudukan dinamik, atau Hemat kedudukan apabila RSI kembali ke kawasan normal.

Analisis kelebihan

  1. Menggunakan kedudukan sokongan / rintangan dinamik untuk menentukan arah trend dan meningkatkan peluang keuntungan.

  2. Penunjuk RSI menapis penembusan palsu dan mengelakkan gangguan.

  3. Gabungan trend dan petunjuk yang sesuai untuk pelbagai situasi.

  4. Peraturan jelas dan mudah dilaksanakan.

Risiko dan Penyelesaian

  1. Bit dinamik mungkin berlaku beberapa kali ujian penembusan, menyebabkan isyarat yang salah, boleh dilonggarkan dengan sewajarnya penembusan amplitud penapis.

  2. Indeks RSI tunggal boleh menyebabkan kesalahan penghakiman, dan penyaringan gabungan boleh diperkenalkan ke dalam indikator lain.

  3. Dalam keadaan yang tidak menentu, mungkin terdapat banyak kedudukan terbuka dan rendah, kos dagangan yang tinggi, dan RSI boleh dikurangkan untuk mengurangkan frekuensi dagangan.

  4. Tetapan parameter yang tidak betul boleh menyebabkan borang kosong atau borang bercampur-campur, parameter harus dipilih dengan munasabah mengikut jenis yang berbeza.

Arah pengoptimuman

  1. Mengoptimumkan parameter RSI secara automatik menggunakan teknologi pembelajaran mesin.

  2. Menambah strategi henti rugi untuk mengunci keuntungan dan mengurangkan kerugian.

  3. Menerusi penapisan gabungan dengan lebih banyak petunjuk, ia meningkatkan kestabilan strategi.

  4. Meningkatkan indikator kadar turun naik dan menurunkan kedudukan apabila turun naik rendah.

  5. Mengoptimumkan algoritma kedudukan untuk menyesuaikan kedudukan secara dinamik dan menyesuaikan diri dengan keadaan pasaran yang berbeza.

ringkaskan

Strategi ini menggabungkan penilaian trend dan penapisan penunjuk, dapat mengesan dengan berkesan kerosakan harga di sekitar tahap kritikal, dan memperoleh keuntungan yang lebih tinggi dengan syarat mengawal risiko. Dengan lebih mengoptimumkan parameter, meningkatkan stop loss, memperkenalkan lebih banyak penunjuk, dan lain-lain, kestabilan dan kesesuaian strategi dapat ditingkatkan lagi, yang membolehkan ia memperoleh keuntungan yang stabil di pasaran yang lebih luas.

Kod sumber strategi
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Levels+RSI Strategy v1.0", shorttitle = "Levels+RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//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 = "Capital, %")
tf = input('W', title = "timeframe 1")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI Period")
rsilimit = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI Limit")
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")

//Level
level = request.security(syminfo.tickerid, tf, src[1])
plot(level, linewidth = 3, color = silver)

//RSI
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))

//Level Signals
ls = close > level and ap == false ? true : low > level ? true : false
up1 = strategy.position_size == 0 and ls and (close < open or cf == false)
exit1 = close < level and ap == false ? true : high < level ? true : false 

//RSI Signal

up2 = rsi < rsilimit and (close < open or cf == false)
exit2 = rsi > rsilimit and ls == false

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if up1 or up2 
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
    
if  (exit1 and rsi > rsilimit) or exit2
    strategy.close_all()