Sumber dimuat naik... memuat...

Z-Score dan Supertrend Berasaskan Strategi Dagangan Dinamis: Sistem Pemindahan Pendek Panjang

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

img

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan kaedah statistik Z-Score, Indeks Kekuatan Relatif (RSI), dan penunjuk Supertrend. Strategi ini memantau penyimpangan harga statistik, menggabungkan penunjuk momentum dan pengesahan trend untuk mengenal pasti peluang perdagangan yang berkemungkinan tinggi di pasaran. Strategi ini bukan sahaja menangkap peluang overbought dan oversold pasaran tetapi juga menapis isyarat palsu melalui pengesahan trend, membolehkan perdagangan dua hala.

Prinsip Strategi

Logik teras strategi ini dibina berdasarkan sinergi tiga penunjuk teknikal utama: Pertama, ia mengira Z-scor harga untuk mengukur penyimpangan harga semasa dari purata sejarahnya, menggunakan purata bergerak 75-periode dan penyimpangan standard. Apabila Z-scor melebihi 1.1 atau jatuh di bawah -1.1, ia menunjukkan penyimpangan statistik yang signifikan. Kedua, penunjuk RSI diperkenalkan sebagai pengesahan momentum, yang memerlukan RSI sejajar dengan arah (RSI>60 untuk kedudukan panjang, RSI<40 untuk kedudukan pendek). Akhirnya, penunjuk Supertrend berfungsi sebagai penapis trend, yang dikira berdasarkan ATR 11 tempoh dan faktor pengganda 2.0. Isyarat perdagangan hanya dihasilkan apabila ketiga-tiga syarat dipenuhi secara serentak.

Kelebihan Strategi

  1. Pengesahan Sinyal Berbilang: Menggabungkan penunjuk dari dimensi statistik, momentum, dan trend sangat meningkatkan kebolehpercayaan isyarat perdagangan.
  2. Kemudahan penyesuaian yang tinggi: Kaedah pengiraan Z-score membolehkan strategi menyesuaikan diri dengan persekitaran pasaran yang berbeza, bebas dari tahap harga mutlak.
  3. Kawalan Risiko Komprehensif: Penunjuk Supertrend menyediakan mekanisme pengendalian trend dan kawalan risiko secara automatik.
  4. Perdagangan bilateral: Strategi ini boleh merebut peluang dalam kedua-dua arah panjang dan pendek, meningkatkan kecekapan penggunaan modal.
  5. Isyarat yang jelas: Strategi menggunakan model matematik yang jelas dan penunjuk objektif, mengelakkan penghakiman subjektif.

Risiko Strategi

  1. Risiko Lag: Oleh kerana penggunaan purata bergerak pelbagai tempoh, strategi mungkin mengalami kelewatan isyarat dalam pasaran yang berubah dengan cepat.
  2. Risiko pecah palsu: Isyarat pecah palsu yang kerap boleh berlaku di pasaran yang berbeza.
  3. Sensitiviti Parameter: Keberkesanan strategi sangat bergantung pada pemilihan parameter, persekitaran pasaran yang berbeza mungkin memerlukan tetapan parameter yang berbeza.
  4. Kebergantungan Keadaan Pasaran: Prestasi strategi mungkin tidak ideal di pasaran tanpa trend yang jelas.

Arahan Pengoptimuman Strategi

  1. Penyesuaian Parameter Dinamik: Memperkenalkan mekanisme parameter adaptif untuk menyesuaikan ambang Z-score dan parameter Supertrend secara automatik berdasarkan turun naik pasaran.
  2. Penapisan persekitaran pasaran yang dipertingkatkan: Tambah modul pengiktirafan persekitaran pasaran untuk menggunakan kombinasi parameter yang berbeza di bawah keadaan pasaran yang berbeza.
  3. Mekanisme Stop Loss yang dipertingkatkan: Memperkenalkan strategi stop-loss dinamik, seperti berhenti berasaskan ATR atau berhenti belakang.
  4. Penapisan Isyarat yang Dioptimumkan: Tambah pengesahan jumlah atau penunjuk teknikal lain untuk menapis isyarat perdagangan.
  5. Penapisan Berasaskan Masa: Pertimbangkan untuk menambah sekatan jendela masa dagangan untuk mengelakkan tempoh yang sangat tidak menentu.

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan kaedah statistik dan analisis teknikal, menggunakan banyak pengesahan isyarat untuk meningkatkan kebolehpercayaan perdagangan. Kelebihan utama strategi ini terletak pada model matematik objektif dan mekanisme kawalan risiko yang komprehensif, sementara perhatian harus diberikan kepada pengoptimuman parameter dan kesesuaian pasaran. Melalui arah pengoptimuman yang dicadangkan, terdapat ruang untuk penambahbaikan lanjut, terutama dalam menyesuaikan diri secara dinamik dengan persekitaran pasaran dan kawalan risiko. Strategi ini sesuai untuk pasaran dengan turun naik yang tinggi dan trend yang jelas, menjadikannya pertimbangan yang layak bagi peniaga kuantitatif yang mengejar pulangan yang mantap.


/*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 lanjut