OPEN-SOURCE SCRIPT
Aktualisiert

Absorption Shelf Dwell-Coil Reversal Levels

1 544
█ OVERVIEW

Absorption Shelf finds reversal LEVELS the opposite way round from a pivot or a profile POC: it starts from TIME. A price band becomes a "shelf" because price DWELT there — an anomalous amount of occupation time — while its range COILED (volatility compressed). Only then do orthogonal order-flow lenses CONFIRM whether that shelf is genuinely ABSORBING flow rather than merely balancing, and a confirmed close back out of the band is treated as the reversal. It asserts no signal and no win-rate; it shows, honestly and past-only, how often price has actually rejected off these shelves versus a matched base rate.

█ HOW IT WORKS

Substrate — one lower-timeframe stream (request.security_lower_tf) supplies a per-bar buy/sell split (BVC-Normal / Tick / Geometry) for delta and signed order flow; it falls back to the chart bar when no intrabar data exists. The method in force is shown (REAL / EST).
Dwell field (the level generator) — a rolling, fixed-tick OCCUPATION-TIME map: each confirmed bar adds time to every price level its range covers, and the bar leaving the window subtracts it exactly (a reversible ring buffer). Levels at or above a self-set percentile κ are "hot"; adjacent hot levels merge into candidate BANDS.
Coil + containment (the stall trigger) — a band is promoted to an ACTIVE shelf only when compression (1 − ATRfast/ATRslow) clears a threshold AND enough recent closes sat inside the band. Dwell + coil together are what make a quiet band a shelf — this is the part a pivot- or profile-based level does not have.
Confirmation lenses (on the band only) — Effort-vs-Result √-law residual (E: heavy volume, little price result = absorption), localized Kyle-λ collapse (K: price barely moves per unit signed flow), Dwell-decay (D: the band has stopped accreting time = primed to release), Rejection-wick clustering (W: Wilson-floored), and CVD divergence (V). Each abstains cleanly on missing data.
Fusion — the active lenses combine by correlation-aware Bayesian log-odds: each is reliability-shrunk by its own past edge and Kish-decorrelated so the absorption family (E, K, D) contributes about one lens' worth, not three, then squashed to P_abs → BALANCE / ABSORBING / PRIMED. Shelves are down-weighted in strong trend (a built-in efficiency-ratio regime gauge, or a consumed external one).
Flip + lifecycle — a confirmed close out of the band against the approach is the reversal (a ▲ bullish or ▼ bearish flip, coloured by direction). Shelves carry a lifecycle: forming → active → flipped → spent → naked (kept until retested).
Reject calibration (honesty layer) — when price first touches an active shelf, the script forward-tests whether it REJECTS (turns back by k·ATR) BEFORE it CONTINUES through by k·ATR, versus the matched unconditional reject-vs-continue base rate: reject% (n, Wilson 95% lower bound) vs base% → edge, broken out by tag (does PRIMED out-reject ABSORBING out-reject BALANCE?), split in-sample / out-of-sample, and Bonferroni-deflated. Past-only, non-repaint.

█ HOW TO USE

Read the shelves as context, not as entries. A teal band below price is a support shelf (price is being held from below); a red band above is a resistance shelf. Brightness tracks how strongly the band was dwelt. The tag tells you what the flow says about it — BALANCE is just a quiet level, ABSORBING and PRIMED mean the lenses agree a wall is soaking flow there. A ▲/▼ flip marks where price actually closed back out of a shelf against its approach. The calibration line is the honest part: it tells you, on this symbol and timeframe, how often tagging a shelf has preceded a real rejection versus random — and shows nothing when the sample is small. A flat read with no active shelf is a genuine "no location here", not a broken one. The dashboard defaults to Compact (shelf, tag, dwell %, flip); switch it to Pro for the lens-by-lens glyphs and the calibration breakout. Horizon and holding are yours to decide; it emits no orders.

█ INPUTS

01 · Data & Trade-Side — LTF granularity, classifier, BVC sharpness.
02 · Dwell Field — ticks-per-level, dwell window, hot-level percentile κ, band merge gap, min band width.
03 · Coil & Stall — fast/slow ATR, minimum coil to promote, containment lookback / fraction / buffer.
04 · Confirmation Lenses — enable E / K / D / W / V and their sensitivities.
05 · Fusion — Kish decorrelation, self-set tag percentiles (absorbing / primed).
06 · Flip & Lifecycle — flip distance (×ATR), ghost retention, max shelves tracked.
07 · Regime & Self-Cal — trend down-weight (built-in efficiency ratio, or consume an external regime).
08 · Calibration — reject size (×ATR), horizon, Bonferroni, in/out-of-sample split.
09 · Microstructure Links (optional) — consume external Toxicity or Kyle λ; never recomputed.
10 · Display — bands, how far back to draw, badge, lens glyphs, flip markers, naked shelves, dwell heat spine, dashboard detail (Compact default / Pro).
11 · Style — Auto / Dark / Light theme.
12 · Exports — shelf levels, tag, P_abs, dwell percentile, coil, flip direction, naked levels, reject edge, active lenses.

