VWAP trading strategy: reclaim, pullback, or mean reversion?
A VWAP trading strategy uses a volume-weighted price reference to define entries and exits. A reclaim looks for price to recover the line, a trend pullback tests whether price holds it, and mean reversion targets a return toward it. Buying every VWAP touch mixes these different hypotheses. Choose one rule set, its session, and its invalidation before testing.
Draft the VWAP strategyKey Takeaways
- A reclaim crosses back above VWAP; a trend pullback approaches it from above; mean reversion buys below it and targets a return.
- The anchor controls the reset. Session VWAP and event-anchored VWAP measure different periods.
- Volume belongs to the selected symbol and feed. Tick volume counts price updates rather than traded units.
- A confirmed signal and an executable fill are different events. Model the delay, spread, commission, and slippage.
- The rules below are illustrative test specifications, not measured results or recommended settings.
Choose the hypothesis before the signal
The same VWAP line can support opposing trades. A continuation trader might buy a recovery above it, while a mean-reversion trader might exit there. A volume weighted average price trading strategy therefore needs more than a crossover condition. The table separates the expected move from the condition that would disprove it. Long-side examples are used throughout; test shorts separately.
| Setup | Entry context | Expected move | Failure to watch |
|---|---|---|---|
| Reclaim | A close below VWAP followed by a close above it | Continuation after the recovery | Repeated crosses with no directional follow-through |
| Trend pullback | Price approaches VWAP after several closes above it | Continuation of the existing advance | The pullback becomes a sustained move below VWAP |
| Mean reversion | Price is below VWAP and begins returning from an extension | A move back toward the reference | The extension develops into a persistent downtrend |
Fix the session, anchor, and volume feed
VWAP is cumulative price times volume divided by cumulative volume since the chosen anchor. TradingView defaults to the average of high, low, and close as its price source. Its Anchor Period can reset by Session, Week, Month, or other periods. A session anchor on a daily chart resets on every bar and loses the intended within-session comparison. For a controlled intraday test, record the exchange-qualified symbol, standard candle timeframe, price source, included trading hours, reset timestamp, and timezone. Regular-hours and extended-hours inputs can produce different reference lines. On a continuous market, specify the daily boundary explicitly. An event anchor is a separate experiment; do not move it after seeing the trade outcome. TradingView receives volume from its providers. Some symbols have none; others supply tick volume, which counts price updates. Skip signals when the required volume is missing or cumulative volume is zero. Results from one feed should not be treated as evidence for another feed.
- Keep the signal price and VWAP calculation on the same stated symbol and timeframe for the baseline.
- Check that the selected session begins where the strategy expects it to begin.
- Do not interpret the weighted average as the most-traded price or proof of institutional positioning.
Define a reclaim and a trend pullback separately
These illustrative rules use five-minute standard candles, session VWAP, and confirmed closes. Allow entries only after ten completed bars in the selected session and before its final thirty minutes. Use at most one entry per session, one open position, and no averaging down. Those limits make the comparison reproducible; they are not optimized settings. For a reclaim, require the previous close to be at or below its VWAP and the current close to be above its VWAP. Also require current VWAP to exceed its value five bars earlier, using bars from the same session. This tests recovery into a rising reference. A brief intrabar cross that closes below the line does not qualify. For a trend pullback, require all five preceding closes to be above their respective VWAP values, plus the same rising-VWAP condition. The signal bar must trade at or below its VWAP and then close above it. This tests a return to an existing trend, rather than the first recovery from below. For either setup, submit the entry after confirmation. Define the protective stop as the signal-bar low minus 0.25 times the signal-bar ATR(14). Fix the target at the signal close plus twice the signal-close-to-stop distance, and submit the entry with its protective orders. Reject a signal if that distance is not positive. A gap changes the realized reward-to-risk ratio. Exit early after a confirmed close below VWAP, and submit a flat-position exit ten minutes before the session ends. Stops and targets are order levels; a close-based failure exit is a separate order generated later.
Give mean reversion a target and a rejection rule
An illustrative mean-reversion experiment uses the same timeframe and entry window, but admits only a nearly flat VWAP: the absolute change over five bars must be no greater than 0.10 times current ATR(14). That is a measurable filter, not proof that the market is ranging. Require the previous close to be at least one previous-bar ATR(14) below its VWAP. The next bar must close higher than the previous close while remaining below current VWAP. After that confirmation, submit a long entry. Fix the target at the signal-bar VWAP and the protective stop at the lower of the two setup-bar lows minus 0.25 times signal-bar ATR(14). If a gap puts the fill at or beyond either exit level, flag an execution failure and close at the next available order opportunity; do not delete the trade from the results. Exit after six completed bars following entry if neither price exit has filled, or at the session cutoff, whichever comes first. For a hypothetical fill at 99.40, a fixed target at 100.00, and a stop at 99.10, the planned distances are 0.60 to target and 0.30 to stop before costs. This arithmetic says nothing about how often either order fills. Keeping the target fixed also prevents a falling VWAP from quietly changing the trade objective. Test a moving target only as a separately named variant.
- A falling market may keep moving away from VWAP despite the flatness filter.
- A widening spread can consume a substantial part of a short reversion target.
- Repeated attempts and larger position sizes would change the stated experiment.
A close confirms the setup, not the fill price
On an open bar, high, low, close, and a VWAP derived from them can change. Waiting for the bar to finish prevents a temporary cross from being recorded as a confirmed close signal, but it also delays the decision. It does not remove every repainting risk, including later data revisions or unconfirmed data requested from another timeframe. TradingView strategies normally calculate at bar close and fill a newly created market order on the next available tick, usually the next bar open in a historical test. Do not label the signal close as the entry fill unless the tested order settings support that assumption. If you later add higher-timeframe VWAP, wait for that timeframe to close as well and check that the request does not leak future information. For a five-minute session ending at 16:00, a hypothetical cutoff can submit a market exit after the bar ending at 15:50, leaving time for its next-tick fill. Check shortened sessions and the symbol calendar. A rule that first submits an exit at the final session close can leave a position exposed until the next session.
Compare the rules without changing the experiment
Run reclaim and mean reversion as separate strategies under identical data, dates, sizing, and execution settings. Add the pullback variant as a third comparison. Use the same fixed risk budget per trade, with quantity calculated from signal-close-to-stop distance and the instrument point value, subject to a stated maximum exposure. Actual entry fills can change that risk. A stop budget is not a guaranteed loss limit because gaps and slippage can exceed it. The example parameters define a baseline to reject or refine, not a claim of positive expectancy. Inspect net results after costs, drawdown, trade count, average trade, and the individual fills. Reserve a later period before selecting parameters and test that untouched period only after choosing the rule. A filtered setup that produces very few trades may not provide enough evidence for a useful comparison.
- Include broker commission, spread assumptions, and adverse slippage; check results at higher costs.
- Review bars where both stop and target were touched. Historical OHLC alone does not show the intrabar path.
- Use standard candles for the baseline; synthetic chart prices can distort simulated execution.
- Change one parameter family at a time and keep a record of rejected variants.
- Treat opening volatility, directional sessions, and narrow ranges as conditions to inspect, not labels assigned with future knowledge.
Pineify next step
Turn one VWAP hypothesis into a reviewable strategy
Give Pine Script AI Coding Agent the selected setup, session boundary, volume checks, order timing, and exits. Review the generated script in TradingView, then use Strategy Optimizer to compare bounded input ranges and export results to CSV. Keep the holdout period separate from parameter selection.
This page is educational and does not provide investment advice. All example rules and prices are illustrative, not backtest results. VWAP setups can lose money. Historical simulations, parameter optimization, and planned stops do not guarantee future performance or execution prices.