
Strategi VWAP adalah strategi yang melacak harga rata-rata saham dalam jangka waktu tertentu. Strategi ini menggunakan VWAP sebagai patokan untuk melakukan over atau short position ketika harga lebih tinggi atau lebih rendah dari VWAP. Strategi ini juga menetapkan kondisi stop loss dan stop loss untuk mengelola perdagangan.
Strategi ini pertama-tama menghitung harga khas (rata-rata harga tertinggi, terendah, dan harga penutupan) dengan jumlah perkalian volume transaksi, dan jumlah volume transaksi. Kemudian dengan jumlah perkalian dibagi dengan jumlah volume transaksi, nilai VWAP dihitung. Ketika harga naik, lakukan VWAP lebih banyak; Ketika harga turun, lakukan kosong.
Kondisi berhenti untuk melakukan posisi ganda adalah ketika harga naik 3% dari harga masuk. Kondisi berhenti adalah ketika harga turun 1% dari harga masuk. Posisi kosong juga merupakan kondisi serupa.
Keuntungan utama dari strategi VWAP adalah:
Menggunakan VWAP, sebuah statistik penting yang diakui, sebagai acuan sinyal perdagangan, untuk membuat strategi lebih efektif;
Dengan menggunakan sinyal VWP dan Stop Loss, Anda bisa mendapatkan keuntungan dari tren dan mengurangi kerugian.
Strategi logisnya sederhana dan jelas, mudah dipahami dan diterapkan.
Strategi ini juga memiliki beberapa risiko:
VWAP tidak dapat memprediksi harga di masa depan, sehingga sinyal VWAP dapat mengalami lag;
Kondisi Stop Loss terlalu longgar dan dapat meningkatkan kerugian;
Semakin lama waktu pengembalian, semakin banyak sinyal perdagangan, efek disk mungkin akan berbeda.
Risiko-risiko ini dapat dikurangi dengan menyesuaikan parameter, mengoptimalkan algoritma stop loss, dan sebagainya.
Strategi ini dapat dioptimalkan dari beberapa arah:
Optimalkan parameter VWAP untuk menemukan siklus perhitungan optimal;
Algoritma lain untuk melacak stop loss dapat diuji, seperti stop loss bergerak, stop loss bergerak indeks, dan lain-lain;
Indikator lain dapat digabungkan sebagai filter untuk menghindari kesalahan sinyal VWAP; misalnya indikator kuantitatif, indikator pita Brin, dll.
Secara keseluruhan, strategi nilai rata-rata transaksi menggunakan kekuatan prediktif dari VWP, yang merupakan indikator penting, dan menetapkan kondisi stop loss yang dapat memperoleh keuntungan positif dalam jangka panjang. Namun, ada kebutuhan untuk mengoptimalkan dan menggabungkan strategi lain untuk mengurangi risiko yang ditimbulkan oleh fluktuasi pasar dan meningkatkan ruang untuk keuntungan strategi.
/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("VWAP Strategy by Royce Mars", overlay=true)
cumulativePeriod = input(14, "Period")
var float cumulativeTypicalPriceVolume = 0.0
var float cumulativeVolume = 0.0
typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume := cumulativeTypicalPriceVolume + typicalPriceVolume
cumulativeVolume := cumulativeVolume + volume
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume
// Buy condition: Price crosses over VWAP
buyCondition = crossover(close, vwapValue)
// Short condition: Price crosses below VWAP
shortCondition = crossunder(close, vwapValue)
// Profit-taking condition for long positions: Sell long position when profit reaches 3%
profitTakingLongCondition = close / strategy.position_avg_price >= 1.03
// Profit-taking condition for short positions: Cover short position when profit reaches 3%
profitTakingShortCondition = close / strategy.position_avg_price <= 0.97
// Stop loss condition for long positions: Sell long position when loss reaches 1%
stopLossLongCondition = close / strategy.position_avg_price <= 0.99
// Stop loss condition for short positions: Cover short position when loss reaches 1%
stopLossShortCondition = close / strategy.position_avg_price >= 1.01
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=shortCondition or profitTakingLongCondition or stopLossLongCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=buyCondition or profitTakingShortCondition or stopLossShortCondition)
// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")