Scanning 21 assets for OBV divergences…
basics store · 6 windows · computed live in your browser

OBV divergences — is volume actually backing the price move?

On-balance volume (OBV) is a running total that adds a bar's traded volume when price closed up and subtracts it when price closed down — one line answering "is real volume flowing in or out?". When price and OBV disagree at their swing points (a divergence), the price move is not being backed by volume flow — that disagreement is what this page finds, across all 21 assets that report real traded volume, and ranks by size. Every variable of the OBV equation is a slider below.

Loading…
loading windows…
Tune the OBV equation OBVt = OBVt−1 + dirε(Ct vs Ct−k) · (Vt / norm)α , then smoothed(L) classic
recompute cost: —

Where is price moving without volume behind it?

Every current OBV divergence across 21 assets × 6 windows (1d · 1w · 1m · 1q · 1y · 5y), for every ACTIVE profile, ranked by strength. Click any column header to sort; click a row to open its chart below. Only signal-grade candles are scanned — 30m · 45m · 1h · 4h · 1d, never finer. Every profile is swept across a ladder of pivot widths (2 · 3 · 5 · 8 · 13, plus your own W when it differs) and a pivot is confirmed by one closed candle, not by the full width — earlier signals, deliberately at the cost of some being invalidated later. Current means confirmed within the last 5 candles. Anything older is history and is left off the board and out of the alerts. The Candle column says which candle each divergence was detected on; Widths says how many of the swept widths agreed. Alerts: ≥ 0.45 OBV divergences, confirmed within 5 candles, on 30m/45m/1h/4h/1d candles only → Telegram · classic equation · 5-min scan (RSI alerts come from /rsidiv, same room).
Loading…
loading the covered-instrument list…

Notes

What a divergence is here Price and OBV each make swing pivots. When consecutive same-side price pivots and the OBV readings at those exact bars move in opposite directions, the two lines disagree — that pair of pivots, connected, is the divergence drawn on both panes.
Strength The gap between the two OBV pivot readings, as a share of OBV's whole observed range (0–1). It measures how loudly volume flow disagrees with price — not how far price moved.
No volume = no OBV Four /basics assets report no traded volume, so OBV is impossible and they are excluded: US 10Y yield (a cash yield index) · US Dollar index (a cash quote) · the Mag 7 basket and the USD basket (computed baskets have no volume of their own). The Mag 7's seven member stocks ARE each in this universe individually.
Sparse volume flagged Some intraday feeds report volume on only part of their bars (Bitcoin's fast lane, Korean session edges). Any asset-window where fewer than 60% of bars carry volume gets an amber sparse vol chip — its OBV is computed from the bars that do report, and the flag says so honestly.
Only signal-grade candles The candles that matter here are 30m · 45m · 1h · 4h · 1d — nothing finer. A 5-minute divergence is mostly noise by the time you could act on it, so the 5m and 15m lanes were removed outright: no window auto-selects them, the selector does not offer them, and the board itself drops any row computed on a candle outside that set, so nothing finer can reach the table or Telegram by any route.
Windows & resolution Auto: 1d→30m · 1w→45m · 1m→1h · 1q→4h · 1y→1d · 5y→1d — the six windows are spread so all five signal-grade candles are covered exactly once. The candle selector (auto/30m/45m/1h/4h/1d) overrides this per window where the pick is feasible; 45m and 4h are aggregated in your browser from 15m/1h bars on epoch-UTC bucket boundaries, 30m comes straight from the store. Every window ends at the latest session that actually has data (never a blank off-hours chart). Per-window bar counts are in the line under the header.
Profiles A · B · C Three full slider sets, saved and applied at once. Every ACTIVE profile is computed and drawn — its own colored OBV line (A red · B blue · C black), its own board rows (tagged with its letter), its own click-to-explain text. A is the classic textbook OBV until you change it; B and C are drafts until you press Save & apply.
Only CURRENT divergences Both this board and the Telegram push list a divergence only while it was confirmed within the last 5 candles — the Confirmed (candles ago) column is that number, and 0 means it became detectable on the newest candle. Older divergences still exist in the price history and are still drawn on the chart when you open one; they are simply not reported as live signals. The scan window slider is a different thing again: it caps how far apart the two paired pivots may sit, not how old they may be.
Early by design — one candle confirms A pivot needs the full width to its LEFT, but only one closed candle to its right. The textbook detector waits for the full width on both sides, which at width 5 means the signal arrives 5 candles late — by then the move has usually happened. This board deliberately trades certainty for earliness: a pivot called on one candle can still be invalidated by the next few. That is the risk being bought on purpose. Read the Widths column as your counterweight — a divergence seen at several pivot widths at once is standing on more than one reading of the swing structure.
Widths — many swing scales at once A single pivot width only sees swings of one size, and a 3-candle pivot and a 13-candle pivot are genuinely different market structures. Every profile is therefore run at 2 · 3 · 5 · 8 · 13, plus whatever your own W slider is set to when that is not already one of them, and the same pivot pair found at several widths is merged into ONE row listing them all (3/5 · 2·3·5 = found by 3 of the 5 swept widths, namely 2, 3 and 5). Widths that land on genuinely different pivot pairs stay as separate rows — they are different readings, and merging them would be a lie. Sort by Widths to put the most-corroborated first.
Telegram alerts A scheduled scanner re-computes every 5 minutes and pushes any NEW OBV divergence that is strength ≥ 0.45 AND current by the 5-candle rule above, batched into one message per scan. It runs the CLASSIC equation: your A/B/C profiles live in this browser's storage and are invisible to it. RSI divergence alerts come separately from the /rsidiv scanner (also every 5 minutes) — both pipelines post into the same Telegram room, each clearly labeled by indicator.
Computed in your browser Every slider move re-runs the whole engine — OBV + swing detection + divergence pairing for all 21 assets × 6 windows × every active profile — live, client-side. The measured cost of the last run is shown under the sliders. Inputs are debounced (~120 ms).