Sistem optimasi strategi perdagangan kuantitatif berdasarkan saluran Gaussian dan RSI stokastik

RSI EMA stdev SMA
Tanggal Pembuatan: 2025-02-18 15:00:11 Akhirnya memodifikasi: 2025-02-18 15:00:11
menyalin: 3 Jumlah klik: 484
1
fokus pada
1627
Pengikut

Sistem optimasi strategi perdagangan kuantitatif berdasarkan saluran Gaussian dan RSI stokastik

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada Gaussian Channel dan Stochastic RSI. Strategi ini digunakan hanya untuk melakukan perdagangan ganda, tanpa melakukan operasi kosong. Strategi ini menggabungkan regressi rata-rata dan prinsip dinamika dalam analisis teknis.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada beberapa perhitungan kunci berikut:

  1. Konstruksi saluran Gauss: menggunakan EMA sebagai rel tengah, dengan 2 kali perbedaan standar sebagai lebar saluran dihitung naik dan turun.
  2. Penghitungan RSI acak: Pertama menghitung RSI selama 14 periode, kemudian menghitung RSI tertinggi dan terendah selama 14 periode, dan akhirnya menghitung posisi relatif RSI saat ini dalam kisaran ini.
  3. Sinyal masuk: Harga menembus saluran bawah sementara RSI acak menembus ke atas dari bawah 20.
  4. Sinyal keluar: harga menerobos saluran naik atau indikator RSI acak menerobos ke bawah dari 80 ke atas.

Keunggulan Strategis

  1. Mekanisme verifikasi ganda: Mengurangi dampak sinyal palsu dengan menggabungkan saluran harga dan indikator momentum.
  2. Pengendalian risiko yang baik: Menggunakan manajemen posisi persentase, dan mempertimbangkan biaya transaksi dan faktor slippage.
  3. Karakteristik Regressi Rata-Rata: Saluran Gauss dapat secara efektif menangkap kisaran fluktuasi harga, meningkatkan akurasi transaksi.
  4. Adaptasi dinamis: parameter strategi dapat disesuaikan secara optimal sesuai dengan situasi pasar yang berbeda.

Risiko Strategis

  1. Risiko pasar tren: Dalam pasar tren yang kuat, posisi terendah mungkin terlalu dini, yang menyebabkan kehilangan pasar besar.
  2. Sensitivitas parameter: pengaturan parameter channel multiplier dan RSI sangat berpengaruh terhadap kinerja strategi.
  3. Ketergantungan pada kondisi pasar: Strategi dapat berkinerja baik di pasar yang bergoyang, tetapi mungkin berkinerja buruk di pasar unilateral.
  4. Perhitungan risiko keterlambatan: Ada keterlambatan dalam perhitungan indikator teknis yang dapat mempengaruhi waktu transaksi.

Arah optimasi strategi

  1. Masukkan parameter adaptasi: channel multiplier dapat disesuaikan secara dinamis dengan fluktuasi pasar.
  2. Meningkatkan identifikasi lingkungan pasar: Menambahkan indikator kekuatan tren, menggunakan pengaturan parameter yang berbeda dalam lingkungan pasar yang berbeda.
  3. Manajemen modal yang optimal: rasio kepemilikan dapat disesuaikan secara dinamis dengan kekuatan sinyal.
  4. Perbaikan mekanisme stop loss: Tambahkan fitur stop loss untuk lebih melindungi keuntungan.

Meringkaskan

Strategi ini membangun sistem perdagangan yang relatif stabil dengan menggabungkan saluran Gaussian dan indikator RSI acak. Keunggulan strategi adalah mekanisme double confirmation dan pengendalian risiko yang baik, tetapi juga perlu memperhatikan masalah adaptasi terhadap berbagai lingkungan pasar. Dengan memperkenalkan parameter adaptasi diri dan identifikasi lingkungan pasar, orientasi optimasi dapat meningkatkan stabilitas dan profitabilitas strategi lebih lanjut.

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

//@version=5
strategy("Gaussian Channel with Stochastic RSI", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0)

// Gaussian Channel Parameters
gc_length = input.int(20, "Gaussian Channel Length", minval=1)
gc_mult = input.float(2.0, "Gaussian Channel Multiplier", minval=0.1)

middle = ta.ema(close, gc_length)
stdev = ta.stdev(close, gc_length)
upper = middle + gc_mult * stdev
lower = middle - gc_mult * stdev

// Plot Channels
plot(middle, "Middle Line", color=color.blue)
plot(upper, "Upper Channel", color=color.red)
plot(lower, "Lower Channel", color=color.green)

// Stochastic RSI Parameters
rsi_length = input.int(14, "RSI Length", minval=1)
stoch_length = input.int(14, "Stochastic Length", minval=1)
smooth_k = input.int(3, "Smooth %K", minval=1)
oversold = input.int(20, "Oversold Level", minval=0, maxval=100)
overbought = input.int(80, "Overbought Level", minval=0, maxval=100)

// Calculate Stochastic RSI
rsi = ta.rsi(close, rsi_length)
lowest_rsi = ta.lowest(rsi, stoch_length)
highest_rsi = ta.highest(rsi, stoch_length)
stoch_rsi = highest_rsi != lowest_rsi ? (rsi - lowest_rsi) / (highest_rsi - lowest_rsi) * 100 : 0
k = ta.sma(stoch_rsi, smooth_k)

// Entry/Exit Conditions
enterLong = ta.crossover(close, lower) and ta.crossover(k, oversold)
exitLong = ta.crossover(close, upper) or ta.crossunder(k, overbought)

// Strategy Execution
if (time >= timestamp(2018, 01, 01, 0, 0) and time < timestamp(2069, 01, 01, 0, 0))
    if enterLong
        strategy.entry("Long", strategy.long)
    if exitLong
        strategy.close("Long")