Strategi perdagangan terobosan kejutan VWAP dinamis deviasi standar ganda berdasarkan statistik kuantitatif

VWAP SD VOL HL2
Tanggal Pembuatan: 2025-01-06 16:31:36 Akhirnya memodifikasi: 2025-01-06 16:31:36
menyalin: 2 Jumlah klik: 438
1
fokus pada
1617
Pengikut

Strategi perdagangan terobosan kejutan VWAP dinamis deviasi standar ganda berdasarkan statistik kuantitatif

Ringkasan

Strategi ini adalah strategi terobosan tren berdasarkan VWAP (Volume Weighted Average Price) dan saluran deviasi standar. Ia membangun rentang fluktuasi harga yang dinamis dengan menghitung VWAP dan saluran deviasi standar atas dan bawah untuk menangkap peluang perdagangan saat harga naik. Strategi ini terutama bergantung pada sinyal terobosan pita deviasi standar untuk perdagangan, dan menetapkan target keuntungan dan interval pemesanan untuk mengendalikan risiko.

Prinsip Strategi

  1. Perhitungan indikator inti:
  • Hitung VWAP menggunakan harga dan volume HL2 intraday
  • Hitung deviasi standar berdasarkan fluktuasi harga
  • Tetapkan 1,28 kali deviasi standar saluran atas dan bawah
  1. Logika transaksi:
  • Kondisi masuk: Harga melewati jalur bawah dan kemudian naik ke jalur atas
  • Kondisi keluar: mencapai target keuntungan yang telah ditetapkan
  • Tetapkan interval pesanan minimum untuk menghindari perdagangan yang sering

Keunggulan Strategis

  1. Statistik Dasar
  • Referensi Pivot Harga Berdasarkan VWAP
  • Menggunakan deviasi standar untuk mengukur volatilitas
  • Sesuaikan rentang perdagangan secara dinamis
  1. Pengendalian Risiko
  • Tetapkan target keuntungan tetap
  • Mengontrol frekuensi transaksi
  • Strategi long-only mengurangi risiko

Risiko Strategis

  1. Risiko Pasar
  • Volatilitas yang liar dapat menyebabkan breakout palsu
  • Sulit untuk memahami secara akurat titik balik tren ini
  • Penurunan pasar secara sepihak menyebabkan kerugian yang lebih besar
  1. Parameter Risiko
  • Pengaturan sensitivitas kelipatan deviasi standar
  • Penetapan target laba perlu dioptimalkan
  • Interval perdagangan memengaruhi kinerja

Arah optimasi

  1. Optimasi Sinyal
  • Tambahkan filter penilaian tren
  • Dikonfirmasi oleh perubahan volume perdagangan
  • Tambahkan indikator teknis lainnya untuk memverifikasi
  1. Optimasi manajemen risiko
  • Mengatur posisi stop loss secara dinamis
  • Sesuaikan posisi berdasarkan volatilitas
  • Meningkatkan mekanisme manajemen pesanan

Meringkaskan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan prinsip statistik dan analisis teknis. Melalui koordinasi VWAP dan pita deviasi standar, sistem perdagangan yang relatif andal dibangun. Keuntungan inti dari strategi ini terletak pada dasar statistik ilmiah dan mekanisme pengendalian risiko yang sempurna, tetapi masih perlu mengoptimalkan parameter dan logika perdagangan secara terus-menerus dalam aplikasi praktis.

Kode Sumber Strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5 
strategy("VWAP Stdev Bands Strategy (Long Only)", overlay=true)

// Standard Deviation Inputs
devUp1 = input.float(1.28, title="Stdev above (1)")
devDn1 = input.float(1.28, title="Stdev below (1)")

// Show Options
showPrevVWAP = input(false, title="Show previous VWAP close?")
profitTarget = input.float(2, title="Profit Target ($)", minval=0) // Profit target for closing orders
gapMinutes = input.int(15, title="Gap before new order (minutes)", minval=0) // Gap for placing new orders

// VWAP Calculation
var float vwapsum = na
var float volumesum = na
var float v2sum = na
var float prevwap = na // Track the previous VWAP
var float lastEntryPrice = na // Track the last entry price
var int lastEntryTime = na // Track the time of the last entry

start = request.security(syminfo.tickerid, "D", time)
newSession = ta.change(start)

vwapsum := newSession ? hl2 * volume : vwapsum[1] + hl2 * volume
volumesum := newSession ? volume : volumesum[1] + volume
v2sum := newSession ? volume * hl2 * hl2 : v2sum[1] + volume * hl2 * hl2

myvwap = vwapsum / volumesum
dev = math.sqrt(math.max(v2sum / volumesum - myvwap * myvwap, 0))

// Calculate Upper and Lower Bands
lowerBand1 = myvwap - devDn1 * dev
upperBand1 = myvwap + devUp1 * dev

// Plot VWAP and Bands with specified colors
plot(myvwap, style=plot.style_line, title="VWAP", color=color.green, linewidth=1)
plot(upperBand1, style=plot.style_line, title="VWAP Upper (1)", color=color.blue, linewidth=1)
plot(lowerBand1, style=plot.style_line, title="VWAP Lower (1)", color=color.red, linewidth=1)

// Trading Logic (Long Only)
longCondition = close < lowerBand1 and close[1] >= lowerBand1 // Price crosses below the lower band

// Get the current time in minutes
currentTime = timestamp("GMT-0", year(timenow), month(timenow), dayofmonth(timenow), hour(timenow), minute(timenow))

// Check if it's time to place a new order based on gap
canPlaceNewOrder = na(lastEntryTime) or (currentTime - lastEntryTime) >= gapMinutes * 60 * 1000

// Close condition based on profit target
if (strategy.position_size > 0)
    if (close - lastEntryPrice >= profitTarget)
        strategy.close("B")
        lastEntryTime := na // Reset last entry time after closing

// Execute Long Entry
if (longCondition and canPlaceNewOrder)
    strategy.entry("B", strategy.long)
    lastEntryPrice := close // Store the entry price
    lastEntryTime := currentTime // Update the last entry time

    // Add label for the entry
    label.new(bar_index, close, "B", style=label.style_label_down, color=color.green, textcolor=color.white, size=size.small)

// Optional: Plot previous VWAP for reference
prevwap := newSession ? myvwap[1] : prevwap[1]
plot(showPrevVWAP ? prevwap : na, style=plot.style_circles, color=close > prevwap ? color.green : color.red)