Stacked Imbalances in the Footprint: Detecting Aggressive Order Flow Zones Automatically
An imbalance in the footprint marks the spot where one side clearly out-traded the other - a market buyer who lifted the offer hard enough to leave a visible mark, or a seller who hit into the bid. A single imbalance is just a hint at first. It gets interesting when several of them stack directly on top of each other in the same direction.
What an imbalance is - and why it's measured diagonally
An imbalance exists when one side exceeds the other by a defined ratio - often 3:1, i.e. 300 percent. What matters is how the comparison is made: not bid against ask at the same price level, but diagonally - the ask volume at one price against the bid volume one tick below. The reason lies in the mechanics themselves: an aggressive buyer lifts the offer at price X while aggressive sellers simultaneously hit the bid one tick lower. A horizontal comparison at the same level would pit two things against each other that have nothing to do with one another.
When imbalances become a stacked imbalance
- Three or more consecutive price levels within one bar where the same side dominates
- Because of the diagonal measurement, this creates a characteristic staircase pattern on the chart
- The zone is commonly read as concentrated aggression and treated as a potential support or resistance area - usually until price trades back into it
Why everyone defines the details differently
The concept is simple; the implementation is full of decisions. Which ratio counts as an imbalance - 2:1, 3:1, 4:1? How many stacked levels make a stack? Does a 3:1 ratio still count when it's just three contracts against one - or does it need a minimum volume? And does the zone expire once it's been traded through, or does it persist? These are exactly the points where your own definition almost always departs from the default settings.
Have your own imbalance rules that no standard tool covers?
Describe your criteria - the feasibility check and quote are free and non-binding.
Request a projectWhat a custom implementation can add
- Minimum volume per level, so statistically meaningless ratios in thin trading don't create zones
- Zone logic: the marking persists until price trades back into it, then gets removed automatically or flagged as tested
- Combining with context, e.g. only stacks at a volume profile level or only in the direction of the higher timeframe
- A Telegram alert when a new stack forms, instead of continuous manual monitoring
Frequently Asked Questions
Which ratio is the right one for an imbalance?
There's no objectively correct value - 3:1 is a common starting point, but depending on the instrument, timeframe, and your own approach, a different ratio may make more sense. That's exactly why the value should be configurable rather than hard-coded.
Why are imbalances compared diagonally instead of horizontally?
Because that's how aggression actually plays out: a market buyer lifts the offer at one price while market sellers hit the bid one tick below. The diagonal comparison pits exactly those two sides against each other. A comparison at the same level would compare unrelated values.
Is a stacked imbalance a finished entry signal?
No, it's information about where concentrated aggression took place. In practice it's mostly used as a zone for further confirmation, not as an isolated trigger.
Can an automated strategy be built from it?
Technically yes, once the ratio, minimum stack, minimum volume, and the behavior on retesting the zone are defined unambiguously. A strategy that sends orders on its own should be tested considerably more thoroughly than a purely visual indicator.
The difference between a useful and a noisy imbalance indicator rarely lies in the concept - it almost always lies in the thresholds, and in whether a zone also disappears again once the market has invalidated it.
Have an idea for ATAS?
Tell us about your project - you'll get a free, non-binding quote within 24-48 hours.
Request a Free Quote