Sumber daya yang dimuat... Pemuatan...

Z-Score dan Supertrend Berbasis Strategi Perdagangan Dinamis: Sistem Long-Short Switching

Penulis:ChaoZhang, Tanggal: 2024-11-27 16:01:20
Tag:RSIATRSMA

img

Gambaran umum

Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan metode statistik Z-Score, Indeks Kekuatan Relatif (RSI), dan indikator Supertrend. Strategi ini memantau penyimpangan harga statistik, menggabungkan indikator momentum dan konfirmasi tren untuk mengidentifikasi peluang perdagangan kemungkinan tinggi di pasar. Strategi ini tidak hanya menangkap peluang pasar yang terlalu banyak dibeli dan terlalu banyak dijual tetapi juga menyaring sinyal palsu melalui konfirmasi tren, memungkinkan perdagangan dua arah.

Prinsip Strategi

Logika inti dari strategi ini dibangun pada sinergi tiga indikator teknis utama: Pertama, ia menghitung Z-score harga untuk mengukur deviasi harga saat ini dari rata-rata historisnya, menggunakan rata-rata bergerak 75 periode dan deviasi standar. Ketika Z-score melebihi 1,1 atau turun di bawah -1.1, itu menunjukkan deviasi statistik yang signifikan. Kedua, indikator RSI diperkenalkan sebagai konfirmasi momentum, yang mengharuskan RSI sejajar dengan arah (RSI>60 untuk posisi panjang, RSI<40 untuk posisi pendek).

Keuntungan Strategi

  1. Konfirmasi Multiple Signal: Menggabungkan indikator dari dimensi statistik, momentum, dan tren sangat meningkatkan keandalan sinyal perdagangan.
  2. Adaptabilitas tinggi: Metode perhitungan Z-score memungkinkan strategi untuk beradaptasi dengan lingkungan pasar yang berbeda, independen dari tingkat harga absolut.
  3. Pengendalian Risiko yang Komprehensif: Indikator Supertrend menyediakan mekanisme pengendalian dan pengendalian risiko secara otomatis.
  4. Perdagangan Bilateral: Strategi ini dapat menangkap peluang di kedua arah panjang dan pendek, meningkatkan efisiensi pemanfaatan modal.
  5. Sinyal yang Jelas: Strategi ini menggunakan model matematika yang jelas dan indikator objektif, menghindari penilaian subjektif.

Risiko Strategi

  1. Risiko Lag: Karena penggunaan rata-rata bergerak beberapa periode, strategi dapat mengalami keterlambatan sinyal di pasar yang berubah dengan cepat.
  2. Risiko Pemecahan Palsu: Sinyal-sinyal Pemecahan Palsu yang sering terjadi dapat terjadi di pasar-pasar yang berbeda.
  3. Sensitivitas Parameter: Efektivitas strategi sangat tergantung pada pemilihan parameter, lingkungan pasar yang berbeda mungkin memerlukan pengaturan parameter yang berbeda.
  4. Ketergantungan Kondisi Pasar: Kinerja strategi mungkin tidak ideal di pasar tanpa tren yang jelas.

Arah Optimasi Strategi

  1. Penyesuaian Parameter Dinamis: Memperkenalkan mekanisme parameter adaptif untuk menyesuaikan ambang Z-score dan parameter Supertrend secara otomatis berdasarkan volatilitas pasar.
  2. Penyaringan Lingkungan Pasar yang Ditingkatkan: Tambahkan modul pengenalan lingkungan pasar untuk menggunakan kombinasi parameter yang berbeda dalam kondisi pasar yang berbeda.
  3. Mekanisme Stop Loss yang ditingkatkan: Memperkenalkan strategi stop loss yang dinamis, seperti stop berbasis ATR atau trailing stop.
  4. Filter Sinyal yang Dioptimalkan: Tambahkan konfirmasi volume atau indikator teknis lainnya untuk lebih menyaring sinyal perdagangan.
  5. Filter Berbasis Waktu: Pertimbangkan untuk menambahkan pembatasan jendela waktu perdagangan untuk menghindari periode yang sangat volatile.

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan metode statistik dan analisis teknis, menggunakan beberapa konfirmasi sinyal untuk meningkatkan keandalan perdagangan. Keuntungan inti strategi terletak pada model matematis obyektif dan mekanisme kontrol risiko yang komprehensif, sementara perhatian harus diberikan pada optimasi parameter dan kemampuan beradaptasi pasar. Melalui arah optimasi yang disarankan, ada ruang untuk perbaikan lebih lanjut, terutama dalam beradaptasi secara dinamis dengan lingkungan pasar dan pengendalian risiko. Strategi ini cocok untuk pasar dengan volatilitas tinggi dan tren yang jelas, menjadikannya pertimbangan yang layak bagi pedagang kuantitatif yang mengejar pengembalian yang stabil.


/*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')


Berkaitan

Lebih banyak