Sumber dimuat naik... memuat...

Strategi Perdagangan Penembusan VWAP Penyimpangan Standar Ganda Statistik

Penulis:ChaoZhang, Tarikh: 2025-01-06 16:31:36
Tag:VWAPSDVOLHL2

img

Ringkasan

Strategi ini adalah sistem penembusan trend berdasarkan VWAP (Volume Weighted Average Price) dan saluran penyimpangan standard. Ia membina julat harga dinamik dengan mengira VWAP dan jalur penyimpangan standard untuk menangkap peluang penembusan ke atas. Strategi ini terutamanya bergantung pada isyarat penembusan jalur penyimpangan standard untuk perdagangan, dengan sasaran keuntungan dan selang pesanan untuk mengawal risiko.

Prinsip Strategi

  1. Pengiraan Penunjuk Inti:
  • Mengira VWAP menggunakan harga HL2 intraday dan jumlah
  • Mengira penyimpangan standard berdasarkan turun naik harga
  • Tetapkan 1.28 kali band atas dan bawah penyimpangan piawai
  1. Logik Perdagangan:
  • Syarat kemasukan: harga melintasi bawah jalur bawah kemudian meningkat di atasnya
  • Syarat keluar: mencapai sasaran keuntungan yang telah ditetapkan
  • Jangkaan pesanan minimum untuk mengelakkan perdagangan yang kerap

Kelebihan Strategi

  1. Asas Statistik
  • Rujukan pusat harga berasaskan VWAP
  • Pengukuran turun naik menggunakan penyimpangan standard
  • Penyesuaian julat dagangan dinamik
  1. Kawalan Risiko
  • Penentuan sasaran keuntungan tetap
  • Kawalan kekerapan dagangan
  • Strategi jangka panjang hanya mengurangkan risiko

Risiko Strategi

  1. Risiko Pasaran
  • Penembusan palsu semasa turun naik yang tinggi
  • Kesukaran dalam masa yang tepat pembalikan trend
  • Peningkatan kerugian di pasaran penurunan
  1. Risiko Parameter
  • Sensitiviti kepada tetapan pengganda penyimpangan standard
  • Target keuntungan optimum diperlukan
  • Jangkaan dagangan mempengaruhi prestasi

Arahan pengoptimuman

  1. Pengoptimuman Isyarat
  • Tambah penapis trend
  • Masukkan pengesahan perubahan jumlah
  • Sertakan penunjuk teknikal tambahan
  1. Pengoptimuman Pengurusan Risiko
  • Penempatan stop-loss dinamik
  • Pengukuran kedudukan berdasarkan turun naik
  • Sistem pengurusan pesanan yang lebih baik

Ringkasan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan prinsip statistik dan analisis teknikal. Melalui gabungan VWAP dan jalur penyimpangan standard, ia membina sistem perdagangan yang agak boleh dipercayai. Kelebihan utamanya terletak pada asas statistik saintifik dan mekanisme kawalan risiko yang komprehensif, tetapi pengoptimuman berterusan parameter dan logika perdagangan masih diperlukan dalam aplikasi praktikal.


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

Berkaitan

Lebih lanjut