Trading Operations

Bid/ask candles: what a normal candle doesn’t tell you

Tiziano Brunno · 4 August 2026 · 13 min

Hey trader,

when I started out I was chasing patterns.

Basic technical analysis, the textbook stuff: engulfing, pin bars, hammers, dojis. I spent my evenings hunting for them on charts and marking them with a highlighter, convinced the whole job was in there. You find the shape, you get in, done.

Then the shape shows up, you get in, and price goes the other way.

It took me years to work out why. And I didn’t get there on my own: I was lucky enough to meet some teachers, and since I rarely mention them I’m naming them here once and for all, because it feels right. Enrico Stucchi and Gianluca Salvatori. They handed me market concepts I had never found in books, and not even in the courses going around back then.

The biggest one of all is also the simplest to say, and it took me a while to digest.

A pattern is not a cause. It’s a drawing that stays on the chart AFTER things have happened. And those things, inside the candle, you are not looking at.

Take the big green candle that makes you want to applaud, long body and short wicks. Beautiful. But inside, at the last prices up top, who was really buying? How many were walking out right as you were walking in?

The normal chart doesn’t show you that stuff. Today I’m showing you a candle cut open.

Four numbers, and that’s it

A classic candle gives you four numbers: open, high, low, close. If you’re lucky, the total volume of the bar. The end.

It’s the final score without the box score. 3 to 1. Ok, so what?

You don’t know who scored, you don’t know when, and above all you don’t know who played better.

Try asking a candle the real questions.

At which price, inside that bar, did most of the trading happen? It doesn’t know. A 20 point bar can have half its volume crammed into the lowest three points, or spread out evenly: two completely different markets, drawn identical.

Who was aggressive, and at which prices? It doesn’t know.

Had the push already died out before the close? It doesn’t know that either.

Side by side comparison: on the left a classic candle with only the open, high, low and close labels, on the right the same bar broken down into nine price levels with the volume traded at the bid and at the ask
The same candle, two different pieces of information. On the left, four numbers. On the right, the volume traded at every single price, split between who was aggressive buying and who was aggressive selling.

And here’s the line to take home, even if you stop reading right now.

The color of the candle tells you where it ended up, not who won. Tiziano Brunno

How a bid/ask candle is built

Let me explain, we start from zero.

Take the same bar and instead of drawing it as a rectangle, split it by price levels: one row per tick, or per group of ticks if the market is wide.

Two numbers end up on every row: on the left the volume traded at the bid, on the right the volume traded at the ask. That is, how many contracts went through hitting the demand and how many went through hitting the offer.

Careful, some platforms swap the columns: check the header before you read the numbers.

The jargon calls it footprint, but on plenty of platforms the menu says something else entirely: Numbers Bars, Volumetric Bars, Cluster, Order Flow Analyzer. The reason is trivial, “Footprint” is a registered trademark and it isn’t everybody’s. So if you go looking for that word and can’t find it, it’s not that you don’t have it: it’s that over there it goes by another name.

Anatomy of a bid/ask candle with five numbered callouts: the price column, the volume traded at the bid, the volume traded at the ask, the point where buying dries up and the most traded row of the bar
Anatomy of a bid/ask candle: the price column, the two numbers on each row with numbered callouts, and next to it the exact same bar as you see it on the normal chart.

Passive and aggressive

There are two ways to be in the market, and this is where everything gets decided.

There’s the one who puts a limit order away from price: they name the price they want and they wait, and until the market comes to them nothing gets executed. And there’s the one who sends a market order: they don’t name a price, they say now, and they pay the spread just to get in.

The bid/ask candle counts who paid to be in a hurry.

Whoever buys at market takes the price of whoever is selling, meaning they hit the ask, and that volume ends up in the ask column. Whoever sells at market hits the bid, and ends up in the bid column.

Whoever leaves a limit sitting there waiting doesn’t end up in those columns as the aggressor. They end up there as the counterparty.

Three panel sequence showing the order book before and after a 120 contract market buy order arrives, with the table of who consumes what and which column the volume ends up in
How a number is born inside the cell. Before: 180 contracts to sell sitting on the ask, waiting. Then a market buy order for 120 comes in. After: 60 are left on the ask, and the cell lights up ask 120. 120 bought, 120 sold. The same ones.

