Strategi Pembalikan Volatilitas VWAP Sistem Breakout Panjang dan Pendek pada Saluran Deviasi Standar

VWAP SD SMA ATR RSI
Tanggal Pembuatan: 2025-02-20 09:33:31 Akhirnya memodifikasi: 2025-02-20 09:33:31
menyalin: 1 Jumlah klik: 469
2
fokus pada
319
Pengikut

Strategi Pembalikan Volatilitas VWAP Sistem Breakout Panjang dan Pendek pada Saluran Deviasi Standar Strategi Pembalikan Volatilitas VWAP Sistem Breakout Panjang dan Pendek pada Saluran Deviasi Standar

Ringkasan

Strategi ini adalah sistem perdagangan yang didasarkan pada VWAP (volume weighted average price) dan saluran standard deviasi, yang melakukan perdagangan dengan mengidentifikasi bentuk reversal harga di batas saluran. Strategi ini menggabungkan konsep perdagangan yang dinamis dan regresi rata-rata untuk menangkap peluang perdagangan ketika harga menembus titik teknis kunci.

Prinsip Strategi

Inti dari strategi ini adalah dengan menggunakan VWAP sebagai pusat harga untuk membangun saluran atas dan bawah dengan menggunakan standar deviasi 20 siklus. Carilah kesempatan untuk melakukan lebih banyak di dekat rel bawah, carilah kesempatan untuk melakukan lebih sedikit di dekat rel atas.

  • Berbagai kondisi: Harga membentuk pola bullish reversal di bawah rel, kemudian menerobos titik tinggi yang sebelumnya
  • Kondisi kosong: harga di atas rel membentuk pola turun, kemudian menerobos titik terendah di garis negatif sebelumnya
  • Pengaturan Stop Stop: melakukan over dengan tujuan VWAP dan di atas rel, melakukan over dengan tujuan di bawah rel
  • Stop loss setting: melakukan over untuk reverse yang terendah stop loss, melakukan short untuk reverse yang teratas stop loss

Keunggulan Strategis

  1. Menggabungkan keuntungan dari trend tracking dan reversal trading, Anda dapat menangkap perpanjangan tren dan juga peluang untuk reversal.
  2. Menggunakan VWAP sebagai indikator utama, dapat lebih mencerminkan penawaran dan permintaan pasar yang sebenarnya
  3. Menggunakan metode batch stop, Anda bisa mendapatkan keuntungan dengan harga yang berbeda
  4. Pengaturan Stop Loss yang Rasional dan Mengontrol Risiko Secara Efektif
  5. Logika kebijakan yang jelas, pengaturan parameter yang sederhana, mudah dipahami dan dilaksanakan

Risiko Strategis

  1. Stop loss yang mungkin sering terjadi dalam pasar yang bergejolak
  2. Fase pengelompokan horizontal mungkin menghasilkan terlalu banyak sinyal palsu
  3. Periode waktu yang lebih sensitif terhadap perhitungan VWAP
  4. Standard deviasi channel width mungkin tidak cocok untuk semua kondisi pasar
  5. Mungkin melewatkan beberapa peluang tren penting

Arah optimasi strategi

  1. Masukkan filter lalu lintas untuk meningkatkan kualitas sinyal
  2. Meningkatkan indikator pengakuan tren, seperti sistem moving average
  3. Siklus standar deviasi yang disesuaikan dengan kondisi pasar yang berbeda
  4. Mengoptimalkan rasio batch-stop dan meningkatkan pendapatan secara keseluruhan
  5. Tambahkan filter waktu untuk menghindari perdagangan di saat yang tidak menguntungkan
  6. Pertimbangan untuk meningkatkan indikator volatilitas, optimalisasi manajemen posisi

Meringkaskan

