Strategi perbezaan pengayun aliran turun naik,

WT VWAP
Tarikh penciptaan: 2024-05-28 17:43:54 Akhirnya diubah suai: 2024-05-28 17:43:54
Salin: 0 Bilangan klik: 721
1
fokus pada
1617
Pengikut

Strategi perbezaan pengayun aliran turun naik,

Gambaran keseluruhan

Strategi ini menggabungkan indikator WaveTrend yang bergolak ((WT) dan harga purata yang bertimbangan dengan jumlah transaksi ((VWAP) untuk menangkap peluang pembalikan trend yang berpotensi dengan mengenal pasti harga dan penyimpangan indikator. Strategi ini menggunakan ATR ((Average True Range) untuk menentukan kedudukan hentian dan menyesuaikan skala kedudukan secara dinamik mengikut peratusan risiko akaun.

Prinsip Strategi

  1. Mengira Indeks Gelombang WaveTrend ((WT): Menjana Indeks Gelombang Dinamika dengan membandingkan harga semasa dengan perbezaan antara saluran dan purata.
  2. Hitung jumlah transaksi dengan harga purata bertimbangan ((VWAP): Menggunakan jumlah transaksi sebagai berat untuk mengira harga purata bergerak.
  3. Kenali ketidaksesuaian antara harga dan WT: Apabila harga mencipta tinggi/rendah baru dan penunjuk gagal mencipta tinggi/rendah baru, ini menunjukkan kemungkinan pembalikan trend.
  4. Syarat kemasukan: Apabila mengenal pasti bahawa harga turun, anda perlu membuka lebih banyak kedudukan; Apabila mengenal pasti bahawa harga turun, anda perlu menutup kedudukan.
  5. Hentikan: Tetapkan kedudukan hentikan dinamik berdasarkan ATR (Average True Range).
  6. Saiz kedudukan: Saiz kedudukan untuk setiap dagangan yang disesuaikan secara dinamik mengikut peratusan risiko akaun dan jarak hentian.
  7. Warna latar belakang: Warna latar belakang berubah mengikut tahap overbought / oversold indikator, memberikan isyarat visual tambahan.

Analisis kelebihan

  1. Pengesanan Trend: Dengan mengenal pasti harga dan penunjuk yang menyimpang, strategi ini dapat menangkap peluang untuk membalikkan trend.
  2. Pengurusan risiko: Menggunakan hentian dinamik berasaskan ATR dan menyesuaikan saiz kedudukan mengikut peratusan risiko, membantu mengawal potensi kerugian.
  3. Petunjuk visual: Warna latar belakang berubah mengikut keadaan overbought / oversold indikator, memberikan isyarat visual tambahan kepada peniaga.
  4. Fleksibiliti: Parameter strategi (seperti panjang saluran, panjang purata, tahap overbought/oversold) boleh disesuaikan mengikut keadaan pasaran dan gaya perdagangan yang berbeza.

Analisis risiko

  1. Pasaran goyah: Strategi ini mungkin mengalami kerugian berturut-turut dalam keadaan pasaran tanpa trend yang jelas.
  2. Optimasi parameter: Prestasi strategi ini sangat bergantung pada pilihan parameter, dan penyetempatan parameter yang tidak betul boleh menyebabkan hasil suboptimal.
  3. Overtrading: Isyarat masuk dan keluar yang kerap boleh menyebabkan kos dagangan yang lebih tinggi, menjejaskan prestasi keseluruhan strategi.

Arah pengoptimuman

  1. Penapisan trend: Apabila berlaku penyimpangan, pengenalan penunjuk pengesahan trend tambahan (seperti purata bergerak) untuk menapis isyarat palsu yang berpotensi.
  2. Parameter dinamik: Parameter penunjuk yang disesuaikan dengan turun naik pasaran, menggunakan saluran yang lebih pendek dan panjang purata apabila turun naiknya rendah, menggunakan parameter yang lebih lama apabila turun naiknya tinggi.
  3. Hentikan: memperkenalkan tahap hentikan dinamik berdasarkan nisbah pulangan risiko atau harga sasaran untuk menguruskan kedudukan yang telah diperolehi dengan lebih baik.
  4. Penapisan pelbagai ruang: Menapis isyarat perdagangan berdasarkan arah trend keseluruhan pasaran (seperti purata bergerak jangka panjang) dan hanya berdagang di arah trend.

ringkaskan

Strategi WaveTrend Oscillator Divergence menggabungkan indikator trend yang bergolak dan harga purata yang bertimbangan dengan jumlah transaksi untuk mengenal pasti peluang pembalikan trend yang berpotensi. Strategi ini mempunyai kelebihan dalam keupayaan untuk menjejaki trend dan langkah-langkah pengurusan risiko, tetapi mungkin menghadapi risiko dalam pasaran yang bergolak.

Kod sumber 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")