# Bid/ask Imbalance

Also known as: stacked imbalances.
A Volume & Order Flow concept (Order-flow & microstructure) in the LuxAlgo Library, with 1 indicator implementation.

## What is a Bid/ask Imbalance?

A bid/ask imbalance is a footprint chart reading that flags price levels where one side traded far more aggressively than the other. The comparison is diagonal: volume executed at the ask at one price is measured against volume executed at the bid one tick lower, because aggressive buyers lift the offer at one level while aggressive sellers hit the bid just beneath it. When the ratio clears a threshold, commonly around 300% (3:1), the level is flagged as a buy or sell imbalance.

The reading grew out of the footprint chart itself, popularized in the early 2000s by MarketDelta, whose founder Trevor Harnett is widely credited with the format. Splitting each bar's volume into bid-executed and ask-executed amounts at every price made per-level aggression measurable, and imbalance detection is now standard in order-flow platforms and in TradingView approximations. The prerequisite is aggressor-tagged data: where a feed lacks true bid/ask attribution, tools fall back on tick-rule estimates and the flags become approximations.

Single imbalances are noise-prone, so order-flow traders weight stacked imbalances: three or more consecutive price levels imbalanced in the same direction. A stack outlines a band where aggression overwhelmed passive liquidity, and such bands are often treated as intrabar support or resistance on retests. Thresholds, minimum-volume filters, and stack counts are all configurable.

The appeal is granularity. A bar's [volume delta](https://www.luxalgo.com/library/concept/volume-delta/) nets aggression across the whole bar; imbalances localize it to exact prices, showing where within the bar initiative buyers or sellers did their work. None of it guarantees a level holds. An imbalance describes what happened in the auction, not what must happen next, and an imbalance pressed into a larger opposing level is routinely absorbed.

## How to identify bid/ask imbalances on a chart

You need a footprint (bid x ask) chart built from aggressor-tagged trade data:

