ETHUSDT1hReaction Memory
Free · open-sourceReaction Zones

Price Reaction Memory Heatmap

Support and Resistance Heatmap Indicator for TradingView

Price reacted there once. The question is whether that reaction still matters now.

The idea

Every zone keeps its own history. Retests, penetration and time can strengthen it, wear it down or retire it.

Free & open-source · Any market and timeframe · Built on confirmed bars; a pivot is known only after its right-side bars close · Memory Score is descriptive, not a probability · A chart-analysis tool, not a signal service, not financial advice, and no performance guarantee.

Reaction ZonesCategory
Reaction Zones · Memory ScoreStyle
XAUUSD, Forex, Crypto, IndicesMarkets
All timeframesTimeframes
Free · open-sourceAccess
What it does

An open-source reaction-memory overlay: a confirmed pivot becomes a zone only after a qualified reaction of at least 2.00 ATR, and every zone then keeps its own history of distinct retests, penetration depth and post-touch reactions. Completed retests are classified as reinforced, neutral or weakened, time decays stale memory, and a 0–100 Memory Score (reaction quality 25%, freshness 20%, retest resilience 15%, zone integrity 20%, outcome evidence 20%) shows how much each zone still retains, until a confirmed close beyond the far edge invalidates it or its memory depletes.

Most zone tools are good at showing where price reacted and much less honest about what happened afterwards. A clean reaction area gets drawn once and keeps the same colour and weight after fifty bars, four retests and a wick through most of its depth. A tired zone looks exactly like a fresh one, so you give it the same trust.

Price Reaction Memory Heatmap treats each reaction as something with a lifecycle. A confirmed pivot (3 bars each side by default) only becomes a Memory Zone if price then moves at least 2.00 ATR away from it within 20 bars, and nearby or closely timed same-side zones are filtered out. From then on the zone records its own history: a touch counts only when price moves from outside to inside, penetration is measured against the zone's depth and capped at 100%, and the reaction after each touch is measured from the next bar, because OHLC cannot tell whether the extreme came before the touch.

Every completed retest is classified. A strong response with shallow penetration reinforces the zone, a deep penetration with a weak response weakens it, anything else is neutral. Age, retests, penetration and that accumulated evidence feed a 0–100 Memory Score in five bands: STRONG, ACTIVE, WEAKENING, FADING and DEPLETED. Badges show direction and score (✅ reinforced, ⚠️ weakening, ❌ fading). A confirmed close beyond the far edge structurally invalidates a zone, depleted memory retires it, and both are archived in grey rather than disappearing. Open-source and free, so you can read every rule.

What you get out of it
  • Keep only reactions that moved at least 2 ATR, not every swing
  • See how much memory each zone still carries as a 0–100 score
  • Know when a retest reinforced a zone and when it wore it down
  • Tell structural invalidation apart from memory simply fading
  • Read the whole map at a glance: active zones, strong memory, average score
  • Free & open-source: inspect and adapt every line of the logic
Best for

Traders who mark reaction zones and want to know which ones still carry weight

Inside the engine

8 components, one output

Qualified reactions only

A confirmed 3/3 pivot has 20 bars to produce a 2.00 ATR move away from it. Candidates that never react expire, so ordinary swings never become zones.

Zone-quality filter

New zones too close to an active same-side zone (0.50 ATR) or born too soon after one (8 bars) are skipped, and at most 12 active zones are kept.

Distinct retests

A touch counts only on an outside→inside move, so several bars sitting in a zone are one interaction, not five.

Penetration as damage

Depth inside the zone is measured from 0% to 100% of its depth and damages Zone Integrity. Going past the far edge is handled by invalidation, not by a 400% reading.

Reinforce · neutral · weaken

Each retest is judged over 12 bars: ≥ 1.00 ATR reaction with ≤ 60% penetration reinforces; ≥ 70% penetration with < 0.50 ATR reaction weakens the evidence.

0–100 Memory Score

Reaction quality 25%, freshness 20% (halves at 120 bars), retest resilience 15%, zone integrity 20% and outcome evidence 20%, shown in five bands.

Invalidation vs depletion

A confirmed close 0.10 ATR beyond the far edge invalidates a zone; a score under 20 after 30 bars depletes it. Both archive in grey instead of vanishing.

Heatmap, panel & alerts

Stronger zones stay visually dominant, weaker ones soften. A Memory Map panel counts active and strong zones, and alerts cover touch, strong touch, reinforced, invalidated and new strong zones.

How to use it

From a blank chart to a read

  1. Add Price Reaction Memory Heatmap to any chart with the default settings.
  2. Read where a zone sits first, then its Memory Score badge.
  3. Check its state: ✅ reinforced, ⚠️ weakening, ❌ fading, or plain for active memory.
  4. Remember a zone appears only after its pivot confirmed and the reaction qualified. It was not known on the pivot bar itself.
  5. Use the Memory Map panel to see how many active and strong zones are on the chart.
  6. Filter by side or minimum score in Production Controls when the map gets busy.
  7. Treat zones as context for your own analysis, and set alerts to monitor touches, reinforcements and invalidations.
Written guide

10 pages, included

All 10 pages are open to every member.

Price Reaction Memory Heatmap — questions

It is free and open-source.
Read it, then run it.