
Ini adalah strategi perdagangan intraday yang menggabungkan harga rata-rata tertimbang volume transaksi (VWAP), indikator amplitudo real (ATR) dan analisis perilaku harga. Strategi ini menilai tren pasar dengan mengamati persilangan harga dengan VWAP, sambil menggunakan ATR untuk mengatur stop loss dan profit secara dinamis.
Strategi ini didasarkan pada prinsip-prinsip utama berikut:
Ini adalah strategi perdagangan kuantitatif yang menggabungkan analisis teknis dan manajemen risiko dinamis. Dengan penggunaan VWAP dan ATR yang dikombinasikan, obyektifitas sinyal perdagangan dijamin dan kontrol risiko yang efektif diwujudkan. Konsep desain strategi sesuai dengan persyaratan perdagangan kuantitatif modern, dengan kepraktisan dan skalabilitas yang baik. Dengan arah optimasi yang disarankan, kinerja strategi masih memiliki ruang untuk ditingkatkan.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Price Action + VWAP + ATR Intraday Strategy", overlay=true)
// VWAP Calculation
vwapValue = ta.vwap(close)
// ATR Calculation (14-period)
atr = ta.atr(14)
// Price Action Setup for Bullish and Bearish Trades
bullishCondition = close > vwapValue and close[1] < vwapValue // Price above VWAP (Bullish bias) and Price action pullback to VWAP
bearishCondition = close < vwapValue and close[1] > vwapValue // Price below VWAP (Bearish bias) and Price action rally to VWAP
// Set stop loss and take profit based on ATR
atrMultiplier = 1.5
longStopLoss = low - atr
shortStopLoss = high + atr
longTakeProfit = close + (atr * atrMultiplier)
shortTakeProfit = close - (atr * atrMultiplier)
// Entry and Exit Rules
// Bullish Trade: Price pullback to VWAP and a bounce with ATR confirmation
if (bullishCondition and ta.crossover(close, vwapValue))
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Bearish Trade: Price rally to VWAP and a rejection with ATR confirmation
if (bearishCondition and ta.crossunder(close, vwapValue))
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)
// Plot VWAP on the chart
plot(vwapValue, color=color.blue, linewidth=2, title="VWAP")
// Plot ATR on the chart for reference (Optional)
plot(atr, title="ATR", color=color.orange, linewidth=1)