1. Display bars as bid/ask footprints and set an imbalance threshold, commonly 300%, plus a minimum-volume filter so near-empty levels cannot trigger flags.
2. Read diagonally: compare ask volume at each price against bid volume one tick below; qualifying levels highlight as buy imbalances on the ask side or sell imbalances on the bid side.
3. Look for stacks of three or more consecutive flagged levels on the same side and mark the price band they span.
4. Note where the stack printed: at the origin of a breakout, into a prior [point of control](https://www.luxalgo.com/library/concept/point-of-control/), or at the edge of the [value area](https://www.luxalgo.com/library/concept/value-area/); location assigns meaning.
5. Watch the first retest of the band. Defense confirms it as intrabar support or resistance; a clean trade-through says the aggressors were absorbed or have left.

## How traders use it

- Mapping intrabar support and resistance: stacked buy imbalances outline zones where aggressive buyers ran through passive sellers, and traders watch whether price defends those zones on the first retest rather than assuming it will.
- Confirming aggression behind a move: a breakout or level retest that prints fresh imbalances in the direction of travel shows initiative order flow, complementing bar-level checks like [volume at breakout](https://www.luxalgo.com/library/concept/volume-at-breakout/), while a move without them suggests thin participation.
- Spotting absorption: repeated buy imbalances that fail to lift price imply passive sellers are soaking up the aggression, a warning that the buyers may be trapped; the same read applies inverted for sell imbalances.
- Framing entries at pre-marked levels: stacks that print as price returns to a [session VWAP](https://www.luxalgo.com/library/concept/session-vwap/), a [high-volume node](https://www.luxalgo.com/library/concept/high-low-volume-nodes/), or a profile edge show whether the level is actually being defended rather than merely touched.
- Cross-checking the session: when a [delta profile](https://www.luxalgo.com/library/concept/delta-profile/) shows net aggression by price agreeing with the side of the stacks, the intrabar and session-level reads reinforce each other.

## Bid/ask imbalances vs. related order-flow reads

- **Volume Delta** (https://www.luxalgo.com/library/concept/volume-delta/): Volume delta nets buy and sell aggression over an entire bar into one number. A bid/ask imbalance keeps the price dimension, flagging the exact levels where aggression was lopsided; delta summarizes what imbalances itemize.
- **Delta Profile** (https://www.luxalgo.com/library/concept/delta-profile/): A delta profile accumulates net aggression by price across a session, a standing map rather than a per-bar flag. Imbalances are the raw events; the delta profile is one way their footprint aggregates over time.
- **Volume Profile** (https://www.luxalgo.com/library/concept/volume-profile/): A volume profile shows how much traded at each price with no aggressor split, mapping acceptance rather than initiative. Imbalances answer who pushed; the profile answers where the market spent its time.

## FAQ

### Is a bid/ask imbalance the same as a volume imbalance?

No. A bid/ask imbalance is a footprint measurement comparing executed ask volume against bid volume on the diagonal, at a threshold such as 3:1. A volume imbalance in Smart Money Concepts is a candle-based gap where consecutive bodies do not overlap even though the wicks do. Same words, different traditions, different data.

### What are stacked imbalances?

Stacked imbalances are three or more consecutive price levels flagged as imbalanced on the same side within a single bar. They matter more than isolated flags because they show sustained one-sided aggression across a band of prices. Order-flow traders commonly mark that band and watch how price behaves on a return; holding is a scenario, not a given.

### What imbalance ratio should I use?

Around 300% (3:1) is the common default, with roughly 250% to 400% the usual range. Lower thresholds surface more flags and more noise; higher ones isolate only extreme one-sidedness. Whatever the ratio, pair it with a minimum-volume filter, since a 3:1 ratio built on a handful of contracts means very little.

### Why is the imbalance comparison diagonal instead of at the same price?

Because the competing aggressive acts happen one tick apart: a market buy executes at a level's ask while a market sell executes at the bid just below it. Comparing bid and ask volume at the same price mixes trades from two different market states, so footprint convention aligns the buyers and sellers who were actually competing at the same moment.

### Can you read bid/ask imbalances in crypto or forex?

In crypto yes, per venue: centralized exchanges publish aggressor-flagged trades, so footprints work exchange by exchange. Spot forex is harder because there is no central tape; footprints are built from one broker's or aggregator's feed, and the imbalances describe that slice of the market rather than the whole.

### Do stacked imbalances act as support and resistance?

Often enough that traders mark them, but conditionally. A stack shows where aggression beat passive liquidity once; whether it holds depends on that participation returning. The first retest is the real test, and traders who lean on a stack commonly place stops just beyond it so a trade-through invalidates the idea quickly.

## Implementations in the Library

- Bid/ask Imbalance (LuxAlgo): https://www.luxalgo.com/library/indicator/bid-ask-imbalance/

## Related concepts

- Volume Delta: https://www.luxalgo.com/library/concept/volume-delta/
- Resting Liquidity / Liquidity Heatmap: https://www.luxalgo.com/library/concept/resting-liquidity-liquidity-heatmap/
- Cumulative Volume Delta: https://www.luxalgo.com/library/concept/cumulative-volume-delta/
- DOM: https://www.luxalgo.com/library/concept/dom/
- Delta Divergence: https://www.luxalgo.com/library/concept/delta-divergence/
- Footprint Concepts: https://www.luxalgo.com/library/concept/footprint-concepts/
- Absorption & Exhaustion: https://www.luxalgo.com/library/concept/absorption-and-exhaustion/
- Sweep Detection: https://www.luxalgo.com/library/concept/sweep-detection/
- Unfinished Business: https://www.luxalgo.com/library/concept/unfinished-business/
- Execution Algo Footprints: https://www.luxalgo.com/library/concept/execution-algo-footprints/

---

Source: https://www.luxalgo.com/library/concept/bid-ask-imbalance/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/