Engineered is now operating as Stack Signal. The team and the Pulling & Stacking Indicator are unchanged.
The Pulling & Stacking Indicator by Stack Signal
See the order book change, event by event.
The Pulling & Stacking Indicator by Stack Signal decomposes the raw order flow (every resting order stacked or pulled, every aggressive execution) into one normalized signal you can read at a glance. On Bookmap. See what changed from version 2 to version 3.

A technical indicator based on order flow
Raw volume tells you what was already traded. Flow shows what the order book is doing now: liquidity stacking up at a level, or quietly pulling away from it. We find that useful context next to price; it is not a forecast.
One signal, two components
Every market event is decomposed exactly, without smoothing, filtering, or repainting.
Total Flow
Passive book changes plus aggressive executions: the headline.
Passive Flow
Resting liquidity stacked (+) or pulled (−) across the book.
Aggressive Flow
Executed volume delta (buys − sells), the classic tape delta.
Total Order Flow = Passive + Aggressive
Exact on every event. New in 3.0: Placement Flow, which is Passive minus Aggressive, the orders placed and cancelled with executions taken out.

The order flow signals you get
The sigma (σ) readout: order flow in a unit that compares across markets
Raw order flow in contracts is meaningless across symbols and sessions. Every number is normalized against its own trailing band, so “+4.2σ” means the same thing in a quiet overnight session as at a busy open, and it ports to any instrument with an order book. The defaults are a starting point. Instruments differ in pace and book depth, so adjust the window, depth and band to suit the market you trade.

The multi-window ladder: burst or campaign?
Four windows (2 / 3 / 5 / 10 minutes), side by side, each colored by what the reading means: green when bullish, red when bearish. A spike in the 2-minute cell that the 10-minute cell ignores is a burst. All four cells lit the same color is a campaign. In our view, persistent vs. transient is the distinction that matters, and the ladder shows it at a glance.

Support & Resistance bands: when flow is stretched
The ±3σ band of the line you trade from (Total Flow by default, or Passive or Placement Flow), sized from that line, drawn as Resistance (upper) and Support (lower) lines. Flow tagging the band is statistically stretched against the last 25 to 50 minutes of its own behavior, context you would otherwise have to keep in your head.
Bands are context, not trade calls.
Independent buy & sell lines: see both sides
Watch buy-side and sell-side flow as separate lines instead of only their net. One side going vertical while the other flatlines is a very different market than both rising together, and the net alone can’t tell you which.
Choose the Buy / Sell line mode to plot the two sides as they are or with executions taken out.
The deep-book warning: top of book fighting the deep book
When the top of the book and the deeper book disagree, the indicator shows a deep-book warning. Treat it as a reason for caution rather than a signal. The indicator computes the signal twice, at depth 1 and depth 10, and warns when they fight. It is a caution flag, deliberately not an entry arrow, and a top-of-book-only tool cannot compute it.

Absorption vs. initiative: book against tape
When the book stacks bids while the tape sells into them, that’s absorption. When book and tape lean the same way, that’s initiative. The indicator labels the state as context, not as a signal; we tell you plainly which parts of the product rest on research evidence and which don’t.
New in 3.0
Choose the line you trade from
Pick Total, Passive or Placement Flow as your core line. The Resistance / Support band is sized from that line, and the arrows, the console and the alerts read it. Change it at any time; the band follows.

Arrows on the price chart
When the line you trade from crosses outside its own band, an arrow marks it at the price: green pointing up, below the price, when the crossing is bullish, and red pointing down, above it, when it is bearish. A note is added to the console, with the reading in sigma.

One console for every instrument
Every instrument the indicator is loaded on, in one window: the headline, the four-window ladder, the state of the book against the tape, a log that adds a line when that state changes, per-instrument alerts and global notifications. Each tile names the line it is reading.

Your readings in your own tools
An optional local data API serves every line, its sigma and its band as JSON to programs on the same computer, with an optional API key. It is off by default and cannot be reached from another computer.
{
"apiVersion": 1,
"indicatorVersion": "3.0.21",
"platform": "bookmap",
"time": "2026-10-14T09:31:05",
"instruments": [{
"symbol": "ESZ6",
"stale": false,
"line": "Total Flow",
"headline": "Total Flow +1.2σ (5m)",
"windows": [{
"minutes": 5,
"total": 5494,
"passive": -3353,
"aggressive": 8847,
"sigma": 1.2,
"warm": true
}]
}]
}Chart images. The chart images on this site show the indicator's display on market data, to explain what it draws. They are not trading results or trade recommendations, and the risk and hypothetical performance disclosures above apply to them. We publish no trading performance. The full text is on the disclosures page.
It tells you when it doesn’t know
When the indicator does not have a reliable reading, it says so.
WARMING UP 62%, band needs 25 min
Until the statistical band is fully seeded, the indicator says so instead of plotting garbage that looks plausible.
STALE, last event 09:41:07
A dead data feed can look like quiet flow. The indicator greys out the reading and shows the time of the last event.
Never filtered, never repainted
The indicator reflects the raw stream. What you see at the close is what it showed live.

Yes. The indicator measures the order book itself, so a depth feed is required.