Absorption zones
Absorption Zones marks runs of N consecutive body levels in a bar where one side's volume dominates the other by a ratio, then extends a rectangle to the right until a later bar closes beyond the zone.
Senzoukria · Documentation · Updated September 2026
Where to find it
- Where
- Chart → Indicators → Overlays → Absorption Zones
- Default
- Off; Ratio 150 %, Stacked levels 3, Min vol/level 50, Days look back 80
- Colors
- Bullish cyan #00FFFF (ask absorbs bid), bearish orange #FFA500 (bid absorbs ask)
- Alert
- Alert on detect on by default
What it does
The detector follows the ATAS V1 convention. Inside each bar it scans only the levels between open and close (wick levels are excluded), sorted by price. A bullish zone is a run of at least Stacked levels adjacent levels where ask volume divided by bid volume reaches Ratio; a bearish zone is the mirror with bid over ask. Adjacent means no gap larger than about one tick between consecutive body levels, the dominant side must hold at least Min vol/level, and the weak side must have at least one contract.
A run only becomes a zone if the bar closes inside it (± one tick): a close beyond the stacked levels means the price broke through, so nothing was absorbed. Zones already covering the same price range and type are not re-emitted.
A zone then extends to the right from its detection bar until a later bar closes below priceLow − 1 tick or above priceHigh + 1 tick; a wick through the zone does not close it. Historical bars are scanned once when the settings change; the live bar is re-evaluated on every update so a fresh detection appears without a full rescan.
Settings
| Setting | Default | What it changes |
|---|---|---|
| Ratio | 150 % (100–1000, step 10) | Dominant side ÷ weak side per level, as a percentage |
| Stacked levels | 3 (2–10) | Minimum consecutive qualifying levels |
| Min vol/level | 50 (1–1000, step 5) | Minimum volume on the dominant side of each level |
| Days look back | 80 d (1–365) | Historical bars older than this are not scanned |
| Last bar only | Off | Detect on the live bar only; history is not scanned |
| Side | Both | Both, Bullish only or Bearish only |
| Max zones | 0 (0–50, 0 = all) | Cap on drawn zones |
| Border width | 1 px (1–4) | Rectangle outline width |
| Fill opacity | 25 % (5–80) | Rectangle fill |
| Alert on detect | On | Fires the chart alert when a new zone is detected |
How to use it
- Read a bullish (cyan) zone as sellers hitting the bid being absorbed by resting buyers inside the bar body; a bearish (orange) zone as the reverse.
- Raise Ratio or Min vol/level on liquid contracts such as ES where three adjacent 1.5× levels are common; lower them on thin contracts.
- Use Last bar only when you want alerts on live detections without the historical rectangles.
Limits or pitfalls
- This is a footprint heuristic on aggregated levels. It does not prove passive replenishment or iceberg orders; the order book is not read here.
- Days look back is measured from the current clock, not from the last loaded bar, so an old replay may have nothing in range.
- A zone is a description of what already happened; it is not a signal that the price will hold.
Related pages
- Absorption in trading
- Absorption markers study
- Passive absorption index study
- Liquidity walls on the footprint
This page in other languages
Frequently asked questions
- Why is no zone detected on a wide bar?
- Only levels inside the body are scanned, and the bar must close inside the run. A bar that closes beyond the stacked levels broke through and does not qualify.
- When does a zone stop extending?
- When a later bar closes more than one tick beyond the zone's low or high. A wick poking through is not enough.