The line that separates who understood from who repeats

Careful here, because almost everybody out there gets this wrong.

Every contract traded has a buyer AND a seller. Always, by construction: the two quantities are identical by definition. What can be different is how many there were on each side, and above all who moved first.

So those two numbers do NOT say “there were more buyers than sellers here”. That sentence means nothing.

They say who took the initiative, and who was on the receiving end.

A cell printing 340 at the ask means this: 340 contracts bought by someone in a hurry, against 340 sold by someone who was already sitting there in the queue with a limit.

Every big number tells two stories at once, the one who pushed and the one who held. The footprint doesn’t tell you who was right: it tells you they were both there.

Delta, in two minutes

At the bottom of the candle there’s the totals row, and it’s the first one you look at.

Three panels with the total volume, the delta and the most traded price of a bid/ask candle, each with the question it answers
The row at the bottom of the candle answers three different questions: how much traded in total, who was in more of a hurry (the delta), and at which price almost everybody stopped.

Delta is a subtraction: volume at the ask minus volume at the bid.

Positive, and inside that bar the net aggressive initiative was on the buy side. Negative, and it was on the sell side. It does not mean “more buyers” (see above) and it does not mean “now it goes up”.

I’m repeating it because it’s the most widespread legend in this business. Delta measures the effort, price measures the result, and delta is already inside price: when the cell exists, those contracts have gone through and price has already reacted.

The interesting part is when the two don’t match. Big positive delta and price that won’t go up a single tick: somebody is calmly selling everything that lands on them. Or the other way round, aggressive selling flat out and price nailed to the spot.

Effort against result: if you push a scooter uphill like a madman and you don’t move forward, the problem isn’t the push, it’s the weight on the other side.

Same family as GEX: price moves because of people forced to buy and sell behind the scenes, and on the chart you only see the effect.

Three bid/ask candles side by side with very different deltas: the bought rally, the rally with negative delta and the bar with huge volume and price going nowhere
The same instrument tells three different stories: the rally that was bought, the rally where the aggressive side was selling, and the bar with huge volume that doesn’t move a single tick. Delta is not a signal, it’s a question.

And now the handbrake.

A divergence, on its own, is not an entry. Delta sends you to look at a level, it doesn’t tell you to click: the level has to be there already, decided beforehand and for other reasons.

The uncomfortable bit: all this needs futures

Now the honest part, the one that might cost me a few readers. Never mind.

The bid/ask candle rests on one thing only: real traded volume, with the aggressor’s side attached to it.

On CME futures (ES, NQ and company) it’s all there. A single centralized order book, official volume in contracts, and above all the aggressor’s side, which the exchange publishes inside the data feed. It isn’t a platform estimate, it’s a figure declared by the exchange. With one exception: in auctions, like the open, the orders all cross together and nobody hits anybody. That volume ends up in the candle with no side, and the first bar after the open doesn’t read like the others.

On spot forex, no. There’s no single book, every broker sees only its own slice, and the aggressor’s side has to be guessed with rules that get it wrong, and get it wrong more often precisely on the big trades.

On CFDs it’s worse still. Your broker is not an exchange: what you see as volume is almost always tick volume, a counter of how many times price moved, not of how many contracts went through.

The practical rule is blunt: you analyze on the futures, you execute where you have the account. And if you don’t have futures data, don’t pretend you have the footprint: better nothing than a fake number.

But “better nothing” doesn’t mean going in blind. If you trade CFDs, at least keep in front of you the numbers that come out of the futures anyway: imbalance, COT, areas of interest on DAX, ES, NQ and Dow. I put them inside Thunder Desk, it’s free, and it’s the way not to go in blind on an instrument that copies a market you’re not even watching.

All the more so because the index is also moved by things that never show up on your chart, like options expiring the same day.

A real case: NQ, July 29

Let me show you how you read a level. How you read it, not how you pick it: that’s the whole of part 2.

Cards on the table first. The trades I’m showing you are in TradingView Paper Trading: the market data is real, the dollars are not. That’s why I’m giving you the result in points only, the only honest thing I can give you.

