# Level Freshness & Decay

Also known as: fresh vs tested, touch count.
A Support/Resistance & Levels concept (Horizontal S/R) in the LuxAlgo Library, with 1 indicator implementation.

## What is Level Freshness & Decay?

Level freshness and decay is the idea that a level's expected behavior changes with every interaction. A fresh [support](https://www.luxalgo.com/library/concept/support-level/) or resistance level, one that has not been revisited since it formed, still holds whatever resting interest created it. Each touch consumes part of that interest: resting orders get filled, and the participants defending the level are either satisfied or step away. Touch count is therefore a standard scoring input, and in order-flow and [supply-and-demand](https://www.luxalgo.com/library/concept/supply-and-demand-zones/) doctrine a zero-touch level ranks highest, with the score decaying on every test.

The classical reading runs the other way, and both deserve stating. Older textbooks call a level stronger the more often it has held, because repeated defenses demonstrate participation. Order-flow reasoning counters that each defense spends ammunition, which is why a third or fourth test into a tightening market is widely read as a prelude to the [breakout](https://www.luxalgo.com/library/concept/breakout/). In practice touch count is information to weigh, not a dial that turns one way.

Implementations turn the doctrine into bookkeeping. A tracker records each level's birth, applies a touch rule to count interactions, and decrements a score per touch, per unit of elapsed time, or both; a decisive break either deletes the level or flips its role. The smart-money vocabulary for the same idea is mitigation: a zone that price has returned to is called mitigated, meaning its resting interest is presumed spent, and scripts typically fade or gray it out. The Library's examples span the styles: ddctv's Counting Support & Resistance Levels makes the touch arithmetic explicit, NOSRAL's Session High/Low Levels with Mitigation retires session extremes once revisited, and Bostonshamrock's Carryover Levels Tracker follows which prior-session levels survive untouched into new sessions.

Two refinements keep the idea honest. First, the quality of a test carries more information than its count: a quick, shallow probe that gets rejected hard says the defenders remain, while a slow grind that penetrates deep and bounces weakly says they are being absorbed, whatever the counter reads. Second, freshness is one score among several; it combines with the level's origin and rank from [level clustering algorithms](https://www.luxalgo.com/library/concept/level-clustering-algorithms/) and with the bounce-or-break playbook of [level interaction rules](https://www.luxalgo.com/library/concept/level-interaction-rules/). There is little formal published evidence for any specific decay schedule, so treat the exact weights as convention and calibration, not law.

## How to identify level freshness and decay on a chart

Freshness tracking is bookkeeping applied to a level map, and it only means something if the rules are pinned down first.

1. Record each level's origin: the swing, session extreme, or zone birth that created it, and mark it zero-touch from that moment.
2. Define the touch rule explicitly, wick into the zone versus close inside it, plus a minimum bar gap so one consolidation does not count as five tests, and apply it without exceptions.
3. Count interactions and grade them: note the depth of each penetration and the speed of the rejection, since a weak, slow bounce spends the level faster than the count implies.
4. Apply the decay: reduce the level's score per touch and per elapsed period, and remove or flip the level on a decisive break with acceptance beyond it.
5. Re-rank the visible map so fresh, high-scoring levels carry trade weight while heavily tested ones are watched for failure setups instead of bounces.

## How traders use it

- As an entry filter: many supply-and-demand systems trade only fresh, zero-touch zones, or cut conviction after the first test and drop the level entirely after the second or third.
- As chart hygiene: automated level trackers age their lines, fading or deleting a level after a set number of touches, a time limit, or a decisive break, so the chart shows only levels that plausibly still carry standing interest.
- To anticipate the break: repeated tests with progressively weaker bounces suggest the defenders are being absorbed, shifting the plan from fading the level to trading its failure.
- For session carryover: tracking which [prior period levels](https://www.luxalgo.com/library/concept/prior-period-levels/) remain unmitigated into the new session gives an opening map of levels that still owe a reaction, the logic automated by carryover trackers.
- To size risk at zones: first touches of a fresh [zone](https://www.luxalgo.com/library/concept/s-r-zone/) are commonly traded with tighter stops and fuller size, while tested zones demand confirmation first, so the freshness score directly modulates the entry tactic.

## Level freshness vs related level concepts

- **Level Clustering Algorithms** (https://www.luxalgo.com/library/concept/level-clustering-algorithms/): Clustering builds the map; freshness and decay maintain it. One decides which prices deserve lines, the other decides how much each line still deserves trust as touches and time accumulate. Serious level engines run both stages.
- **Level Interaction Rules** (https://www.luxalgo.com/library/concept/level-interaction-rules/): Interaction rules are the playbook at the level: what counts as a bounce, a break, a retest. Freshness is a prior that weights the playbook, raising expectations at untouched levels and lowering them at spent ones.
- **Supply & Demand Zones** (https://www.luxalgo.com/library/concept/supply-and-demand-zones/): Zone doctrine is where the zero-touch preference originates: an unmitigated zone is held to contain unfilled institutional interest. Freshness and decay generalize that reasoning to every level type, from swing levels to session extremes and formula pivots.

## FAQ

### Is a support level stronger the more times it is tested?

Sources genuinely disagree. Classical technical analysis treats repeated holds as proof of strength, since each defense demonstrates active buyers. Order-flow and supply-and-demand reasoning argues each test consumes the resting orders that made the level hold, so heavily tested levels sit closer to breaking. In practice many traders trust the first one or two tests most and treat later tests with growing suspicion.

### What counts as a touch of a level?

There is no universal rule. Common conventions: any wick trading into the zone counts; only a close inside the zone counts; or a new touch requires a minimum number of bars since the last one, so a single consolidation does not register as five separate tests. Whichever rule you choose, apply it consistently, because touch-count filters and freshness scores depend directly on it.

### What does it mean when a zone is mitigated?

Mitigation is the smart-money-concepts term for a zone that price has returned to since it formed. The presumption is that the resting orders which created the zone have been filled on the revisit, so the zone is spent and no longer owed a reaction. It overlaps heavily with tested in ordinary level language, and mitigation-aware scripts gray out or delete zones once the revisit happens.

### Does freshness apply to formula levels like pivots?

Less directly. Formula levels such as [floor pivots](https://www.luxalgo.com/library/concept/floor-pivots/) regenerate every period, so most of the map is born fresh each day and dies at the close regardless of touches. The concept re-enters through carryover: a prior day's high or an old pivot that was never traded through can stay relevant across sessions, and trackers that follow unmitigated carryover levels are applying freshness logic across period boundaries.

### How fast should a level's score decay with time?

There is no published constant, and any specific half-life is a calibration choice. The sensible anchor is the timeframe that created the level: an intraday session extreme ages in hours to days, while a weekly swing level can stay meaningful for months. Time decay also serves a different purpose than touch decay, retiring levels whose market context has moved on even if price never returned to test them.

### Should a broken level be deleted from the map?

Usually converted rather than deleted. A clean break with acceptance beyond it flips the level's role, broken support becomes candidate [resistance](https://www.luxalgo.com/library/concept/resistance-level/), and the first retest from the far side is a classic setup in its own right. Deletion is reserved for levels that have been churned through repeatedly in both directions, at which point no side owns the price and the line is noise.

## Implementations in the Library

- Level Freshness & Decay (LuxAlgo): https://www.luxalgo.com/library/indicator/level-freshness-and-decay/

## Related concepts

- S/R Zone: https://www.luxalgo.com/library/concept/s-r-zone/
- Level Interaction Rules: https://www.luxalgo.com/library/concept/level-interaction-rules/
- Level Clustering Algorithms: https://www.luxalgo.com/library/concept/level-clustering-algorithms/
- Support Level: https://www.luxalgo.com/library/concept/support-level/
- Resistance Level: https://www.luxalgo.com/library/concept/resistance-level/
- Round Numbers: https://www.luxalgo.com/library/concept/round-numbers/
- Role Reversal: https://www.luxalgo.com/library/concept/role-reversal/

---

Source: https://www.luxalgo.com/library/concept/level-freshness-and-decay/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/