Sumber dimuat naik... memuat...

WaveTrend Oscillator Divergence Strategi

Penulis:ChaoZhang, Tarikh: 2024-05-28 17:43:54
Tag:WTVWAP

img

Ringkasan

Strategi ini menggabungkan WaveTrend Oscillator (WT) dan Volume Weighted Average Price (VWAP) untuk menangkap peluang pembalikan trend yang berpotensi dengan mengenal pasti perbezaan antara harga dan penunjuk. Strategi ini menggunakan Average True Range (ATR) untuk menentukan tahap stop-loss dan secara dinamik menyesuaikan saiz kedudukan berdasarkan peratusan risiko akaun. Kekuatan utama strategi terletak pada keupayaan mengikuti trend dan langkah pengurusan risiko, tetapi ia mungkin mengalami kerugian di pasaran yang berbelit-belit. Arahan pengoptimuman termasuk menambah penapis tambahan dan meningkatkan peraturan masuk dan keluar.

Prinsip Strategi

  1. Mengira WaveTrend Oscillator (WT): Menghasilkan oscillator momentum dengan membandingkan harga semasa dengan saluran dan purata.
  2. Mengira Harga Purata Bertimbang Volume (VWAP): Mengira harga purata bergerak yang diberi berat oleh jumlah.
  3. Mengenal pasti perbezaan antara harga dan penunjuk WT: Pembalikan trend yang berpotensi ditunjukkan apabila harga membuat tinggi / rendah baru sementara penunjuk gagal melakukannya.
  4. Syarat kemasukan: Buka kedudukan panjang apabila perbezaan menaik dikenal pasti; tutup kedudukan apabila perbezaan menurun dikenal pasti.
  5. Stop-loss: Tetapkan tahap stop-loss dinamik berdasarkan Julat Benar Purata (ATR).
  6. Ukuran kedudukan: Sesuaikan secara dinamik saiz kedudukan untuk setiap perdagangan berdasarkan peratusan risiko akaun dan jarak stop-loss.
  7. Warna latar belakang: Ubah warna latar belakang berdasarkan tahap overbought / oversold penunjuk, menyediakan isyarat visual tambahan.

Analisis Kelebihan

  1. Mengikuti trend: Dengan mengenal pasti perbezaan antara harga dan penunjuk, strategi dapat menangkap peluang pembalikan trend yang berpotensi.
  2. Pengurusan risiko: Penggunaan stop-loss dinamik berasaskan ATR dan saiz kedudukan berdasarkan peratusan risiko membantu mengawal potensi kerugian.
  3. Isyarat visual: Warna latar belakang berubah berdasarkan keadaan overbought / oversold penunjuk, memberikan isyarat visual tambahan kepada peniaga.
  4. Fleksibiliti: Parameter strategi (contohnya, panjang saluran, panjang purata, tahap overbought / oversold) boleh diselaraskan untuk memenuhi keadaan pasaran dan gaya perdagangan yang berbeza.

Analisis Risiko

  1. Pasaran yang berbelit-belit: Dalam keadaan pasaran yang tidak mempunyai trend yang jelas, strategi boleh mengalami kerugian berturut-turut.
  2. Pengoptimuman parameter: Prestasi strategi sebahagian besarnya bergantung pada pilihan parameter, dan tetapan parameter yang kurang optimum boleh membawa kepada hasil yang kurang.
  3. Overtrading: Isyarat masuk dan keluar yang kerap boleh mengakibatkan kos perdagangan yang tinggi, yang mempengaruhi prestasi keseluruhan strategi.

