Hidden tape + dark-pool reads.
Footprints in fresh snow tell you a lot — number of people, direction, weight, urgency. Footprints under a streetlight at midnight tell you almost nothing — too many overlapping prints, no way to count individuals. Volume on a chart is the snow. When volume is high and the print is clean, you can read it. When it's thin and overlapping, the read is noise. The Hidden Tape (HT) score the framework computes is a 0-10 read of whether the volume on a daily bar tells a coherent story — and specifically, whether that story matches the price action. Most of the time, price and volume agree. Sometimes they don't. The "don't" cases are where the highest-conviction setups and the worst traps both live.
What HT actually measures
The Hidden Tape score is a composite of four signals scored 0-10 each, then averaged:
- Volume confirmation — does today's volume match what the price action suggests it should be? A breakout on 1.7× average volume scores high; a breakout on 0.8× volume scores low.
- OBV trend — On-Balance Volume direction over the last 14 sessions. Rising OBV during an uptrend = accumulation. Falling OBV during an uptrend = distribution (price up, money out).
- Dark-pool percentage — fraction of total volume printed off-exchange. Above 50% off-exchange typically means institutional flow. Below 35% means retail-dominated.
- Volume-by-price profile — is current price at a high-volume node (HVN) or a low-volume node (LVN)? HVN bounces are sticky; LVN moves are accelerating.
A score of 8/10 means all four signals are pointing the same way and the volume story is coherent. A score of 2/10 means they're diverging — price is going one way, money flow says another.
The "bull-stack distribution" trap
The most dangerous failure mode the HT score catches: bull-stack distribution. The pattern looks bullish on every surface read — daily MA stack is bullish (50 above 100 above 200), trend is up, candle prints look healthy, RSI is in a normal range. By every retail-trader chart-reading rule, the setup looks like a buy. But the HT score is 2/10, sometimes 1/10. The reason: institutional flow is using the visible bullish strength to unload shares to retail at high prices. OBV is falling while price is rising. Dark-pool prints are heavy. The HVN at current price is being defended on the upside (where retail buys) and absorbed on the downside (where institutions sell into the bid).
The price-action reader sees a healthy uptrend. The HT reader sees a distribution event masquerading as an uptrend. The framework refuses these setups by default. The pillar chip on the audit card reads ⚠ Trap: bull-stack distribution and the trader is shown the specific HT score driving the refusal. Lesson 7's "patterns are the alphabet, context is the sentence" principle: the price pattern says go; the volume context says no.
Reading the four sub-signals
Volume confirmation. Easy to read. Pull up the volume bar under the daily candle. Compare to the 20-day average volume bar. Is today above or below? Above 1.3× = confirmation. Below 0.8× = absence of conviction. The framework computes this automatically; the trader can eyeball it.
OBV trend. Slightly harder. OBV (On-Balance Volume) sums signed volume — adds today's volume on up days, subtracts on down days. The trend over 14 sessions matters more than the absolute level. Rising OBV during a price uptrend = real buying. Flat OBV during price uptrend = light buying / passive flow. Falling OBV during price uptrend = the divergence that defines distribution.
Dark-pool percentage. What share of total volume printed off-exchange (in dark pools / ATS venues vs. lit exchanges). Generally: institutional traders use dark pools to avoid telegraphing size, so a high dark-pool % is consistent with institutional activity. Direction matters too — high dark-pool % with falling OBV is the classic distribution signature.
Volume-by-price (HVN / LVN). Where on the 60-day volume profile is current price? An HVN (High-Volume Node) is sticky — price tends to consolidate there, lots of orders parked. An LVN (Low-Volume Node) is a gap in the profile — price accelerates through them. Setups at HVNs should expect noisy resolution; setups breaking through LVNs should expect clean follow-through.
What the framework does with HT
- Pillar gate. HT below 4/10 fails the volume-confirmation pillar (E5 / O5 in the canonical labeling). New entries refused at preview.
- Trap detection. Specific divergence patterns (bull-stack distribution, exhaustion gaps, distribution-into-strength) generate explicit trap chips that name the pattern.
- R:R discount. When HT is 4-6/10 (mediocre), the R:R floor effectively rises — the framework requires a higher R:R to clear the gate, because the trade has more "show me" needed before sizing.
- Whale Confirmation Coach trigger. Low HT scores on otherwise-passing setups trigger the WCC verification layer (Lesson 29 — coming in Advanced) which web-searches SEC filings + dark-pool reports to confirm whether the divergence is real distribution or just noise.
Reading HT in practice
The Friday close ritual benefits from a 30-second HT scan: which open positions show HT divergence (price strong, volume weak)? Those are positions to either trim or watch closely the following week. New candidates with HT divergence get filtered out by the pillar gate before they reach the watchlist; existing positions that develop HT divergence after entry are the ones requiring active management. The dashboard surfaces this on the audit card with the HT 0-10 chip and color coding.
The real lesson
Price tells you what happened. Volume tells you who. Hidden tape tells you whether the "who" is consistent with the "what" — and in the cases where it isn't, the framework's job is to pay attention. Most retail traders read price and ignore volume because volume requires more interpretation. Most institutional traders read volume because it's the only honest signal in a market full of manufactured price action. The HT score is the framework reading volume the way institutions do, surfacing it the way retail can act on.
Related: L16 — confluence merger · L18 — sweep detection