Esta é uma estratégia de negociação intradiária que combina Volume Weighted Average Price (VWAP), Average True Range (ATR) e análise de ação de preço. A estratégia determina as tendências do mercado observando cruzamento de preços com VWAP enquanto usa ATR para definir metas dinâmicas de stop-loss e lucro. O conceito central é identificar oportunidades de negociação quando o preço retorna ao VWAP, com gerenciamento de risco controlado pelo ATR.
A estratégia baseia-se em vários princípios fundamentais:
Esta é uma estratégia de negociação quantitativa que combina análise técnica e gestão de risco dinâmica. A combinação de VWAP e ATR garante sinais de negociação objetivos, mantendo um controle de risco eficaz. O design da estratégia se alinha com os requisitos de negociação quantitativa moderna, oferecendo boa praticidade e escalabilidade. Através das otimizações sugeridas, há espaço para melhoria de desempenho.
/*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)