Sumber dimuat naik... memuat...

VWAP dan Strategi Beli/Jual Super Trend

Penulis:ChaoZhang, Tarikh: 2024-06-03 10:45:14
Tag:VWAPATR

img

Ringkasan

Strategi ini menggabungkan indikator VWAP (Volume Weighted Average Price) dan Supertrend. Ia menentukan isyarat beli dan jual dengan membandingkan kedudukan harga berbanding dengan VWAP dan arah indikator Supertrend. Isyarat beli dihasilkan apabila harga melintasi di atas VWAP dan Supertrend positif, sementara isyarat jual dihasilkan apabila harga melintasi di bawah VWAP dan Supertrend negatif. Strategi ini juga mengelakkan menghasilkan isyarat berulang dengan merekodkan keadaan isyarat sebelumnya sehingga isyarat bertentangan muncul.

Prinsip Strategi

  1. Mengira penunjuk VWAP menggunakan fungsi ta.vwap, dengan panjang VWAP yang boleh disesuaikan.
  2. Mengira penunjuk Supertrend menggunakan fungsi ta.supertrend, dengan tempoh ATR dan pengganda yang boleh disesuaikan.
  3. Tentukan keadaan beli: harga semasa melintasi di atas VWAP dan arah Supertrend adalah positif.
  4. Tentukan keadaan jual: harga semasa melintasi di bawah VWAP dan arah Supertrend adalah negatif.
  5. Mencatatkan keadaan isyarat sebelumnya untuk mengelakkan isyarat berturut-turut dalam arah yang sama. Isyarat perdagangan baru dihasilkan hanya apabila isyarat semasa berbeza dengan yang sebelumnya.

Kelebihan Strategi

  1. Menggabungkan penunjuk VWAP dan Supertrend untuk penilaian yang lebih komprehensif mengenai trend pasaran dan titik perubahan yang berpotensi.
  2. Penunjuk VWAP mengambil kira jumlah, yang lebih mencerminkan pergerakan pasaran yang sebenar.
  3. Indikator Supertrend mempunyai ciri-ciri trend-mengikuti dan penapisan osilasi, membantu menangkap trend utama.
  4. Mekanisme untuk mengelakkan isyarat berganda mengurangkan kekerapan perdagangan dan mengurangkan kos transaksi.

Risiko Strategi

  1. Semasa tempoh turun naik pasaran yang tinggi atau trend yang tidak jelas, strategi boleh menghasilkan lebih banyak isyarat palsu.
  2. Prestasi strategi bergantung kepada pilihan parameter VWAP dan Supertrend; tetapan yang berbeza boleh membawa kepada hasil yang berbeza.
  3. Strategi ini tidak merangkumi pengurusan risiko dan saiz kedudukan, yang perlu digabungkan dengan langkah-langkah lain untuk mengawal risiko dalam aplikasi praktikal.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan mekanisme pengesahan trend, seperti menggunakan purata bergerak atau penunjuk trend lain, untuk menapis isyarat lebih lanjut.
  2. Mengoptimumkan pemilihan parameter dengan menguji semula data sejarah untuk mencari kombinasi terbaik panjang VWAP, tempoh ATR, dan pengganda.
  3. Melaksanakan langkah pengurusan risiko, seperti stop-loss dan mengambil keuntungan, untuk mengawal risiko perdagangan individu.
  4. Pertimbangkan untuk menggabungkan strategi pengurusan wang, seperti pecahan tetap atau Kriteria Kelly, untuk mengoptimumkan saiz kedudukan.

Ringkasan

Strategi VWAP dan Supertrend Buy/Sell bertujuan untuk menangkap secara komprehensif trend pasaran dan titik perubahan yang berpotensi dengan menggabungkan dua jenis penunjuk yang berbeza. Logik strategi jelas dan mudah dilaksanakan dan dioptimumkan. Walau bagaimanapun, prestasi strategi bergantung pada pemilihan parameter dan tidak mempunyai langkah pengurusan risiko. Dalam aplikasi praktikal, pengoptimuman dan penyempurnaan lanjut diperlukan untuk menyesuaikan diri dengan keadaan pasaran dan keperluan perdagangan yang berbeza.


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

//@version=5
strategy(title="VWAP and Super Trend Buy/Sell Strategy", shorttitle="VWAPST", overlay=true)


//===== VWAP =====
showVWAP = input.bool(title="Show VWAP", defval=true, group="VWAP")
VWAPSource = input.source(title="VWAP Source", defval=hl2, group="VWAP")
VWAPrice = ta.vwap(VWAPSource)
plot(showVWAP ? VWAPrice : na, color=color.teal, title="VWAP", linewidth=2)


//===== Super Trend =====
showST = input.bool(true, "Show SuperTrend Indicator", group="Super Trend")
Period = input.int(title="ATR Period", defval=10, group="Super Trend")
Multiplier = input.float(title="ATR Multiplier", defval=2.0, group="Super Trend")


// Super Trend ATR
Up = hl2 - (Multiplier * ta.atr(Period))
Dn = hl2 + (Multiplier * ta.atr(Period))
var float TUp = na
var float TDown = na
TUp := na(TUp[1]) ? Up : close[1] > TUp[1] ? math.max(Up, TUp[1]) : Up
TDown := na(TDown[1]) ? Dn : close[1] < TDown[1] ? math.min(Dn, TDown[1]) : Dn
var int Trend = na
Trend := na(Trend[1]) ? 1 : close > TDown[1] ? 1 : close < TUp[1] ? -1 : Trend[1]


Tsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 ? color.green : color.red
plot(showST ? Tsl : na, color=linecolor, style=plot.style_line, linewidth=2, title="SuperTrend")


// Buy/Sell Conditions
var bool previousBuysignal = false
var bool previousSellsignal = false


buysignal = not previousBuysignal and Trend == 1 and close > VWAPrice
sellsignal = not previousSellsignal and Trend == -1 and close < VWAPrice


// Ensure the signals are not repetitive
if (buysignal)
    previousBuysignal := true
    previousSellsignal := false
else if (sellsignal)
    previousBuysignal := false
    previousSellsignal := true


// Execute buy and sell orders
if (buysignal)
    strategy.entry("Buy", strategy.long)
if (sellsignal)
    strategy.entry("Sell", strategy.short)


// Plot Buy/Sell Labels
//plotshape(buysignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.normal)
//plotshape(sellsignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.normal)


Berkaitan

Lebih lanjut