Jalur VWAP suai berdasarkan strategi penjejakan dinamik turun naik Garman-Klass

VWAP GKV STD MA VWMA
Tarikh penciptaan: 2024-12-20 14:51:00 Akhirnya diubah suai: 2024-12-20 14:51:00
Salin: 0 Bilangan klik: 449
1
fokus pada
1617
Pengikut

Jalur VWAP suai berdasarkan strategi penjejakan dinamik turun naik Garman-Klass

Gambaran keseluruhan

Ini adalah strategi perdagangan yang menyesuaikan diri berdasarkan harga purata bertimbangan kuantiti bertukar ((VWAP) dan kadar turun naik Garman-Klass ((GKV)). Strategi ini menyesuaikan gelombang standard deviasi VWAP secara dinamik dengan kadar turun naik, untuk mengesan trend pasaran secara pintar. Apabila harga membuka lebih banyak kedudukan apabila ia melintasi lintasan, dan meletakkan lebih banyak kedudukan apabila ia melintasi lintasan, semakin tinggi kadar turun naiknya dan semakin rendah kadar turun naiknya.

Prinsip Strategi

Strategi ini berpusat pada menggabungkan VWAP dengan kadar GKV. Pertama, VWAP dikira sebagai pusat harga, dan kemudian menggunakan perbezaan piawai harga penutupan untuk membina segmen. Kuncinya adalah menggunakan formula GKV untuk mengira kadar lonjakan, yang mempertimbangkan empat harga pembukaan dan penutupan, lebih tepat daripada kadar lonjakan tradisional.

Kelebihan Strategik

  1. Gabungan antara kuantiti dan ciri-ciri turun naik menjadikan isyarat lebih dipercayai
  2. Lebar gelombang menyesuaikan diri untuk mengurangkan gangguan bunyi
  3. Menggunakan kadar turun naik GKV untuk memahami struktur mikro pasaran dengan lebih tepat
  4. Logik pengiraan ringkas dan jelas, mudah dilaksanakan dan dipelihara
  5. Sesuai untuk pelbagai persekitaran pasaran, mempunyai kebolehgunaan yang kuat

Risiko Strategik

  1. Perdagangan di pasaran yang bergolak mungkin lebih kerap, meningkatkan kos
  2. Sensitiviti kepada tempoh VWAP dan kitaran kadar turun naik
  3. Mungkin bertindak balas perlahan apabila trend berbalik dengan cepat
  4. Keperluan untuk mendapatkan data semasa dan kualiti data yang lebih tinggi Cadangan kawalan risiko:
  • Menetapkan Stop Loss yang Bermakna
  • Parameter pengoptimuman untuk menyesuaikan diri dengan pasaran yang berbeza
  • Tambah penunjuk pengesahan arah aliran
  • Mengendalikan jumlah dana

Arah pengoptimuman strategi

  1. Pengenalan analisis pelbagai kitaran untuk meningkatkan kebolehpercayaan isyarat
  2. Meningkatkan analisis kuantiti transaksi untuk mengesahkan keberkesanan penembusan
  3. Kaedah pengiraan kadar turun naik yang dioptimumkan, seperti mempertimbangkan untuk memperkenalkan EWMA
  4. Penapis kekuatan trend ditambah
  5. Pertimbangan untuk memasukkan mekanisme hentian kerugian dinamik Pengoptimuman ini dapat meningkatkan kestabilan strategi dan kualiti hasil.

ringkaskan

Strategi ini mewujudkan pelacakan dinamik pasaran dengan menggabungkan inovasi kadar turun naik VWAP dan GKV. Ciri-ciri penyesuaiannya membolehkan ia mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran. Walaupun terdapat beberapa risiko yang berpotensi, dengan kawalan risiko yang munasabah dan pengoptimuman berterusan, strategi ini mempunyai prospek aplikasi yang baik.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Adaptive VWAP Bands with Garman Klass Volatility", overlay=true)

// Inputs
length = input.int(25, title="Volatility Length")
vwapLength = input.int(14, title="VWAP Length")
vol_multiplier = input.float(1,title="Volatility Multiplier")

// Function to calculate Garman-Klass Volatility
var float sum_gkv = na
if na(sum_gkv)
    sum_gkv := 0.0

sum_gkv := 0.0
for i = 0 to length - 1
    sum_gkv := sum_gkv + 0.5 * math.pow(math.log(high[i]/low[i]), 2) - (2*math.log(2)-1) * math.pow(math.log(close[i]/open[i]), 2)

gcv = math.sqrt(sum_gkv / length)

// VWAP calculation
vwap = ta.vwma(close, vwapLength)

// Standard deviation for VWAP bands
vwapStdDev = ta.stdev(close, vwapLength)

// Adaptive multiplier based on GCV
multiplier = (gcv / ta.sma(gcv, length)) * vol_multiplier

// Upper and lower bands
upperBand = vwap + (vwapStdDev * multiplier)
lowerBand = vwap - (vwapStdDev * multiplier)

// Plotting VWAP and bands
plot(vwap, title="VWAP", color=color.blue, linewidth=2)
plot(upperBand, title="Upper Band", color=color.green, linewidth=1)
plot(lowerBand, title="Lower Band", color=color.red, linewidth=1)

var barColor = color.black

// Strategy: Enter long above upper band, go to cash below lower band
if (close > upperBand)
    barColor := color.green
    strategy.entry("Long", strategy.long)
else if (close < lowerBand)
    barColor := color.fuchsia
    strategy.close("Long")

barcolor(barColor)