Strategi Jual Beli VWAP dan SuperTrend

VWAP ATR
Tanggal Pembuatan: 2024-06-03 10:45:14 Akhirnya memodifikasi: 2024-06-03 10:45:14
menyalin: 0 Jumlah klik: 1114
1
fokus pada
1617
Pengikut

Strategi Jual Beli VWAP dan SuperTrend

Ringkasan

Strategi ini menggabungkan VWAP dan indikator supertrend. Untuk menilai sinyal jual beli, membandingkan posisi relatif harga dengan VWAP, dan arah indikator supertrend. Ketika harga melewati VWAP dan supertrend positif, menghasilkan sinyal beli; Ketika harga melewati VWAP dan supertrend negatif, menghasilkan sinyal jual.

Prinsip Strategi

  1. Untuk menghitung indikator VWAP, gunakan fungsi ta.vwap, yang dapat menyesuaikan panjang VWAP.
  2. Untuk menghitung indikator supertrend, gunakan fungsi ta.supertrend, yang dapat menyesuaikan siklus dan perkalian ATR.
  3. Untuk menilai kondisi pembelian: VWAP di atas harga saat ini, dan arah supertrend positif.
  4. Kondisi jual: VWAP di bawah harga saat ini, dan arah supertrend negatif.
  5. Mencatat status sinyal terakhir, untuk menghindari munculnya sinyal yang sama secara berturut-turut. Hanya jika sinyal saat ini berbeda dari sinyal sebelumnya, sinyal perdagangan baru akan dihasilkan.

Keunggulan Strategis

  1. Kombinasi dari VWAP dan Supertrend memberikan penilaian yang lebih komprehensif tentang tren pasar dan potensi titik balik.
  2. Indikator VWAP mempertimbangkan faktor volume transaksi, sehingga dapat lebih mencerminkan tren pasar yang sebenarnya.
  3. Indikator supertrend memiliki fitur pelacakan tren dan pemfilteran getaran untuk membantu menangkap tren utama.
  4. Dengan mekanisme menghindari sinyal yang berulang, frekuensi transaksi dapat dikurangi dan biaya transaksi dapat dikurangi.

Risiko Strategis

  1. Strategi ini mungkin menghasilkan lebih banyak sinyal palsu ketika pasar berfluktuasi besar atau tren tidak jelas.
  2. Kinerja strategi tergantung pada pilihan parameter VWAP dan supertrend, dan pengaturan parameter yang berbeda dapat menyebabkan hasil yang berbeda.
  3. Strategi ini tidak mempertimbangkan manajemen risiko dan pengendalian posisi, yang dalam penerapannya perlu dikombinasikan dengan langkah-langkah lain untuk mengendalikan risiko.

Arah optimasi strategi

  1. Menambahkan mekanisme pengesahan tren, seperti menggunakan garis rata-rata atau indikator tren lainnya, untuk memfilter sinyal lebih lanjut.
  2. Optimalkan pilihan parameter untuk menemukan kombinasi optimal dari panjang VWAP, siklus ATR, dan perkalian dengan melakukan retrospeksi terhadap data historis.
  3. Memperkenalkan langkah-langkah manajemen risiko, seperti pengaturan stop loss dan stop loss, untuk mengendalikan risiko transaksi tunggal.
  4. Pertimbangkan strategi pengelolaan dana seperti rasio tetap atau rumus Kelly untuk mengoptimalkan ukuran posisi.

Meringkaskan

Strategi VWAP dan super trend trading berusaha untuk menangkap tren pasar dan potensi titik balik secara menyeluruh dengan menggabungkan dua jenis indikator. Logika strategi jelas, mudah diterapkan dan dioptimalkan. Namun, kinerja strategi ini bergantung pada pilihan parameter dan kurangnya langkah-langkah manajemen risiko.

Kode Sumber Strategi
/*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)