Esta es una estrategia de negociación intradiaria que combina el precio promedio ponderado por volumen (VWAP), el rango verdadero promedio (ATR) y el análisis de la acción del precio. La estrategia determina las tendencias del mercado observando los cruces de precios con VWAP mientras utiliza ATR para establecer objetivos dinámicos de stop-loss y ganancias. El concepto central es identificar oportunidades comerciales cuando el precio vuelve a VWAP, con la gestión de riesgos controlada por ATR.
La estrategia se basa en varios principios fundamentales:
Esta es una estrategia comercial cuantitativa que combina análisis técnico y gestión de riesgos dinámicos. La combinación de VWAP y ATR asegura señales comerciales objetivas mientras mantiene un control efectivo del riesgo. El diseño de la estrategia se alinea con los requisitos comerciales cuantitativos modernos, ofreciendo buena practicidad y escalabilidad. A través de las optimizaciones sugeridas, hay espacio para una mayor mejora del rendimiento.
/*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)