
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.
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.
Menggunakan kedudukan sokongan / rintangan dinamik untuk menentukan arah trend dan meningkatkan peluang keuntungan.
Penunjuk RSI menapis penembusan palsu dan mengelakkan gangguan.
Gabungan trend dan petunjuk yang sesuai untuk pelbagai situasi.
Peraturan jelas dan mudah dilaksanakan.
Bit dinamik mungkin berlaku beberapa kali ujian penembusan, menyebabkan isyarat yang salah, boleh dilonggarkan dengan sewajarnya penembusan amplitud penapis.
Indeks RSI tunggal boleh menyebabkan kesalahan penghakiman, dan penyaringan gabungan boleh diperkenalkan ke dalam indikator lain.
Dalam keadaan yang tidak menentu, mungkin terdapat banyak kedudukan terbuka dan rendah, kos dagangan yang tinggi, dan RSI boleh dikurangkan untuk mengurangkan frekuensi dagangan.
Tetapan parameter yang tidak betul boleh menyebabkan borang kosong atau borang bercampur-campur, parameter harus dipilih dengan munasabah mengikut jenis yang berbeza.
Mengoptimumkan parameter RSI secara automatik menggunakan teknologi pembelajaran mesin.
Menambah strategi henti rugi untuk mengunci keuntungan dan mengurangkan kerugian.
Menerusi penapisan gabungan dengan lebih banyak petunjuk, ia meningkatkan kestabilan strategi.
Meningkatkan indikator kadar turun naik dan menurunkan kedudukan apabila turun naik rendah.
Mengoptimumkan algoritma kedudukan untuk menyesuaikan kedudukan secara dinamik dan menyesuaikan diri dengan keadaan pasaran yang berbeza.
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.
/*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()