
Strategi ini didasarkan pada indikator RSI dan entitas RSI EMA untuk melakukan operasi penembusan cepat. Ini memanfaatkan bentuk RSI yang cepat dan entitas RSI yang besar untuk mengenali sinyal reversal.
Hitung indikator RSI, siklus 7, dengan RMA untuk mencapai bentuk akselerasi.
Menghitung EMA ukuran entitas, periode 30, sebagai ukuran entitas acuan.
Jika RSI melewati batas batas (default 30), dan entitas garis K saat ini lebih besar dari ukuran entitas rata-rata 1⁄4, lakukan lebih banyak.
Jika RSI berada di bawah batas penetrasi (default 70), dan entitas K-line saat ini lebih besar dari ukuran entitas rata-rata 1⁄4, kosongkan.
Jika sudah memegang posisi, RSI akan kembali ke posisi kosong saat melewati batas.
Anda dapat mengatur parameter seperti panjang RSI, batas, dan harga acuan.
Anda dapat mengatur parameter seperti ukuran entitas, periode EMA, dan banyaknya chroot.
Anda dapat mengatur jumlah akar dari RSI Goldfork/Deadfork.
Menggunakan sifat reversal dari indikator RSI, dapat menangkap sinyal reversal tepat waktu.
RMA mengimplementasikan bentuk akselerasi dari RSI, membuat reversal lebih sensitif.
Tergabung dengan filter entitas K-line yang besar, untuk menghindari arbitrage getaran skala kecil.
Data deteksi cukup dan dapat diandalkan.
Parameter yang dapat disesuaikan untuk menyesuaikan dengan lingkungan pasar yang berbeda.
Logika transaksi jelas dan sederhana.
Indikator RSI memiliki deviasi retrospektif, efek disk nyata harus diverifikasi.
Entitas K-Line yang besar tidak dapat sepenuhnya menyaring pasar yang penuh dengan guncangan.
Parameter default mungkin tidak cocok untuk semua varietas dan perlu dioptimalkan.
Kemungkinan kemenangan tidak terlalu tinggi, membutuhkan tekanan psikologis yang terus-menerus.
“Kalau tidak ada penembakan, tidak akan ada penembakan”, kata dia.
Optimalkan parameter RSI untuk berbagai siklus dan varietas.
Mengoptimalkan siklus EMA entitas K-line, ukuran entitas halus.
Mengoptimalkan real multiples untuk membuka posisi, mengontrol frekuensi masuk ke dalam.
Meningkatkan Stop Loss Mobile, Menjamin Keuntungan.
Menambahkan filter tren untuk menghindari perdagangan berlawanan arah.
Mengoptimalkan strategi pengelolaan dana dan mengendalikan risiko.
Strategi ini secara keseluruhan adalah strategi yang sangat sederhana dan langsung. Strategi ini memanfaatkan sifat reversal dari indikator RSI dan kekuatan penghancuran entitas K-line besar, untuk masuk dengan cepat saat pasar terobosan. Meskipun pengukuran kembali bagus, tetapi efek di bursa masih harus diverifikasi, perlu memperhatikan parameter optimasi dan mengendalikan risiko.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.2", shorttitle = "Fast RSI str 1.2", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
fromyear = input(2018, defval = 2018, 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")
//Fast RSI
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit
//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0
//Body
body = abs(close - open)
emabody = ema(body, 30)
//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > emabody / 4
dn = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > emabody / 4
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > emabody / 2
//Trading
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
strategy.close_all()