
이것은 거래량 중도 평균 가격 ((VWAP) 과 다중 주기 지수 이동 평균 ((EMA) 을 결합한 거래 전략이다. 이 전략은 주로 일일 거래에 사용되며, 특히 15분 시간 주기에는 적합하다. 이 전략은 가격과 VWAP 및 다른 주기 EMA 사이의 관계를 분석하여 거래량 정보를 합성하여 시장 추세와 거래 기회를 결정한다.
이 전략은 10주기, 20주기, 200주기 EMA와 VWAP를 핵심 지표로 사용한다. 거래 신호의 발생은 다음과 같은 조건에 기초한다:
이 전략은 여러 기술 지표들을 결합하여 하나의 완전한 거래 시스템을 구축한다. 전략의 핵심 장점은 다수의 확증 메커니즘과 완벽한 위험 관리 시스템이다. 약간의 후발적 위험이 존재하지만, 제안된 최적화 방향을 통해 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 전략은 특히 일간 거래자의 사용에 적합하지만, 특정 시장 특성에 따라 파라미터를 최적화해야 한다.
/*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")