Strategi persilangan indikator RSI dan rata-rata pergerakan


Tanggal Pembuatan: 2023-12-21 11:30:27 Akhirnya memodifikasi: 2023-12-21 11:30:27
menyalin: 0 Jumlah klik: 762
1
fokus pada
1621
Pengikut

Strategi persilangan indikator RSI dan rata-rata pergerakan

Ringkasan

Strategi RSI crossover adalah strategi perdagangan kuantitatif yang menggabungkan indikator relatif kuat (RSI) dan rata-rata bergerak. Strategi ini menggunakan indikator RSI untuk menilai overbought dan oversold dalam nilai sekuritas, dan menggabungkan sinyal RSI crossover emas dan dead fork dengan rata-rata untuk menentukan posisi bullish atau bearish.

Prinsip Strategi

  1. Indikator RSI didasarkan pada kenaikan dan penurunan dalam jangka waktu tertentu, dengan membandingkan kenaikan dan penurunan penutupan rata-rata, untuk menilai apakah sekuritas itu overbought atau oversold.

  2. Menghitung moving average MA dari indikator RSI. Menggunakan EMA moving average indeks atau SMA moving average sederhana

  3. Ketika RSI di atas melewati rata-rata bergeraknya, menghasilkan sinyal silang emas, melakukan over; ketika RSI di bawah melewati rata-rata bergeraknya, menghasilkan sinyal garpu mati, melakukan over.

  4. Ketika RSI lebih tinggi dari garis overbought, menganggap sekuritas overbought, melakukan shorting; ketika RSI lebih rendah dari garis oversold, menganggap sekuritas oversold, melakukan over.

Analisis Keunggulan

  1. Menggabungkan indikator dengan sinyal silang rata-rata, menghindari hanya mengandalkan satu indikator, meningkatkan akurasi pengambilan keputusan.

  2. Menggunakan indikator RSI untuk menentukan kapan harus membeli dan menjual, mengatur garis jual dan beli, dan menentukan kapan harus melakukan posisi dan menghentikan kerugian.

  3. Penggunaan indikator dengan crossover rata-rata melakukan lebih banyak shorting, dapat menangkap titik-titik perubahan pasar tepat waktu.

Analisis risiko

  1. Indeks RSI cenderung memberikan sinyal yang salah dalam situasi yang bergoyang.

  2. RSI overbought dan oversold dapat diatur berdasarkan penilaian, dan pengaturan yang tidak tepat dapat menyebabkan terlalu longgar atau terlalu ketat.

  3. Sistem garis rata terlalu sensitif terhadap gelombang jangka pendek yang tidak normal dan mungkin terkubur dalam stop loss.

Arah optimasi

  1. Menyesuaikan parameter RSI untuk mencari parameter panjang optimal.

  2. Optimalkan parameter moving average untuk mencari periode rata-rata optimal.

  3. Uji coba berbagai parameter overbought dan oversold untuk mengoptimalkan peluang untuk berposisi.

  4. Dalam kombinasi dengan indikator lain, sinyal penyaringan dapat digunakan untuk menghindari perdagangan yang salah.

Meringkaskan

Strategi RSI dengan crossover rata-rata, menggunakan RSI untuk menilai overbought dan oversold dikombinasikan dengan sinyal crossover rata-rata bergerak, dapat secara efektif menilai area panas pasar, menangkap peluang reversal di titik-titik kunci. Dengan pengoptimalan parameter dan pemfilteran sinyal, kinerja strategi dapat ditingkatkan dan mengurangi risiko perdagangan.

Kode Sumber Strategi
/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//dfurrer45
strategy(title="Relative Strength Index", shorttitle="RSI", overlay=true)
src = close, len = input(13, minval=1, title="Length"), maLen = input(9, minval=1, title="MA Lenght"), exponential = input(false, title="Exponential")

// === BACKTEST RANGE ===
FromMonth = input(defval = 10, title = "From Month", minval = 1)
FromDay   = input(defval = 3, title = "From Day", minval = 1)
FromYear  = input(defval = 2017, title = "From Year", minval = 2014)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2014)
// ===  BACKTEST END  ===
backtestdaterange = (time > timestamp(FromYear, FromMonth, FromDay, 00, 00))

rsioverbought = input(90, minval=1, title="RSI % start overbought")
rsioversold = input(10, minval=1, title="RSI % start oversold")
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))
ma = exponential ? ema(rsi, maLen) : sma(rsi, maLen)
rsimacrossup = cross(rsi,ma) and rsi > ma
rsimacrossdown = cross(rsi,ma) and rsi < ma
plotchar(rsimacrossup, char='⇧', location = location.belowbar, color = green, text = "", textcolor = green, size=size.small)
plotchar(rsimacrossdown, char='⇩', location = location.abovebar, color = red, text = "", textcolor = red, size=size.small)
plotchar(rsi > rsioverbought, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)
plotchar(rsi < rsioversold, char='x', location = location.belowbar, color = aqua, text = "", textcolor = red, size=size.small)


closetrade = rsimacrossup or rsimacrossdown
strategy.close_all(closetrade)
strategy.close_all((rsi > rsioverbought) or (rsi < rsioversold))
strategy.entry("Short Overbought",strategy.short, when=(rsi > rsioverbought) and backtestdaterange)
strategy.entry("Buy Overbought",strategy.long, when=(rsi < rsioversold) and backtestdaterange)
strategy.entry("Long Cross", strategy.long, when=rsimacrossup and backtestdaterange)
strategy.entry("Short Cross", strategy.short, when=rsimacrossdown and backtestdaterange)