
Ini adalah strategi perdagangan yang menggabungkan harga purata bertimbangan kuantiti bertukar (VWAP) dan purata bergerak indeks pelbagai kitaran (EMA). Strategi ini digunakan terutamanya untuk perdagangan dalam hari, terutama untuk tempoh masa 15 minit. Strategi ini menggabungkan maklumat kuantiti bertukar dengan menganalisis hubungan antara harga dan VWAP dan EMA kitaran yang berbeza untuk menentukan trend pasaran dan peluang perdagangan.
Strategi ini menggunakan EMA 10 kitaran, 20 kitaran dan 200 kitaran, dan VWAP sebagai penunjuk teras. Penciptaan isyarat perdagangan berdasarkan syarat berikut:
Strategi ini membina sistem perdagangan yang lengkap dengan menggabungkan beberapa petunjuk teknikal. Kelebihan utama strategi ini adalah mekanisme pengesahan berganda dan sistem pengurusan risiko yang baik. Walaupun terdapat risiko ketinggalan tertentu, dengan arah pengoptimuman yang disyorkan, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-11-24 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("VWAP EMA Breakout", overlay=true)
// Define Indicators
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
vwap = ta.vwap(close)
atr = ta.atr(14)
// Price Conditions (Long)
priceAboveVWAP200EMA = close > vwap and close > ema200 and close > ema10 and close > ema20
bullishCandle = close > open
// Additional Conditions for VWAP and EMA Relationships (Long)
vwapAbove200EMA = vwap > ema200
emaConditions = ema10 > ema20 and ema20 > vwap and vwap > ema200
// Entry Conditions (Long)
longCondition = priceAboveVWAP200EMA and bullishCandle and vwapAbove200EMA and emaConditions
// Stop-Loss & Take-Profit (Long)
swingLow = ta.lowest(low, 10)
stopLossLong = swingLow - atr
riskLong = close - stopLossLong
takeProfitLong2 = close + (riskLong * 2) // 1:2 RR
takeProfitLong3 = close + (riskLong * 3) // 1:3 RR
// Execute Long Trade
if longCondition
strategy.entry("Long", strategy.long)
strategy.exit("TP 1:2", from_entry="Long", limit=takeProfitLong2, stop=stopLossLong)
strategy.exit("TP 1:3", from_entry="Long", limit=takeProfitLong3, stop=stopLossLong)
// Price Conditions (Short)
priceBelowVWAP200EMA = close < vwap and close < ema200 and close < ema10 and close < ema20
bearishCandle = close < open
// Additional Conditions for VWAP and EMA Relationships (Short)
vwapBelow200EMA = vwap < ema200
emaConditionsShort = ema10 < ema20 and ema20 < vwap and vwap < ema200
// Entry Conditions (Short)
shortCondition = priceBelowVWAP200EMA and bearishCandle and vwapBelow200EMA and emaConditionsShort
// Stop-Loss & Take-Profit (Short)
swingHigh = ta.highest(high, 10)
stopLossShort = swingHigh + atr
riskShort = stopLossShort - close
takeProfitShort2 = close - (riskShort * 2) // 1:2 RR
takeProfitShort3 = close - (riskShort * 3) // 1:3 RR
// Execute Short Trade
if shortCondition
strategy.entry("Short", strategy.short)
strategy.exit("TP 1:2", from_entry="Short", limit=takeProfitShort2, stop=stopLossShort)
strategy.exit("TP 1:3", from_entry="Short", limit=takeProfitShort3, stop=stopLossShort)
// Plot Indicators
plot(ema10, color=color.red, title="10 EMA")
plot(ema20, color=color.green, title="20 EMA")
plot(ema200, color=color.purple, title="200 EMA")
plot(vwap, color=color.white, title="VWAP")