Strategi perdagangan kuantitatif berdasarkan regresi linier RSI


Tanggal Pembuatan: 2024-01-24 11:35:19 Akhirnya memodifikasi: 2024-01-24 11:35:19
menyalin: 0 Jumlah klik: 770
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif berdasarkan regresi linier RSI

Ringkasan

Strategi ini didasarkan pada desain indikator RSI linear regression. Strategi ini menghasilkan sinyal beli dan jual dengan menghitung crossover RSI dan EMA linear regression. Strategi ini menawarkan dua pilihan logika beli sekaligus, yang dapat dipilih sesuai kebutuhan.

Prinsip Strategi

Strategi pertama menghitung regresi linier dengan panjang 200 siklus, kemudian berdasarkan hasil regresi linier menghitung RSI dengan panjang 21 siklus. Kemudian menghitung EMA dengan panjang 50 siklus. Ketika RSI melewati EMA menghasilkan sinyal beli, dan ketika RSI melewati EMA menghasilkan sinyal jual, maka tercapai keuntungan.

Strategi ini menawarkan dua logika pembelian:

  1. Beli saat RSI memakai EMA
  2. RSI lebih tinggi dari EMA dan beli di atas garis beli

Logika pembelian dapat dipilih berdasarkan kondisi pasar.

Analisis Keunggulan

Strategi ini menggabungkan keuntungan dari RSI dan EMA regresi linier, yang secara efektif menghilangkan sebagian dari kebisingan harga, menghasilkan sinyal perdagangan yang lebih andal.

RSI dengan regresi linier lebih baik untuk menunjukkan tren, dan EMA membantu untuk menemukan titik balik. Kombinasi keduanya dapat mencari peluang untuk membalikkan tren dan membentuk strategi reversi berarti.

Strategi ini menawarkan dua pilihan logika beli yang dapat disesuaikan dengan fase pasar dengan lebih fleksibel. Misalnya, logika pertama dapat dipilih ketika tren jelas, dan logika kedua dapat dipilih ketika terjadi guncangan.

Analisis risiko

Strategi ini sangat bergantung pada hubungan antara RSI dan EMA, dan jika hubungan antara keduanya berubah, sinyal perdagangan akan salah. Ini adalah titik risiko utama.

Selain itu, RSI dan EMA sebagai indikator sendiri juga akan memiliki keterlambatan tertentu, yang dapat menyebabkan keterlambatan pembelian dan penjualan, tidak dapat menangkap titik pivot dengan sempurna. Ini juga membawa risiko nyata.

Untuk mengurangi risiko, Anda dapat menyesuaikan parameter panjang RSI dan EMA, mengoptimalkan kombinasi antara keduanya. Unit forex ini juga harus memiliki kontrol yang tepat untuk menghindari kerugian tunggal yang terlalu besar.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimalkan parameter panjang RSI dan EMA untuk menemukan kombinasi parameter yang optimal
  2. Menambahkan filter indikator lain, seperti MACD, Brinks, dan lain-lain, untuk meningkatkan kualitas sinyal
  3. Menggabungkan indikator volatilitas, menyesuaikan manajemen posisi
  4. Parameter yang dioptimalkan secara otomatis menggunakan metode pembelajaran mesin

Meringkaskan

Strategi ini didasarkan pada RSI dan EMA yang berbalik secara linier. Strategi ini dirancang dengan strategi mean reversion, yang mencari peluang reversal dalam kisaran set-up melalui persilangan RSI dan EMA. Strategi ini menawarkan dua pilihan logika pembelian yang tersedia secara bersamaan, yang dapat secara fleksibel menanggapi situasi pasar yang berbeda. Secara keseluruhan, strategi ini menggabungkan keunggulan beberapa indikator untuk menemukan peluang reversal secara efektif.

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

//@version=4
strategy("Linear RSI")

startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() => true

//inputs
length = input(defval=200, minval=1, title="LR length")
length2 = input(defval=21, minval=1, title="RSI length")
ema_fast = input(defval=50, minval=1, title="EMA")
lag = 0

overBought = input(50)
overSold = input(50)


//rsi
src = close
Lr = linreg(src, length, lag)
rsi = rsi(Lr, length2)
ema = ema(rsi, ema_fast)

plot(rsi, color = rsi > overBought ? color.green : rsi < overSold ? color.red : color.silver)
plot(overBought, color=color.purple)
plot(overSold, color=color.purple)
plot(ema, color=color.blue)

first_type = input(true, title="Use first logic?")
second_type =  input(false, title="Use second logic?")

long_condition = (first_type ? crossover(rsi, ema) and _testPeriod() : false) or (second_type ? rsi > ema and rsi > overBought and _testPeriod() : false)
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition = crossunder(rsi, ema)
strategy.close('BUY', when=short_condition)