
Strategi ini dinamakan strategi kuantitatif RSI. Strategi ini menggunakan pengiraan purata bergerak kenaikan dan penurunan harga dalam satu tempoh tertentu, membina indikator teknikal RSI, dan menetapkan garis jual beli yang lebih tinggi untuk menilai masa berlaku. Apabila RSI berada di bawah garis jual beli yang ditetapkan, masuk ke dalam garis panjang dengan cara membina kedudukan secara beransur-ansur
Penunjuk RSI membandingkan kenaikan purata dan penurunan purata dalam jangka masa untuk menentukan sama ada harga sekuriti semasa terlalu tinggi atau terlalu rendah. Rumusnya ialah:
RSI = 100 - 100 / (1 + UP / DOWN)
Di antaranya, UP adalah purata kenaikan harga penutupan dalam tempoh n hari terakhir; DOWN adalah purata penurunan harga penutupan dalam tempoh n hari terakhir. Indeks bergoyang di antara 0-100 kawasan, lebih daripada 70 adalah kawasan yang terlalu banyak dibeli, di bawah 30 adalah kawasan yang terlalu banyak dijual.
Strategi ini menetapkan parameter RSI Length = 14, RSI dikira berdasarkan harga penutupan 14 hari. Dan menetapkan garis oversold Rsvalue = 40, iaitu RSI di bawah 40 dinilai sebagai oversold. Apabila RSI di bawah 40 pada hari itu, buka jendela beli masuk, ambil strategi pembentukan kedudukan secara beransur-ansur, beli masuk secara beransur-ansur di kawasan oversold, dan tetapkan masa kedudukan terakhir, melebihi masa kedudukan kosong dan semua dijual.
Kelebihan terbesar strategi ini ialah, melalui indikator RSI menilai pasaran pada masa, capture terhadap harga rendah. RSI di bawah 40 adalah keadaan oversold, mewakili penurunan awal yang terlalu besar, ada peluang untuk bangkit, ketika ini secara beransur-ansur membina kedudukan, dapat memperoleh kos yang lebih baik.
Di samping itu, strategi untuk mengambil langkah-langkah untuk membina kedudukan, dapat mengurangkan risiko yang dibawa oleh satu kemasukan. Jendela pembinaan kedudukan sebagai kedudukan tinggi, dan akhirnya waktu kedudukan kosong sebagai kedudukan rendah, mewujudkan pelaburan panjang.
Strategi ini bergantung kepada RSI sebagai penunjuk teknikal, terdapat beberapa keterlambatan. Terutama apabila keadaan pasaran berubah secara mendadak, RSI mungkin tidak bertindak balas dengan cepat. Jika anda mengikuti RSI secara buta, anda mungkin mendapat keuntungan yang terhad atau meningkatkan kerugian.
Selain itu, strategi yang diberikan adalah isyarat perdagangan probabilistic. Walaupun RSI adalah lebih rendah daripada 40, ia tidak bermakna peluang 100% untuk rebound. Kemungkinan rendah untuk harga inovasi semula selepas meletakkan kedudukan juga wujud.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Menggabungkan beberapa saham, untuk berdagang dalam gabungan. Saham tunggal mudah dipengaruhi oleh peristiwa tertentu, dan gabungan dapat menyebarkan risiko saham individu.
Menambahkan strategi berhenti kerugian untuk mengawal risiko lebih lanjut. Seperti menambahkan berhenti pengesanan, berhenti kerugian jika harga terus turun.
Strategi pembinaan gudang yang dioptimumkan, seperti pembinaan gudang secara beransur-ansur dengan purata harga bertimbangan masa yang digunakan di dalam kawasan terlebihan dijual, dan bukannya pembinaan gudang secara keseluruhan.
Gabungan dengan isyarat penapis indikator lain, seperti penunjuk kuantitatif, purata bergerak, dan lain-lain, untuk mengelakkan mengikuti RSI secara buta.
Strategi ini lebih sesuai sebagai alat pelaburan kuantitatif untuk garis panjang berbanding dengan perdagangan garis pendek. Kelebihannya terletak pada tangkapan harga rendah dan kawalan kos, dan risikonya terletak pada keterlambatan indikator dan penyesatan isyarat.
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Relative Strength Index", shorttitle="RSI")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
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, "RSI", color=#8E1599)
band1 = hline(70, "Upper Band", color=#C0C0C0)
band0 = hline(30, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, title="Background")
Rsvalue = input(defval = 40, title = "RSvalue", minval = 20, maxval = 75)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2015, title = "From Year", minval = 999)
ToMonth = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2022, title = "To Year", minval = 999)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
booking = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() => time >= start and time <= finish ? true : false
endtrade() => time >= booking ? true : false
longCondition = rsi< Rsvalue
if (longCondition)
strategy.entry("BUY", strategy.long)
strategy.close("BUY")