Strategi perdagangan yang bagus berdasarkan indikator RSI


Tanggal Pembuatan: 2024-01-25 12:23:39 Akhirnya memodifikasi: 2024-01-25 12:23:39
menyalin: 1 Jumlah klik: 640
1
fokus pada
1617
Pengikut

Strategi perdagangan yang bagus berdasarkan indikator RSI

Ringkasan

Strategi ini didasarkan pada indikator RSI yang relatif kuat. Strategi ini dirancang sebagai strategi investasi kuantitatif untuk perdagangan indeks Nifty. Strategi ini menggunakan indikator RSI untuk mengidentifikasi peluang overbought dan oversold, mencapai overbought dan oversold, dan mengejar keuntungan tambahan.

Prinsip Strategi

Strategi ini menetapkan RSI 2 sebagai sinyal perdagangan. Jika RSI di atas 20, lakukan lebih banyak; Jika RSI di bawah, lakukan lebih sedikit. Jika RSI di bawah 70, lakukan lebih sedikit.

Prinsip spesifiknya adalah: ketika RSI di bawah 20, termasuk status oversold, berarti aset diremehkan, menunjukkan akan segera bangkit; ketika RSI di atas 20, melakukan lebih banyak; ketika RSI di atas 70, termasuk status overbuy, berarti aset diremehkan, menunjukkan akan segera kembali; ketika RSI di bawah 70, posisi kosong.

Analisis Keunggulan

Ini adalah strategi kuantitatif yang menggunakan indikator untuk mengidentifikasi peluang overbought dan oversold dalam jangka pendek. Keunggulan strategi ini dibandingkan dengan strategi pembelajaran mesin dan statistik yang kompleks, terutama dalam hal:

  1. Prinsip-prinsipnya sederhana, jelas, mudah dimengerti dan diverifikasi
  2. Parameter indikator lebih sedikit, mudah dioptimalkan dan disesuaikan
  3. Mencari keuntungan ekstra dalam jangka pendek, sesuai dengan konsep transaksi lintas batas
  4. Periode transaksi yang dapat disesuaikan untuk memenuhi harapan yang berbeda

Analisis risiko

Strategi ini memiliki risiko utama sebagai berikut:

  1. Tidak mampu menangani tren jangka panjang, mudah kehilangan peluang besar
  2. Terlalu bergantung pada optimasi parameter, mungkin ada risiko overfitting
  3. Mekanisme lossless, tidak dapat mengontrol kerugian secara efektif
  4. Frekuensi transaksi yang mempengaruhi waktu pemegang saham, menghasilkan biaya transaksi yang lebih tinggi

Untuk mengontrol risiko tersebut, optimalisasi dapat dilakukan dalam beberapa hal:

  1. Indikator-indikator seperti tren untuk mengidentifikasi tren jangka panjang
  2. Menggunakan Walk Forward Analysis untuk mencegah overmatching
  3. Tetapkan Stop Loss, Hentikan Kerugian
  4. Menyesuaikan parameter perdagangan dengan tepat untuk mengontrol frekuensi perdagangan

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan parameter RSI untuk mencari kombinasi optimal
  2. Meningkatkan mekanisme penghentian kerugian, mengendalikan penarikan maksimum
  3. Indikator seperti Moving Average dan lain-lain untuk menilai tren jangka panjang
  4. Menambahkan modul manajemen posisi, mengoptimalkan alokasi posisi
  5. Menambahkan fungsi copyright kuantitatif, menyesuaikan parameter secara otomatis

Meringkaskan

Strategi ini didasarkan pada indikator RSI yang dirancang untuk strategi perdagangan jangka pendek, menggunakan indikator RSI overbuy oversell sinyal untuk mencapai low-buy-high-sell, mengejar keuntungan berlebihan. Prinsip strategi ini sederhana, mudah untuk dicapai, tetapi ada beberapa tingkat perdagangan sering, tidak dapat mengidentifikasi tren jangka panjang dan lain-lain masalah. Masa depan dapat memperbaiki dari mengoptimalkan parameter RSI, meningkatkan mekanisme stop loss, kombinasi penilaian tren dan lain-lain, membuat strategi lebih stabil dan dapat diandalkan.

Kode Sumber Strategi
/*backtest
start: 2023-01-18 00:00:00
end: 2024-01-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("RSI Strategy", overlay=true,pyramiding = 1000)
rsi_period = 2
rsi_lower = 20
rsi_upper = 70

rsi_value = rsi(close, rsi_period)
buy_signal = crossover(rsi_value, rsi_lower)
sell_signal = crossunder(rsi_value, rsi_upper)
current_date1 =  input(defval=timestamp("01 Nov 2009 00:00 +0000"), title="stary Time", group="Time Settings")

current_date =  input(defval=timestamp("01 Nov 2023 00:00 +0000"), title="End Time", group="Time Settings")
investment_amount = 100000.0
start_time = input(defval=timestamp("01 Dec 2018 00:00 +0000"), title="Start Time", group="Time Settings") 
end_time = input(defval=timestamp("30 Nov 2023 00:00 +0000"), title="End Time", group="Time Settings")

in_time = time >= start_time and time <= end_time
// Variable to track accumulation.
var accumulation = 0.0
out_time = time >= end_time 

if (buy_signal )
    strategy.entry("long",strategy.long,qty= 1) 
    accumulation += 1
if (out_time)
    strategy.close(id="long")

plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown)

plot(rsi_value, title="RSI", color=color.blue)
hline(rsi_lower, title="Lower Level", color=color.red)



plot(strategy.opentrades, style=plot.style_columns, 
     color=#2300a1, title="Profit first entry")
plot(strategy.openprofit, style=plot.style_line, 
     color=#147a00, title="Profit first entry")
// plot(strategy.position_avg_price, style=plot.style_columns, 
//      color=#ca0303, title="Profit first entry")
// log.info(strategy.position_size * strategy.position_avg_price)