Lab · October 2026

Order flow versus chance: aggression bubbles and effort boxes with 308 million ticks

Do they work as an entry signal? We measured them with real Nasdaq ticks and chance controls: the boxes win as often as, or less than, a random direction.

We measured our own versions of aggression bubbles and effort boxes with 308 million Nasdaq ticks. As an entry signal, neither beats chance: the boxes win as often as, or less than, the same entry with a random direction. They help you read the market, not pull the trigger.

First, the data

Order flow can't be measured with bars: you need every trade. We read the tick files NinjaTrader stores for Nasdaq futures (NQ) and checked them against the platform's own export (1,520,941 identical ticks over three days). Result: a series of 308 million ticks and 692 sessions, from March 2024 to October 2026. Each trade's aggressor side is estimated with the tick rule, as many platforms do.

Aggression bubbles

They mark large market orders that sweep several price levels at once. In the New York session there were 56,643 of 60 contracts or more (about 0.23 per minute).

We decided the test before looking: 32 rules (minimum size, follow or fade, exits from 30 seconds to 15 minutes), with about $2.20 in costs per trade on the micro. After a bubble, price moves between −0.6 and +2 points on average, and costs eat it. The best rule had a t-stat of 0.88: noise. Since we tested 32 rules, the bar was at 3. None got there.

Effort-versus-result boxes

The classic idea: if a lot of aggressive volume comes in and price doesn't move, someone is absorbing. Our indicator combines five forces and draws a box when several coincide. We measured it on 822,168 NQ range bars.

The next bar went in the box's direction 49.4% of the time. And trading them, versus the same entries with a randomly chosen direction:

Target = stop, 20 ticks (test)45.8% boxes46.5% chanceTarget = stop, 40 ticks47.5% boxes48.2% chanceTarget = stop, 80 ticks48.6% boxes49.0% chanceExit on the next boxes29.1% boxes21.1% chance% winning trades · green: boxes · grey: random direction
The boxes win as often as, or less than, chance with a target equal to the stop.
SetupBox win rateChance win rateBox result (ticks)Chance (ticks)
Target = stop, 20 ticks (test)45.8%46.5%-4.69-4.43
Target = stop, 40 ticks47.5%48.2%-5.01-4.45
Target = stop, 80 ticks48.6%49.0%-5.21-4.52
Exit on the next boxes29.1%21.1%-5.67-3.71

Even without commissions, the 40-tick setup loses 2.5 ticks per trade.

Searching for the setup that works

We tested 6,156 setups (models, thresholds, box types, context, time windows, exits). On the fitting data only 9.6% made anything, and 20 had a t of 2 or more: exactly what to expect by chance when testing so many things. The 12 best moved on to validation: none passed.

A second control made it clear: the same direction, but entering at a random moment in the same session. Trading with the day's bias in the first two hours, the boxes made 16.5, 11.0 and -1.4 ticks per trade in fitting, validation and test; the random moment, 20.0, 14.3 and 8.3. What made money was the day's bias, not the box: the boxes gave worse entry timing than chance.

The lines that "work" as support

The indicator draws lines that look like support and resistance on the chart. We measured 43,663: price came back to touch them in the same session in 81-85% of cases. Did it bounce off them more than off any level at the same distance?

Bounces off the lineOff a random level
20-tick bounce49.6%49.3%
40-tick bounce50.3%49.7%
Stricter model, 20 ticks50.2%49.9%
Stricter model, 40 ticks50.9%50.7%

Half the lines "hold" by pure chance, like any level, and that's what the eye remembers.

And the order book heatmap?

We couldn't validate it as a signal: NinjaTrader doesn't store order book history (it has to be recorded for months) and not every connection sends full depth. Besides, orders in the book can be pulled before they execute. We don't say it works or that it doesn't: it hasn't been measured. Be wary of anyone claiming either without showing months of recorded book data.

Two traps specific to order flow

So what are they good for?

For reading the market: seeing where aggressive volume comes in, where it's absorbed, where large orders are waiting. It's useful context to avoid entering against an avalanche or to put your stop somewhere that makes sense. What they don't do, according to our measurements, is give you an edge on their own as an entry trigger.

  1. Compare any signal against chance at the same moments: random direction and random timing.
  2. Count every signal, not the ones you remember.
  3. Demand real ticks and the aggressor side before believing an order flow study.
  4. Turn on Tick Replay before judging an indicator on historical data.
Using an order flow signal to enter? Run it through the 12 questions before paying for an evaluation with it. And check the labeling bug that fooled us with ticks too.

How it was calculated

NQ ticks read from NinjaTrader's files (March 2024 to October 2026), aggressor side by the tick rule, micro costs (1 tick of slippage on entry and exit plus commission). Rules decided before looking, with fitting, validation and test periods and random-direction and random-timing controls. We validate our own versions of these ideas, not any commercial product. Simulated results.

Simulated and hypothetical results, with the limitations that implies. Not investment advice. Firm rules change: check them on each firm's website. This article contains no affiliate links.