█ HONESTY & LIMITATIONS

Descriptive, not predictive. Order-flow side is an OHLCV ESTIMATE (BVC / tick / geometry), not a Level-2 book; on symbols with no volume the flow lenses (E, K, V) abstain and the shelf runs on dwell + coil + wick alone, stated in the dashboard. Coil is measured chart-wide (ATR ratio) while containment is per band. The reject calibration is a past-only, first-touch two-barrier (reject-vs-continue) forward test against a matched base rate with a Wilson lower bound, tag buckets, an in/out-of-sample split and a Bonferroni deflation; a small sample is discounted automatically and no edge shown means honest, not broken. Non-repaint by construction: dwell and coil accrue on confirmed bars, shelves promote from confirmed history, the flip fires on a confirmed close, calibration events resolve only after the horizon, and the render recomputes once per confirmed bar. For runtime the script processes the most recent ~5000 bars and gates the calibration engine behind its own toggle. It prints no verdict and no win-rate.

█ ORIGINALITY

One coherent object: a reversal level whose EXISTENCE comes from occupation time plus volatility compression, with order flow demoted to confirmation on that band. This is deliberately distinct from a volume/footprint profile (those build the level from volume-at-price and fire sweeps event-by-event), from pivot- or kernel-based support/resistance (those build the level from swing geometry), and from a potential-well or mean-reversion model (those are price-dynamics with no time-at-price). The dwell-time + coil "absorption shelf" as the level generator, the dwell-decay lens that only this occupation field makes possible, and the correlation-aware fusion that explicitly discounts absorption-lens redundancy are the specific original contributions. Every block was written from scratch for this tool; the lenses feed one decision (is this band absorbing?) rather than being independent indicators stapled together.

█ CREDITS

Occupation-time / TPO at price — Steidlmayer / Market Profile. Price-impact λ (delta-response) — Kyle (1985). Square-root market-impact law — Almgren; Tóth, Bouchaud et al. Bulk Volume Classification — Easley, López de Prado & O'Hara. Trade-side tick rule — Lee & Ready (1991). Two-barrier / triple-barrier forward test — López de Prado. Wilson score interval — Wilson (1927). Design-effect / effective sample — Kish (1965). Code written from scratch; no external script reused.

This script is for analysis and education. It is not financial advice.
Versionshinweise
v1.1 — VSA bar-event confluence on the shelves. Additive; the dwell-coil engine, the five fusion lenses and the reject-calibration harness are byte-for-byte v1.0.

The tool locates absorption shelves from occupation time and volatility coil, then grades them with its five lenses. This update adds the missing bar-level read: what the individual bars doing the absorbing are saying. Because the shelf is already the level, a named Wyckoff bar-event landing on that level is high-quality confluence for the flip.

What's new

Named VSA / Wyckoff bar events, marked on the chart. Effort-vs-result classifications on each bar — Upthrust (new high rejected on volume → bearish trap), Shakeout (new low reclaimed → bullish trap), Stopping Volume (wide down-bar closing off its low → demand stepping in), and Buying / Selling Climax (peak-volume wide bars → exhaustion). Optionally also the low-volume No-Demand / No-Supply events. They print as small tagged markers (UT / SO / SV / BC / SC) — using plotshape only, so the label and box pools the shelf bands draw from are completely untouched.
Why they pair with the shelves. An Upthrust into a resistance shelf, or Stopping Volume on a support shelf, is exactly the bar-by-bar evidence that the shelf is doing its job — a reason to trust the flip. The events read the same effort-vs-result vocabulary the shelf's own lenses use.
Optional time-of-day volume baseline. When on, "high volume" is judged against the same wall-clock slot on prior sessions rather than a flat window — so a normal-for-the-open bar isn't flagged as a false climax, and a genuinely heavy-for-lunch bar is caught. Default off; state-safe (no repainting ta.*).
New export EXP_VSABias (+1 bullish / −1 bearish / 0) and alerts for the trap, stopping and climax events. The whole layer toggles off in group 13.

What is unchanged. The occupation-time dwell field, the coil/containment promotion, the five confirmation lenses (Effort-vs-Result, Kyle-λ collapse, Dwell-decay, Rejection-wick, CVD-divergence), the correlation-aware Bayesian fusion, the flip lifecycle, and the Wilson-bounded first-touch reject-vs-continue calibration with its IS/OOS split are all byte-for-byte v1.0. The VSA events are read-only bar classifications; they feed nothing back into the shelf detection, fusion, or calibration.

Still a study, not a signal service — it asserts no buy/sell and no win-rate. Order-flow side from OHLCV is an estimate (method shown; lenses abstain on no-volume). Non-repainting: everything accrues on confirmed bars and calibration resolves only after its horizon. Concept credits unchanged (Steidlmayer occupation time; Kyle λ; √-law impact — Almgren, Tóth-Bouchaud; BVC — Easley-López de Prado-O'Hara; Lee-Ready; two-barrier test — López de Prado; Wilson; Kish); the VSA taxonomy is the standard Wyckoff/Volume-Spread-Analysis vocabulary. Research/education only, not financial advice.

Haftungsausschluss

Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.