I need to deal with the objection before I write another sentence, because I know it’s already forming. This account exists to say indicators are a way of hiding from price, not a way of seeing it. So why am I writing about VWAP.

Because VWAP isn’t an indicator. It doesn’t tell you anything price didn’t already tell you. It’s a moving average of price weighted by volume, plotted as a single line on the chart — the average price the entire market actually paid that day, adjusted so the heaviest trading counts more than the thin trading. Strip away the formula and what’s left is a level. A line where a real amount of money changed hands. That’s the same thing I’m doing when I mark where price stopped before. VWAP just does it with volume instead of my eyes.

Why VWAP survives the no-indicators rule

An indicator, the kind I actually banned from my charts, takes price and runs it through a formula that spits out a prediction or a signal. RSI tells you something is “overbought.” A moving average crossover tells you to “buy now.” Those tools generate an opinion about what price should do next, and that opinion is built on math that has nothing to do with where real buyers and sellers actually transacted.

VWAP doesn’t generate an opinion. It reports a fact. It says: here is the price at which the average dollar traded today, weighted by how much volume happened at each price. There’s no prediction in that sentence. It’s a record, not a forecast — closer to a support line drawn from a prior swing low than to an oscillator telling you momentum is “overbought.” I didn’t add VWAP to my chart to help me decide anything. I add it because it marks a real level the same way a horizontal line from a prior bounce marks a real level. Different tool for building the line, same category of object once it’s drawn.

The reason it holds as a level is the same reason round numbers and prior highs hold as levels — a large, uncoordinated crowd treats it as meaningful, so real orders cluster around it. Institutional desks measure their own execution against VWAP. A fund buying a large position over the day is graded on whether it filled better or worse than VWAP, so its own algorithm is often designed to buy below the line and sell above it. That’s not sentiment. That’s a mechanical order flow habit built into how a huge slice of daily volume actually gets executed. Price reacts at VWAP because real size is parked there, not because a formula says it should.

What VWAP actually shows you

On an intraday chart, VWAP is one line, recalculated from the market open, rising or falling smoothly through the session. Price trading above it means the average trade today happened at a lower price than now — the day’s buyers, on balance, are ahead. Price trading below it means the opposite. That’s the whole read. No divergence to spot, no crossover to wait for, no second line to interpret against a first one.

What matters to me is the same thing that matters with any level: does price react when it gets there. A stock that rips above VWAP and keeps climbing without ever glancing back down at it is telling you the buyers in control don’t need to test their own average. A stock that pushes above VWAP, stalls, and drifts back down to sit right on the line is telling you something different — that the level is being defended, tested, respected. I watch for that reaction exactly the way I’d watch a horizontal line I drew myself. A touch that holds is information. A touch that gets sliced through without hesitation is different information.

The ORCL trade

ORCL opened a session at 168.40 and spent the first forty minutes drifting under VWAP, which had settled near 167.10 by mid-morning. Nothing unusual — plenty of stocks spend the open below their VWAP line without it meaning much on its own.

Around 10:40, ORCL pushed up through 167.10 on a burst of volume, tagged 167.60, and instead of continuing, rolled back over and closed a five-minute candle right back at 167.05 — a wick that poked above the line and got rejected almost immediately. I didn’t act on that first touch. One rejection isn’t a pattern, it’s a data point.

ORCL sold back off to 165.80, chopped there for twenty minutes, then pushed up a second time. This time it cleared VWAP cleanly, held above it on the pullback that followed — dipping to 167.30 and finding buyers instead of closing back under the line — and by early afternoon was trading at 169.90. I got long on that second hold at 167.45, stop under the pullback low at 167.05, and took the position off in two pieces, half at 169.10 and the rest at 169.75. ORCL closed the day at 170.20.

The line I was trading off never predicted anything. It just told me where the day’s real weight was, and I waited to see whether price treated that weight as support or ignored it.

Total risk on that trade was 40 cents a share against a target that ended up running more than double that. Not a huge trade. Not the kind of number that makes for a screenshot. But the read was clean: one rejection to ignore, one hold to act on, and a line that did nothing except sit there and let the market show me what it thought of it.

Where VWAP earns a place next to your other levels

I treat VWAP the same way I treat a prior day’s high or a round number — as one more line that a real crowd has a real reason to defend, worth marking, worth watching for a reaction, never worth acting on by itself. A touch at VWAP means nothing until price shows me what it does at the touch. Confluence is where VWAP gets genuinely useful: when the VWAP line lines up with a horizontal level I’ve already drawn from prior price memory, that’s two independent reasons for size to show up at the same price, and I pay more attention there than I would at either level alone.

What I don’t do is stack VWAP with a dozen other calculated lines and call the result a system. That’s the trap the indicator crowd falls into — one tool becomes credible, so five more get added on top of it, and eventually the chart is back to the fourteen-indicator mess I deleted years ago. VWAP stays on my chart because it’s a level, drawn from real transactions, not because it’s smart. The moment I start treating it as a signal instead of a level is the moment I’ve broken my own rule.


I trade with a blank chart, VWAP, and a few lines in Static, the free daily chart room run by Draw Lines Make Money. If this way of reading VWAP makes sense to you, you can sit in and watch how it’s done live:

Join the free Static chart room →

Disclosure: that’s an affiliate link — I may earn a commission if you join a paid tier later, at no extra cost to you. The free room is free.

Full risk disclosure