Arahan pengoptimuman

  1. Penapis trend: Memperkenalkan penunjuk pengesahan trend tambahan (contohnya, purata bergerak) apabila perbezaan berlaku untuk menapis isyarat palsu yang berpotensi.
  2. Parameter dinamik: Sesuaikan parameter penunjuk berdasarkan turun naik pasaran, menggunakan saluran yang lebih pendek dan panjang purata semasa turun naik rendah dan parameter yang lebih lama semasa turun naik tinggi.
  3. Mengambil keuntungan: Memperkenalkan tahap mengambil keuntungan dinamik berdasarkan nisbah risiko-balasan atau harga sasaran untuk menguruskan kedudukan yang menguntungkan dengan lebih baik.
  4. Penapis panjang/pendek: Menapis isyarat dagangan berdasarkan arah trend keseluruhan pasaran (contohnya, purata bergerak jangka panjang) untuk hanya berdagang ke arah trend.

Ringkasan

Strategi WaveTrend Oscillator Divergence menggabungkan penunjuk WaveTrend dan Harga Purata Bertimbang Volume untuk mengenal pasti peluang pembalikan trend yang berpotensi. Kekuatan strategi terletak pada keupayaan mengikuti trend dan langkah pengurusan risiko, tetapi ia mungkin menghadapi risiko di pasaran yang bergolak. Strategi ini boleh dioptimumkan lagi dengan memperkenalkan penapis tambahan, penyesuaian parameter dinamik, dan peraturan kemasukan dan keluar yang lebih baik. Ujian balik menyeluruh dan analisis berpandangan ke hadapan adalah penting sebelum melaksanakan strategi.


/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PipShiesty Swagger", overlay=true)

// WaveTrend Oscillator (WT)
n1 = input.int(10, "Channel Length")
n2 = input.int(21, "Average Length")
obLevel1 = input.float(60.0, "Overbought Level 1")
obLevel2 = input.float(53.0, "Overbought Level 2")
osLevel1 = input.float(-60.0, "Oversold Level 1")
osLevel2 = input.float(-53.0, "Oversold Level 2")

ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

// VWAP
vwap = ta.vwma(close, n1)

// Signal Line
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Bullish and Bearish Divergences
bullishDivergence = (ta.lowest(close, 5) > ta.lowest(close[1], 5)) and (wt1 < wt1[1]) and (close > close[1])
bearishDivergence = (ta.highest(close, 5) < ta.highest(close[1], 5)) and (wt1 > wt1[1]) and (close < close[1])

// Plot WaveTrend Oscillator
plot(wt1, title="WT1", color=color.blue)
plot(wt2, title="WT2", color=color.red)

// Plot Divergences
plotshape(series=bullishDivergence, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Divergence")
plotshape(series=bearishDivergence, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Divergence")

// Risk Management Parameters
riskPercentage = input.float(1, title="Risk Percentage per Trade", minval=0.1, step=0.1) / 100
stopLossATR = input.float(1.5, title="Stop Loss ATR Multiplier", minval=0.5, step=0.1)

// ATR Calculation
atr = ta.atr(14)

// Position Size Calculation
calculatePositionSize(stopLoss) =>
    riskAmount = strategy.equity * riskPercentage
    positionSize = riskAmount / stopLoss
    positionSize

// Entry and Exit Logic with Stop Loss
if bullishDivergence
    stopLoss = low - atr * stopLossATR
    positionSize = calculatePositionSize(close - stopLoss)
    strategy.entry("Buy", strategy.long, qty=positionSize)
    strategy.exit("Sell", from_entry="Buy", stop=stopLoss)

if bearishDivergence
    strategy.close("Buy")

// Plot VWAP
plot(vwap, title="VWAP", color=color.orange)

// Background color to indicate Overbought/Oversold conditions
bgcolor(wt1 > obLevel1 ? color.new(color.red, 90) : na, title="Overbought Level 1")
bgcolor(wt1 < osLevel1 ? color.new(color.green, 90) : na, title="Oversold Level 1")
bgcolor(wt1 > obLevel2 ? color.new(color.red, 70) : na, title="Overbought Level 2")
bgcolor(wt1 < osLevel2 ? color.new(color.green, 70) : na, title="Oversold Level 2")


Berkaitan

Lebih lanjut