
Ini adalah strategi perdagangan berbalik rata-rata yang didasarkan pada nilai rata-rata rata-rata volume transaksi (VWAP) dan saluran standar deviasi. Strategi ini mencari peluang perdagangan dengan mengidentifikasi seberapa jauh harga menyimpang dari VWAP, melakukan perdagangan terbalik ketika harga menerobos batas saluran standar deviasi, dan melakukan posisi kosong ketika harga kembali ke VWAP.
Inti dari strategi ini adalah untuk membangun zona perdagangan dengan menghitung VWAP dan perbedaan standar dari fluktuasi harga. Implementasi konkret meliputi:
Ini adalah strategi netral yang didasarkan pada prinsip-prinsip statistik untuk menangkap deviasi dan regresi harga melalui VWAP dan saluran standar deviasi. Strategi ini memiliki karakteristik yang objektif dan sistematis, tetapi perlu memperhatikan kontrol risiko dan optimasi parameter dalam aplikasi praktis. Stabilitas dan keandalan strategi dapat ditingkatkan lebih lanjut dengan menambahkan filter tren dan memperbaiki mekanisme kontrol angin.
/*backtest
start: 2024-12-03 00:00:00
end: 2024-12-10 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jklonoskitrader
//@version=5
strategy("ETHUSD VWAP Fade Strategy", overlay=true)
// Input for standard deviation multiplier
std_multiplier = input.float(2.0, title="Standard Deviation Multiplier")
// Calculate cumulative VWAP
cumulative_pv = ta.cum(close * volume) // Cumulative price * volume
cumulative_vol = ta.cum(volume) // Cumulative volume
vwap = cumulative_pv / cumulative_vol // VWAP calculation
// Calculate standard deviation of the closing price
length = input.int(20, title="Standard Deviation Length")
std_dev = ta.stdev(close, length)
upper_band = vwap + std_multiplier * std_dev
lower_band = vwap - std_multiplier * std_dev
// Plot VWAP and its bands
plot(vwap, color=color.blue, linewidth=2, title="VWAP")
plot(upper_band, color=color.red, linewidth=1, title="Upper Band")
plot(lower_band, color=color.green, linewidth=1, title="Lower Band")
// Strategy conditions
go_long = ta.crossunder(close, lower_band)
go_short = ta.crossover(close, upper_band)
// Execute trades
if (go_long)
strategy.entry("Long", strategy.long)
if (go_short)
strategy.entry("Short", strategy.short)
// Exit strategy
if (strategy.position_size > 0 and close > vwap)
strategy.close("Long")
if (strategy.position_size < 0 and close < vwap)
strategy.close("Short")