Sumber daya yang dimuat... Pemuatan...

Strategi Divergensi Osilator WaveTrend

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

img

Gambaran umum

Strategi ini menggabungkan WaveTrend Oscillator (WT) dan Volume Weighted Average Price (VWAP) untuk menangkap peluang pembalikan tren potensial dengan mengidentifikasi perbedaan antara harga dan indikator. Strategi ini menggunakan Average True Range (ATR) untuk menentukan tingkat stop-loss dan secara dinamis menyesuaikan ukuran posisi berdasarkan persentase risiko akun. Kekuatan utama strategi terletak pada kemampuan mengikuti tren dan langkah-langkah manajemen risiko, tetapi dapat mengalami kerugian di pasar yang berbelit-belit. Arahan optimalisasi termasuk menambahkan filter tambahan dan meningkatkan aturan masuk dan keluar.

Prinsip Strategi

  1. Menghitung WaveTrend Oscillator (WT): Menghasilkan momentum oscillator dengan membandingkan harga saat ini dengan saluran dan rata-rata.
  2. Menghitung Harga Rata-Rata Tertimbang Volume (VWAP): Menghitung harga rata-rata bergerak yang tertimbang oleh volume.
  3. Mengidentifikasi perbedaan antara harga dan indikator WT: Potensi pembalikan tren ditunjukkan ketika harga membuat tinggi/rendah baru sementara indikator gagal melakukannya.
  4. Kondisi masuk: Buka posisi panjang ketika divergensi bullish diidentifikasi; tutup posisi ketika divergensi bearish diidentifikasi.
  5. Stop-loss: Tetapkan tingkat stop-loss dinamis berdasarkan Average True Range (ATR).
  6. Ukuran posisi: Sesuaikan secara dinamis ukuran posisi untuk setiap perdagangan berdasarkan persentase risiko akun dan jarak stop-loss.
  7. Warna latar belakang: Ubah warna latar belakang berdasarkan tingkat overbought/oversold dari indikator, memberikan isyarat visual tambahan.

Analisis Keuntungan

  1. Mengikuti tren: Dengan mengidentifikasi perbedaan antara harga dan indikator, strategi dapat menangkap potensi peluang pembalikan tren.
  2. Manajemen risiko: Penggunaan stop-loss dinamis berbasis ATR dan ukuran posisi berdasarkan persentase risiko membantu mengendalikan potensi kerugian.
  3. Isyarat visual: Warna latar belakang berubah berdasarkan keadaan overbought/oversold dari indikator, memberikan sinyal visual tambahan kepada pedagang.
  4. Fleksibilitas: Parameter strategi (misalnya, panjang saluran, panjang rata-rata, tingkat overbought/oversold) dapat disesuaikan sesuai dengan kondisi pasar dan gaya perdagangan yang berbeda.

Analisis Risiko

  1. Pasar bergolak: Dalam kondisi pasar yang tidak memiliki tren yang jelas, strategi dapat mengalami kerugian berturut-turut.
  2. Optimasi parameter: Kinerja strategi sangat tergantung pada pilihan parameter, dan pengaturan parameter yang tidak optimal dapat menyebabkan hasil yang tidak rata-rata.
  3. Overtrading: Sinyal masuk dan keluar yang sering dapat mengakibatkan biaya perdagangan yang tinggi, yang mempengaruhi kinerja keseluruhan strategi.

Arahan Optimasi

  1. Filter tren: Memperkenalkan indikator konfirmasi tren tambahan (misalnya, rata-rata bergerak) ketika divergensi terjadi untuk menyaring sinyal palsu potensial.
  2. Parameter dinamis: Sesuaikan parameter indikator berdasarkan volatilitas pasar, menggunakan saluran yang lebih pendek dan panjang rata-rata selama volatilitas rendah dan parameter yang lebih panjang selama volatilitas tinggi.
  3. Take-profit: Memperkenalkan tingkat take-profit dinamis berdasarkan rasio risiko-manfaat atau harga target untuk mengelola posisi yang menguntungkan dengan lebih baik.
  4. Filter panjang/pendek: Filter sinyal perdagangan berdasarkan arah tren pasar secara keseluruhan (misalnya, rata-rata bergerak jangka panjang) untuk hanya berdagang ke arah tren.

Ringkasan

WaveTrend Oscillator Divergence Strategy menggabungkan indikator WaveTrend dan Volume Weighted Average Price untuk mengidentifikasi peluang pembalikan tren potensial. Kekuatan strategi terletak pada kemampuan mengikuti tren dan langkah-langkah manajemen risiko, tetapi dapat menghadapi risiko di pasar yang berbelit-belit. Strategi dapat lebih dioptimalkan dengan memperkenalkan filter tambahan, penyesuaian parameter dinamis, dan peraturan masuk dan keluar yang ditingkatkan. Backtesting menyeluruh dan analisis prospektif sangat penting sebelum menerapkan 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 banyak