RSI dan Strategi Perdagangan Kuantitatif Berdasarkan Moving Average

Penulis:ChaoZhang, Tanggal: 2023-12-01 14:21:18
Tag:

img

Gambaran umum

Strategi ini disebut Dual Moving Average Strategy. Ide utamanya adalah untuk menghasilkan sinyal perdagangan dengan menggunakan indikator Relative Strength Index (RSI) dan Moving Average (MA) secara bersamaan. Secara khusus, sinyal beli dihasilkan ketika garis RSI melintasi garis MA dari atas ke bawah; sinyal jual dihasilkan ketika garis RSI melintasi garis MA dari bawah ke atas. Strategi ini relatif sederhana, tetapi dengan menggabungkan dua jenis indikator yang berbeda, dapat secara efektif mengurangi sinyal palsu dan meningkatkan keandalan sinyal.

Prinsip

Logika dasar dari strategi rata-rata bergerak ganda adalah:

  1. Menghitung nilai RSI untuk mencerminkan situasi overbought dan oversold saham
  2. Menghitung nilai MA untuk menilai tren harga rata-rata
  3. Ketika RSI turun dari titik tinggi dan memasuki area oversold dari area overbought, dan melintasi di bawah MA, sinyal beli dihasilkan
  4. Ketika RSI naik dari titik terendah, memasuki area overbought dari area oversold, dan melintasi di atas MA, sinyal jual dihasilkan.

Ketika sinyal perdagangan di atas terjadi, kami akan menggambar tanda-tanda yang relevan pada grafik untuk penilaian visual yang mudah.

Keuntungan

Keuntungan terbesar dari strategi rata-rata bergerak ganda adalah bahwa ia dapat secara efektif menggabungkan indikator tren dan indikator overbought/oversold untuk membuat sinyal perdagangan lebih dapat diandalkan.

  1. Mengurangi sinyal palsu. Kombinasi RSI dan MA dapat memverifikasi sinyal satu sama lain dan menghindari sinyal palsu yang dihasilkan oleh satu indikator.

  2. Meningkatkan tingkat kemenangan. Dibandingkan dengan strategi RSI atau MA tunggal, strategi rata-rata bergerak ganda dapat mendapatkan peluang yang lebih menguntungkan.

  3. Adaptasi yang kuat. Strategi ini hanya menggunakan dua parameter, mudah dioperasikan, biaya rendah, dan beradaptasi dengan lingkungan pasar yang berbeda.

  4. Dengan menyesuaikan parameter siklus RSI dan MA, mudah untuk mengoptimalkan dan beradaptasi dengan lebih banyak varietas.

Risiko

Meskipun banyak keuntungan dari strategi rata-rata bergerak ganda, risiko tidak dapat sepenuhnya dihindari dalam aplikasi yang sebenarnya.

  1. MA menggunakan harga rata-rata historis dan mungkin tertinggal dari perubahan harga terbaru.

  2. RSI mungkin mengalami pecah palsu, mengakibatkan sinyal yang salah.

  3. Tidak mampu beradaptasi dengan tren pasar yang berubah dengan cepat, cenderung berhenti kehilangan.

  4. Pengaturan parameter yang tidak benar juga dapat sangat mempengaruhi kinerja strategi.

Sebagai tanggapan, kami terutama melakukan pengendalian risiko dari aspek berikut:

  1. Menggunakan MA adaptif untuk menyesuaikan parameter siklus berdasarkan perubahan harga terbaru.

  2. Tingkatkan mekanisme stop loss untuk mengontrol single loss.

  3. Optimalkan parameter untuk memilih kombinasi parameter terbaik untuk pengujian.

  4. Mengadopsi stop loss langkah untuk mengunci sebagian keuntungan dan mengurangi risiko.

Arahan Optimasi

Untuk masalah potensial dengan strategi rata-rata bergerak ganda, kami mempertimbangkan optimasi dari dimensi berikut:

  1. Gunakan MA adaptif alih-alih MA biasa untuk menangkap perubahan tren harga lebih cepat.

  2. Meningkatkan verifikasi indikator volume untuk menghindari breakout palsu. Misalnya, hanya membeli ketika harga penutupan dan volume perdagangan naik bersama.

  3. Menggabungkan indikator lain untuk menyaring sinyal yang tidak valid.

  4. Mengoptimalkan rentang pengaturan parameter untuk menemukan kombinasi parameter optimal. Backtesting dapat menemukan rentang parameter keuntungan tertinggi untuk strategi.

  5. Menggunakan teknik pembelajaran mesin untuk optimasi parameter adaptif. Memungkinkan strategi untuk memilih parameter optimal berdasarkan kondisi pasar real-time.

Melalui optimalisasi di atas, diharapkan dapat meningkatkan kinerja langsung dari strategi rata-rata bergerak ganda.

Ringkasan

Strategi rata-rata bergerak ganda mengintegrasikan keuntungan dari indikator RSI dan MA. Melalui kerjasama keduanya, sinyal perdagangan yang lebih akurat dan dapat diandalkan dapat dihasilkan. Dibandingkan dengan strategi indikator teknis tunggal, strategi rata-rata bergerak ganda memiliki akurasi sinyal yang lebih tinggi, lebih sedikit sinyal palsu, pengoptimalan mudah dan keuntungan lainnya. Tetapi risiko kesalahan tidak dapat dihindari sepenuhnya. Kami juga telah mengusulkan beberapa langkah pengendalian risiko tertentu. Selain itu, ada dimensi yang dapat dioptimalkan lebih lanjut untuk strategi ini. Dengan menggabungkan indikator adaptif, indikator verifikasi tambahan lainnya, pengoptimalan parameter dan sarana lainnya, diharapkan dapat meningkatkan tingkat pengembalian strategi. Secara umum, strategi ini memberikan solusi analisis teknis yang sederhana dan praktis untuk perdagangan kuantitatif.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="RSI + MA", shorttitle="RSI + MA")
reverseTrade = input(false, title = "Use Reverse Trade?")
lengthRSI = input(14, minval=1, title="RSI Length")
sourceRSI = input(close, "RSI Source", type = input.source)

showMA = input(true, title="Show MA")
lengthMA = input(9, minval=1, title="MA Length")
offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500)

up = rma(max(change(sourceRSI), 0), lengthRSI)
down = rma(-min(change(sourceRSI), 0), lengthRSI)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
ma = sma(rsi, lengthMA)

plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA)
plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0)

band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1)
band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1)
fill(band1, band0, color=color.new(#9915FF,95), title="Background")

buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma
sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma

strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)

Lebih banyak