
Strategi ini adalah strategi perdagangan short line yang didasarkan pada indikator yang relatif kuat (RSI). Strategi ini menggunakan indikator RSI untuk mengidentifikasi overbought oversold interval, dan digabungkan dengan entitas K-line untuk memfilter sinyal palsu, melakukan operasi beli dan jual pada titik balik. Strategi ini mengejar peluang rebound setelah keadaan overbought oversold yang ekstrem.
Pertama, menghitung indikator RSI, pilih harga close out sebagai sumber data perhitungan, dengan siklus yang disetel menjadi 7 hari. Kemudian, atur garis overbought menjadi 30 dan batas oversold menjadi 70. Ketika RSI melewati garis 30 menghasilkan sinyal beli, dan ketika melewati garis 70 menghasilkan sinyal jual.
Untuk memfilter sinyal palsu, entitas K-line diperbesar menjadi 1-3 kali lebih besar dari biasanya untuk memicu sinyal perdagangan. Di sini, RSI menggunakan 1-5 entitas K-line yang berturut-turut berada di zona overbought dan oversold untuk mengkonfirmasi sinyal, dan entitas diperbesar menjadi 4 kali lipat.
Ketika RSI menghasilkan sinyal beli ketika 5 garis K berturut-turut di bawah 30, jika kemudian K berturut-turut di bawah, entitas dibesarkan lebih dari 4 kali, maka dilakukan operasi beli. Ketika RSI menghasilkan sinyal jual ketika 5 garis K berturut-turut di atas 70, jika kemudian K berturut-turut di bawah, entitas dibesarkan lebih dari 4 kali, maka dilakukan operasi jual.
Untuk mengunci keuntungan, ketika arah memegang posisi sejalan dengan arah garis K saat ini, posisi tutup ditutup dalam hal entitas melipatgandakan dua kali lipat.
Indikator RSI lebih baik untuk mengidentifikasi overbought dan oversold. Ketika saham berada di zona overbought dan oversold, ada kemungkinan besar untuk rebound dalam jangka pendek, dan zona oversold sering menandakan akan terjadi rebound. Strategi ini dapat menangkap peluang pada malam sebelum reversal.
Strategi ini menambahkan entitas K-line yang diperbesar sebagai kondisi penyaringan, dan menambahkan posisi pada saat entitas K-line yang diperbesar muncul menjelang titik balik, untuk menghindari tertipu oleh sinyal palsu pasar yang bergoyang.
Minta RSI untuk terus mengkonfirmasi bahwa 1-5 garis K berada di zona overbought dan oversold, untuk menghindari kesalahan dari setiap garis K yang tidak bergerak, dan meningkatkan keandalan sinyal.
Entitas memperbesar kelipatan dapat disesuaikan sesuai dengan varietas yang berbeda, untuk varietas besar dan rendah dapat relaksasi kondisi yang sesuai, dan untuk varietas rendah dan berfluktuasi dapat diperketat dengan tepat, dapat disesuaikan secara bebas sesuai dengan varietas perdagangan sendiri.
Pengaturan parameter kebijakan ini memiliki beberapa keterbatasan, karena parameter harus disesuaikan untuk varietas dan periode yang berbeda. Jika tetap menggunakan satu pengaturan parameter, ini dapat menyebabkan masalah overfitting.
Indikator RSI sendiri memiliki tingkat keterlambatan tertentu, ditambah dengan pembesaran entitas sebagai kondisi penyaringan juga akan lebih awal keluar dari posisi. Oleh karena itu, akurasi identifikasi titik jual beli tidak akan sangat tinggi dalam keadaan umum.
Dalam situasi yang bergejolak, indikator RSI dapat sering memicu sinyal beli dan jual yang menyebabkan jangka waktu pemegang posisi yang terlalu lama. Pada saat ini perlu untuk menyesuaikan parameter atau menghentikan operasi strategi.
Strategi ini adalah strategi trading short line yang perlu digabungkan dengan strategi pemegang posisi yang tepat, seperti metode penghapusan garis rata-rata, stop loss, dan lain-lain, untuk mengunci keuntungan dan mengendalikan risiko.
Kombinasi parameter RSI yang berbeda dapat diuji, seperti siklus, overbought dan oversold, dan parameter filter entitas K-line, yang dioptimalkan untuk varietas yang berbeda.
Anda dapat mengatur stop loss bergerak atau stop loss persentase untuk mengunci keuntungan, atau Anda dapat mengatur stop loss berdasarkan nilai ATR, atau stop loss dalam kombinasi dengan saluran Donchain.
Anda dapat menambahkan kondisi penyaringan dari indikator lain seperti MACD, KDJ, dan lain-lain, untuk menghindari sinyal yang salah ketika tidak efektif. Anda juga dapat menggunakan indikator volatilitas untuk mengidentifikasi sinyal pembalikan dalam tren.
Menggunakan garis rata-rata untuk menentukan arah tren, hanya mempertimbangkan sinyal perdagangan jika arah tren konsisten, dalam situasi yang bergolak, Anda dapat memilih untuk menghentikan strategi. Anda juga dapat menggabungkan sinyal penyaringan indikator tren yang kuat.
RSI berbalik secara keseluruhan adalah strategi perdagangan garis pendek yang khas, dengan keuntungan dan risiko tertentu. Keuntungan utama adalah kemampuan untuk menangkap rebound setelah overbought dan oversold, dan risiko utamanya adalah ketidakakuratan kepercayaan diri yang tidak tinggi dan terlalu lama memegang posisi di bawah kondisi yang bergolak.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's FRSI Strategy v1.21", shorttitle = "FRSI str 1.21", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0)
//Settings
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")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2038, defval = 2018, 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))
//Limits
bar = close > open ? 1 : close < open ? -1 : 0
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
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2
//Trading
if up
strategy.entry("Long", strategy.long, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
sps := 1
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
strategy.close_all()
sps := 0