Strategi perdagangan dinamis berdasarkan skor Z dan supertrend: sistem peralihan panjang-pendek

RSI ATR SMA
Tanggal Pembuatan: 2024-11-27 16:01:20 Akhirnya memodifikasi: 2024-11-27 16:01:20
menyalin: 0 Jumlah klik: 528
1
fokus pada
1617
Pengikut

Strategi perdagangan dinamis berdasarkan skor Z dan supertrend: sistem peralihan panjang-pendek

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan metode statistik Z-Score, indikator RSI yang relatif kuat, dan indikator Supertrend. Strategi ini mencari peluang perdagangan dengan probabilitas tinggi di pasar dengan memantau deviasi statistik harga, menggabungkan indikator momentum dan konfirmasi tren. Strategi ini tidak hanya dapat menangkap peluang jual beli yang berlebihan di pasar, tetapi juga dapat memfilter sinyal palsu melalui pengakuan tren, untuk mencapai perdagangan dua arah dengan banyak ruang.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada sinergi tiga indikator teknis utama: pertama, mengukur seberapa jauh harga saat ini dari rata-rata historis dengan menghitung skor Z dari harga, dengan menggunakan rata-rata bergerak dan standard deviasi selama 75 siklus. Ketika skor Z lebih dari 1,1 atau kurang dari -1,1, menunjukkan bahwa harga mengalami penyimpangan statistik yang signifikan. Kedua, memperkenalkan indikator RSI sebagai momentum, mengkonfirmasi bahwa RSI perlu berorientasi ketika membuka posisi.

Keunggulan Strategis

  1. Multi-Signal Confirmation: Meningkatkan keandalan sinyal trading dengan menggabungkan indikator tiga dimensi statistik, momentum, dan tren.
  2. Adaptabilitas: Metode perhitungan skor Z memungkinkan strategi untuk beradaptasi dengan lingkungan pasar yang berbeda tanpa dipengaruhi oleh tingkat harga mutlak.
  3. Pengendalian risiko yang lebih baik: Indikator tren super menyediakan mekanisme pelacakan tren dan pengendalian risiko otomatis.
  4. Trading dua arah: Strategi ini dapat menangkap peluang di dua arah, meningkatkan efisiensi penggunaan dana.
  5. Sinyal yang jelas: Strategi menggunakan model matematika yang jelas dan indikator objektif, menghindari penilaian subjektif.

Risiko Strategis

  1. Risiko keterlambatan: Strategi dapat mengalami keterlambatan sinyal dalam pasar yang berubah dengan cepat karena menggunakan rata-rata bergerak dalam beberapa siklus.
  2. Risiko terobosan palsu: Dalam pasar horizontal, sinyal terobosan palsu mungkin sering terjadi.
  3. Sensitivitas parameter: Efektivitas strategi sangat tergantung pada pilihan parameter, dan pengaturan parameter yang berbeda mungkin diperlukan dalam lingkungan pasar yang berbeda.
  4. Tergantung pada kondisi pasar: Strategi mungkin tidak bekerja dengan baik di pasar yang tidak menunjukkan tren.

Arah optimasi strategi

  1. Penyesuaian parameter dinamis: mekanisme parameter adaptif dapat diperkenalkan untuk secara otomatis menyesuaikan parameter penurunan skor Z dan supertrend sesuai dengan fluktuasi pasar.
  2. Menambahkan filter lingkungan pasar: menambahkan modul identifikasi lingkungan pasar, menggunakan kombinasi parameter yang berbeda dalam kondisi pasar yang berbeda.
  3. Memperbaiki mekanisme stop loss: memperkenalkan strategi stop loss dinamis, seperti stop loss berbasis ATR atau stop loss tracking.
  4. Optimasi sinyal penyaringan: Anda dapat menambahkan konfirmasi volume transaksi atau indikator teknis lainnya untuk lebih memfilter sinyal perdagangan.
  5. Memperkenalkan filter waktu: Pertimbangkan untuk meningkatkan batas jendela waktu perdagangan, menghindari periode dengan fluktuasi yang lebih besar.

Meringkaskan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan metode statistik dan analisis teknis untuk meningkatkan keandalan perdagangan melalui konfirmasi sinyal ganda. Keunggulan inti dari strategi ini adalah model matematika obyektif dan mekanisme kontrol risiko yang baik, tetapi juga perlu memperhatikan optimasi parameter dan masalah adaptasi pasar. Dengan arah optimasi yang disarankan, strategi ini masih memiliki ruang untuk peningkatan lebih lanjut, terutama dalam adaptasi dinamis terhadap lingkungan pasar dan pengendalian risiko.

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

//@version=5
strategy("Z-Score Long and Short Strategy with Supertrend", overlay=true)

// Inputs for Z-Score
len = input.int(75, "Z-Score Lookback Length")
z_long_threshold = 1.1  // Threshold for Z-Score to open long
z_short_threshold = -1.1  // Threshold for Z-Score to open short

// Z-Score Calculation
z = (close - ta.sma(close, len)) / ta.stdev(close, len)

// Calculate Driver RSI
driver_rsi_length = input.int(14, "Driver RSI Length")  // Input for RSI Length
driver_rsi = ta.rsi(close, driver_rsi_length)  // Calculate the RSI

// Supertrend Parameters
atrPeriod = input.int(11, "ATR Length", minval=1)
factor = input.float(2.0, "Factor", minval=0.01, step=0.01)

// Supertrend Calculation
[supertrend, direction] = ta.supertrend(factor, atrPeriod)

// Conditions for Long and Short based on Z-Score
z_exceeds_long = z >= z_long_threshold and driver_rsi > 60
z_exceeds_short = z <= z_short_threshold and driver_rsi < 40

// Entry Conditions
if (z_exceeds_long and direction < 0) // Enter Long if Z-Score exceeds threshold and Supertrend is down
    strategy.entry("Long", strategy.long)
    label.new(bar_index, low, text="Open Long", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)
    alert("Open Long", alert.freq_once_per_bar)  // Alert for Long entry

if (z_exceeds_short and direction > 0) // Enter Short if Z-Score exceeds threshold and Supertrend is up
    strategy.entry("Short", strategy.short)
    label.new(bar_index, high, text="Open Short", style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
    alert("Open Short", alert.freq_once_per_bar)  // Alert for Short entry

// Plot Supertrend
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color=color.green, style=plot.style_linebr)
downTrend = plot(direction > 0 ? supertrend : na, "Down Trend", color=color.red, style=plot.style_linebr)
fill(upTrend, downTrend, color=color.new(color.green, 90), fillgaps=false)

// Alert conditions for Supertrend changes (optional)
alertcondition(direction[1] > direction, title='Downtrend to Uptrend', message='The Supertrend value switched from Downtrend to Uptrend')
alertcondition(direction[1] < direction, title='Uptrend to Downtrend', message='The Supertrend value switched from Uptrend to Downtrend')