Ini adalah sistem perdagangan lengkap yang menggabungkan VWAP, saluran standard deviasi dan bentuk harga. Strategi melakukan perdagangan dengan mencari sinyal reversal pada harga kunci, dan mengelola risiko dengan stop-loss dan stop-loss yang masuk akal. Meskipun ada beberapa keterbatasan, strategi dapat ditingkatkan lebih lanjut dengan stabilitas dan profitabilitas melalui arah optimasi yang disarankan.

Kode Sumber Strategi
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6  
strategy("VRS Strategy", overlay=true)  

// Calculate VWAP  
vwapValue = ta.vwap(close)  

// Calculate standard deviation for the bands  
stdDev = ta.stdev(close, 20) // 20-period standard deviation for bands  
upperBand = vwapValue + stdDev  
lowerBand = vwapValue - stdDev  

// Plot VWAP and its bands  
plot(vwapValue, color=color.blue, title="VWAP", linewidth=2)  
plot(upperBand, color=color.new(color.green, 0), title="Upper Band", linewidth=2)  
plot(lowerBand, color=color.new(color.red, 0), title="Lower Band", linewidth=2)  

// Signal Conditions  
var float previousGreenCandleHigh = na  
var float previousGreenCandleLow = na  
var float previousRedCandleLow = na  

// Detect bearish candle close below lower band  
bearishCloseBelowLower = close[1] < lowerBand and close[1] < open[1]  

// Detect bullish reversal candle after a bearish close below lower band  
bullishCandle = close > open and low < lowerBand // Ensure it's near the lower band  
candleReversalCondition = bearishCloseBelowLower and bullishCandle  

if (candleReversalCondition)  
    previousGreenCandleHigh := high[1]  // Capture the high of the previous green candle  
    previousGreenCandleLow := low[1]     // Capture the low of the previous green candle  
    previousRedCandleLow := na            // Reset previous red candle low  

// Buy entry condition: next candle breaks the high of the previous green candle  
buyEntryCondition = not na(previousGreenCandleHigh) and close > previousGreenCandleHigh  

if (buyEntryCondition)  
    // Set stop loss below the previous green candle  
    stopLoss = previousGreenCandleLow   
    risk = close - stopLoss // Calculate risk for position sizing  

    // Target Levels  
    target1 = vwapValue // Target 1 is at VWAP  
    target2 = upperBand  // Target 2 is at the upper band  

    // Ensure we only enter the trade near the lower band  
    if (close < lowerBand)  
        strategy.entry("Buy", strategy.long)  
        
        // Set exit conditions based on targets  
        strategy.exit("Take Profit 1", from_entry="Buy", limit=target1)  
        strategy.exit("Take Profit 2", from_entry="Buy", limit=target2)  
        strategy.exit("Stop Loss", from_entry="Buy", stop=stopLoss)  

// Sell signal condition: Wait for a bearish candle near the upper band  
bearishCandle = close < open and high > upperBand // A bearish candle should be formed near the upper band  
sellSignalCondition = bearishCandle  

if (sellSignalCondition)  
    previousRedCandleLow := low[1] // Capture the low of the current bearish candle  

    // Sell entry condition: next candle breaks the low of the previous bearish candle  
    sellEntryCondition = not na(previousRedCandleLow) and close < previousRedCandleLow  

    if (sellEntryCondition)  
        // Set stop loss above the previous bearish candle  
        stopLossSell = previousRedCandleLow + (high[1] - previousRedCandleLow) // Set stop loss above the bearish candle  
        targetSell = lowerBand // Target for sell is at the lower band  

        // Ensure we only enter the trade near the upper band  
        if (close > upperBand)  
            strategy.entry("Sell", strategy.short)  
            
            // Set exit conditions for sell  
            strategy.exit("Take Profit Sell", from_entry="Sell", limit=targetSell)  
            strategy.exit("Stop Loss Sell", from_entry="Sell", stop=stopLossSell)  

// Reset previous values when a trade occurs  
if (strategy.position_size > 0)  
    previousGreenCandleHigh := na  
    previousGreenCandleLow := na  
    previousRedCandleLow := na