
Strategi penapisan RSI dan EMA berganda adalah strategi perdagangan kuantitatif berdasarkan indikator yang agak kuat ((RSI) dan purata bergerak indeks ((EMA)). Strategi ini menggunakan indikator RSI untuk menilai keadaan pasaran yang lebih baik daripada pasaran yang lebih baik, sambil menggabungkan kedua-dua garis EMA yang lebih baik dan lebih baik untuk menentukan trend sebagai dasar untuk masuk dan keluar. Dengan penapisan RSI dan EMA berganda, anda dapat mengurangkan isyarat palsu dengan berkesan dan meningkatkan kestabilan dan keuntungan strategi.
Prinsip-prinsip utama strategi ini boleh dibahagikan kepada beberapa bahagian:
Pengiraan dan penggunaan RSI: Strategi pertama mengira RSI untuk satu kitaran tersuai ((default 2)). Apabila nilai RSI lebih rendah daripada paras overbought ((default 10), menunjukkan bahawa pasaran berada dalam keadaan overbought, anda boleh mempertimbangkan untuk melakukan overbought; Apabila nilai RSI lebih tinggi daripada paras overbought ((default 90), menunjukkan bahawa pasaran berada dalam keadaan overbought, anda boleh mempertimbangkan untuk melakukan overbought.
Penghakiman trend garis EMA perlahan: strategi mengira dua garis EMA, satu adalah garis perlahan (peringkat 200 secara lalai) dan satu lagi adalah garis pantas (peringkat 50 secara lalai). Apabila garis pantas berada di atas garis perlahan dan harga di atas garis perlahan, pasaran dianggap dalam trend naik; sebaliknya, apabila garis pantas berada di bawah garis perlahan dan harga di bawah garis perlahan, pasaran dianggap dalam trend menurun.
Penapisan Trend: Strategi menyediakan pilihan penapisan trend. Jika pilihan ini diaktifkan, anda hanya akan membuka lebih banyak kedudukan apabila RSI melonjak dan membuka lebih banyak kedudukan apabila RSI melonjak. Ini dapat mengurangkan risiko perdagangan berlawanan.
Pengesahan isyarat dagangan: strategi menyeluruh mengambil kira keputusan penentuan trend RSI dan EMA, menghasilkan isyarat dagangan akhir. Dalam trend bertopeng, apabila RSI lebih rendah daripada paras jual beli, buka lebih banyak kedudukan; dalam trend kosong, apabila RSI lebih tinggi daripada paras beli beli, buka kedudukan kosong.
Pengurusan kedudukan: Strategi ini menggunakan selang perdagangan minimum (default 5 minit) untuk mengawal frekuensi perdagangan, untuk mengelakkan perdagangan berlebihan. Pada masa yang sama, strategi ini menggunakan gabungan tracking stop loss dan stop loss tetap untuk pengurusan risiko, yang membolehkan keuntungan berlanjutan dengan baik dan dapat mengawal kerugian dengan berkesan.
Strategi penapisan berganda RSI dan EMA mempunyai kelebihan berikut:
Keupayaan untuk mengesan trend yang kuat: Dengan menilai trend dengan cepat dan perlahan EMA, strategi dapat mengesan trend utama pasaran dengan berkesan, dan mengelakkan perdagangan yang kerap dalam pasaran yang bergolak.
Filter isyarat palsu yang berkesan: Indeks RSI mudah menghasilkan lebih banyak isyarat palsu, terutama di pasaran yang tidak jelas trendnya. Sementara penapis trend EMA dapat mengenal pasti trend utama dengan berkesan, mengurangkan isyarat palsu yang dihasilkan oleh RSI.
Pengurusan risiko yang baik: Strategi menggunakan cara untuk menjejaki berhenti dan berhenti tetap yang digabungkan, yang membolehkan keuntungan diteruskan dengan baik dan dapat mengawal kerugian dengan berkesan. Cara pengurusan risiko ini dapat meningkatkan kestabilan strategi dan kemampuan untuk mengawal pengeluaran.
Fleksibiliti parameter: Strategi menyediakan beberapa parameter untuk pengguna menyesuaikan, seperti kitaran RSI, overbought overbought, kitaran EMA, kadar hentian dan sebagainya. Ini membolehkan strategi menyesuaikan diri dengan keadaan pasaran dan kebiasaan perdagangan yang berbeza.
Walaupun RSI dan EMA mempunyai kelebihan yang baik dalam strategi penapisan berganda, terdapat beberapa risiko yang berpotensi:
Risiko trend reversal: Apabila trend pasaran berbalik, garis EMA mungkin terlewat, menyebabkan strategi terlepas masa masuk yang terbaik atau kelewatan keluar.
Risiko pengoptimuman parameter: Prestasi strategi ini lebih sensitif kepada tetapan parameter, dan kombinasi parameter yang berbeza mungkin membawa hasil yang berbeza. Jika parameter dioptimumkan secara berlebihan, ia mungkin menyebabkan strategi itu tidak berfungsi dengan baik di pasaran masa depan.
Risiko peristiwa Black Swan: Strategi dilakukan dengan mengkaji semula dan mengoptimumkan berdasarkan data sejarah, tetapi data sejarah tidak dapat sepenuhnya mencerminkan peristiwa ekstrem yang mungkin berlaku pada masa akan datang.
Untuk mengatasi risiko ini, anda boleh mempertimbangkan penyelesaian berikut:
Gabungan dengan petunjuk teknikal lain atau pola tingkah laku harga untuk membantu menilai perubahan trend dan membuat penyesuaian lebih awal.
Menggunakan pengoptimuman parameter yang sederhana untuk mengelakkan kecocokan yang berlebihan dengan data sejarah. Pada masa yang sama, periksa dan sesuaikan parameter secara berkala untuk menyesuaikan diri dengan ciri-ciri pasaran terkini.
Menetapkan kedudukan hentian yang munasabah, mengawal kerugian maksimum dalam satu perdagangan. Pada masa yang sama, mengawal risiko di peringkat portfolio, seperti pelaburan terpencil, kawalan kedudukan dan sebagainya.
Memperkenalkan lebih banyak penunjuk teknikal: Di atas asas RSI dan EMA yang sedia ada, lebih banyak penunjuk teknikal yang berkesan boleh diperkenalkan, seperti MACD, Brin dan lain-lain, untuk meningkatkan ketepatan dan kestabilan isyarat strategi.
Mengoptimumkan kaedah penghakiman trend: Selain menggunakan garis EMA untuk menentukan trend, anda juga boleh meneroka kaedah penghakiman trend lain, seperti kaedah titik tinggi rendah, sistem garis rata, dan lain-lain. Dengan menggabungkan pelbagai kaedah penghakiman trend, anda boleh meningkatkan kemampuan adaptasi strategi.
Peningkatan kaedah pengurusan risiko: Di atas asas yang sedia ada untuk menjejaki dan menghentikan kerugian tetap, kaedah pengurusan risiko yang lebih maju boleh diperkenalkan, seperti berhenti turun naik, berhenti dinamik, dan sebagainya. Kaedah-kaedah ini dapat menyesuaikan diri dengan perubahan turun naik pasaran, sehingga dapat mengawal risiko dengan lebih baik.
Menambah modul pengurusan kedudukan: Strategi semasa menggunakan kaedah kedudukan tetap, boleh mempertimbangkan untuk memperkenalkan modul pengurusan kedudukan dinamik, menyesuaikan kedudukan secara dinamik mengikut faktor seperti turun naik pasaran, kepentingan hak akaun, dan lain-lain, untuk meningkatkan kecekapan penggunaan dana.
Sesuaikan dengan pelbagai pasaran dan varieti: memperluaskan strategi ke lebih banyak pasaran dan varieti perdagangan, mengurangkan risiko keseluruhan dengan menyebarkan pelaburan. Pada masa yang sama, hubungan antara pasaran dan varieti yang berbeza dapat dikaji dan menggunakan maklumat ini untuk mengoptimumkan penempatan aset strategi.
Strategi penapisan berganda RSI dan EMA dengan kombinasi organik indikator yang agak kuat dan purata bergerak indeks, menangkap trend pasaran dengan berkesan, dan mengurangkan masalah indikator RSI yang mudah menghasilkan isyarat palsu. Logik strategi jelas, mengandungi langkah-langkah pengurusan risiko yang lengkap, dengan kestabilan dan potensi keuntungan yang baik. Walau bagaimanapun, strategi juga mempunyai beberapa risiko yang berpotensi, seperti risiko perubahan trend, risiko pengoptimuman parameter dan risiko peristiwa black swan.
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("RSI2", overlay=true)
// RSILength input
len = input(2, minval=1, title="RSILength")
// Threshold RSI up input
RSIthreshUP = input(90, title="Threshold RSI up")
// Threshold RSI down input
RSIthreshDWN = input(10, title="Threshold RSI down")
// Slow MA length input
mmlen = input(200, title="Slow MA len")
// Fast MA length input
mmflen = input(50, title="Fast MA len")
// Moving Average type input
machoice = input("EMA", defval="EMA", options=["SMA", "EMA"])
// Ticker size input
tick=input(0.5,title="Ticker size",type=input.float)
// Trend Filter input
filter=input(true,title="Trend Filter",type=input.bool)
// Trailing Stop percentage input
ts_percent = input(1, title="TrailingStop%")
// Stop Loss percentage input
sl_percent = input(0.3, title="Stop Loss %")
// Calculate RSI
src = close
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)
// Calculate moving averages
mmslow = machoice == "SMA" ? sma(close, mmlen) : ema(close, mmlen)
mmfast = machoice == "SMA" ? sma(close, mmflen) : ema(close, mmflen)
// Plot moving averages
plot(mmslow, color=color.white)
plot(mmfast, color=color.yellow)
// Conditions for entry and exit
var lastLongEntryTime = 0
var lastShortEntryTime = 0
ConditionEntryL = if filter == true
mmfast > mmslow and close > mmslow and rsi < RSIthreshDWN
else
mmfast > mmslow and rsi < RSIthreshDWN
ConditionEntryS = if filter == true
mmfast < mmslow and close < mmslow and rsi > RSIthreshUP
else
mmfast < mmslow and rsi > RSIthreshUP
// Calculate trailing stop and stop loss
ts_calc = close * (1/tick) * ts_percent * 0.01
sl_price = close * (1 - sl_percent / 100)
// Entry and exit management
if ConditionEntryL and time - lastLongEntryTime > 1000 * 60 * 5 // 5 minutes
strategy.entry("RSILong", strategy.long)
lastLongEntryTime := time
if ConditionEntryS and time - lastShortEntryTime > 1000 * 60 * 5 // 5 minutes
strategy.entry("RSIShort", strategy.short)
lastShortEntryTime := time
lastLongEntryTimeExpired = time - lastLongEntryTime >= 1000 * 60 * 5
lastShortEntryTimeExpired = time - lastShortEntryTime >= 1000 * 60 * 5
strategy.exit("ExitLong", "RSILong", when=lastLongEntryTimeExpired, trail_points=0, trail_offset=ts_calc, stop=sl_price)
strategy.exit("ExitShort", "RSIShort", when=lastShortEntryTimeExpired, trail_points=0, trail_offset=ts_calc, stop=sl_price)