July 29, Nasdaq.

On the chart I had a level at 27,797, coming out of an imbalance area, a gap price left behind while it was running and hadn’t gone back through yet. On its own, it’s a number on a chart. There are a thousand of them.

Then I looked at the order book. Above, at 27,800, there was a thick band of sell orders. Sitting there for minutes.

Two different tools, the same price.

That’s the heart of this piece. Not “the footprint gives the signal”, but two things that don’t talk to each other pointing at the same number.

Limit sell with two contracts at 27,796.88, just under the wall. Stop at 27,880.50, behind another big row further up, not at a distance picked with a ruler. Target 27,709, leaning on a band of buy orders.

Outcome: filled, the first contract covered along the way and the second carried all the way to the full target. +87.88 points on the contract that made it to the end, +152.76 adding the two together.

Schematic of the NQ case of 29 July 2026: on the left the chart with the imbalance zone and its midpoint at 27,797, on the right the order book map with the band of sell orders just above, plus the entry, stop and target levels
NQ, July 29, 2026: the same price flagged by two tools that don’t talk to each other. On the left the chart with the imbalance area, on the right the band of sell orders sitting just above. Diagram redrawn from the real chart, trade in paper trading.

And the bar that touches that level is the place where you need to open the bid/ask view. What you want to see, on the way up towards the wall, is the aggressive buying dying out row after row and the bid growing: the push that ends before the top. If it’s there, the wall is real. If it isn’t, that level is just a number.

I have the bid/ask view on Volumetrica, where it’s called Order Flow Analyzer, while the liquidity map lives in the DeepDOM. Two different things, two different names.

Reconstruction of a bid/ask candle on the level: going up, the volume traded at the ask falls row after row while the volume at the bid increases
The bar on the level, opened row by row: on the way up towards the wall the volume hit at the ask dies out and the one at the bid increases. Teaching diagram, the numbers are there to show the shape, they are not a printout of the order book.

Now the part almost nobody shows you.

Same day, same reading, I had the twin on the ES. The level was there, the order was there. It never started, it never got filled, full stop.

Why, we’ll see in the next part.

What you do from tomorrow morning

The homework is small, and that’s exactly why you should take it seriously.

For one week, you don’t trade this stuff. Zero.

Open the bid/ask view on a future you already follow, look only at the points where price turned, and at every turn ask yourself four questions.

Card with the four questions to ask a bid/ask candle before even thinking about an order
The four questions to ask every bid/ask candle, before you even think about an order: where most of the trading happened inside the bar, who was aggressive and at which prices, whether the push died out before the end of the candle, and whether price moved as much as the volume that went through deserved.

Then write your readings down, and write them BEFORE you know how it ends: with hindsight we’re all right. If you haven’t got a place to put them, use the TradingBlog Diary: it’s free, and you end up with a log of your readings instead of your memories. Which never match 🙂

In the next part we open the operational drawer: absorption, exhaustion, stacked imbalances and the delta that doesn’t add up. That is, how you go from “I get what I’m seeing” to “I know which price I put my order on”. Out next week, here.

Knowing how to read a bid/ask candle won’t make you a single euro. It takes away your excuse for saying the market has gone crazy. It never goes crazy: it’s us, staring at the colored rectangle and telling ourselves the comfortable story.

I’ll stop here. If you know a trader who gets in on big green candles because “they’re nice and full”, send them this piece. It costs you nothing, and it saves them from making a fool of themselves the way I did.

Suerte Amigo!

Tiziano Brunno

Tradingblog

Want to put your market reading to the test?

Compete and challenge other traders inside an Arena in a demo environment, with no real capital at risk. Discover the Performance Arena Events by The Thunder Trader.

Discover The Thunder Trader →


Disclaimer: purely informational and educational content. It does not constitute financial advice or an invitation to trade. Trading involves the risk of capital loss.

← Torna al blog
© 2026 tradingblog.it — Tiziano BrunnoContenuti a scopo informativo e didattico, NON consulenza finanziaria. Il trading comporta un rischio elevato di perdita del capitale.