Level 10 · Lesson 5

Market Acceptance
Zones

Market agreement, not support/resistance. Four-part acceptance scoring. Multi-timeframe consensus. Zones that are born, age, and die on their own. No levels to draw. No signals to chase.

Scroll to begin

First — Why This Matters

The S/R Delusion

Every retail trader learns to draw support and resistance lines. Precise horizontal lines at swing highs, swing lows, round numbers, previous closes. Every retail trader discovers the same thing: these lines don't actually hold. Not because the trader drew them wrong, but because the underlying concept is wrong. Price doesn't respect lines. Price respects regions of market agreement.

MAZ is the tool that corrects this. Instead of asking “where should I draw lines?”, it asks “where has the market actually been demonstrating acceptance?” — a completely different question. It scores four characteristics (efficiency drop, effort/result balance, volatility decay, participation stability), requires persistence before declaring a zone, enforces a width sanity check, and tracks each zone through a full lifecycle. The output is the opposite of a single precise line: a region, with a strength score, and an explicit confidence level (MAZ vs MAZ • N/3).

The Pine source states the philosophy plainly: “This is MARKET AGREEMENT, not support/resistance.” Read it as a category shift, not a refinement. Once you internalize it, you stop hunting levels and start reading structure.

🔎 THE MAZ AXIOM

A zone exists where the market has agreed. Not where YOU drew a line. Not where Fibonacci suggested. Where the four acceptance conditions were all simultaneously true for enough consecutive bars, within a tight-enough price cluster, that an algorithm looking only at raw market behavior flagged it. That objectivity is the point.

01 — Agreement ≠ S/R

Why Lines Fail Where Zones Work

A traditional S/R line claims precision it doesn't have. A zone admits its own uncertainty — it has height, it has a state, it has a consensus label, and it has a strength score. Every one of those properties exists because markets are statistical, not geometric.

💡 The Honesty Principle

A zone says “acceptance happened somewhere in this range.” A line says “price will reverse at exactly this number.” One of those statements is supportable by evidence. The other is confirmation bias waiting to happen. MAZ's refusal to emit lines is a design decision, not a limitation.

02 — The Acceptance Score

Four Components, Locked Weights

Every bar gets an acceptance score between 0 and 1. It is computed as the weighted sum of four bounded measurements: Efficiency (30%), ERD Balance (25%), Vol Decay (25%), and Participation (20%). The weights are CONSTANTS in the source code — they don't change with preset, market, or timeframe. Only the acceptance threshold does (0.48 Aggressive, 0.55 Balanced, 0.62 Conservative).

💡 Why These Weights

Efficiency gets the highest weight (30%) because low efficiency is the most direct signature of acceptance — price moving a lot without going anywhere. ERD Balance and Vol Decay tie at 25% each because both capture different facets of “effort being absorbed.” Participation gets 20% because it filters rather than detects — it confirms stability rather than identifying acceptance itself.

03 — Efficiency

Displacement Over Total Path

Efficiency = abs(close - close[lenBase]) / sum(abs(close - close[1]), lenBase). High efficiency means the market took the straightest path to its destination — classic trending behavior. Low efficiency means price walked a long path to go barely anywhere — classic rotation. MAZ treats efficiency ≤ 0.35 as a strong acceptance condition.

💡 Why 0.35 Specifically

The source exposes this as a configurable input (efficiencyLowThr). The default 0.35 means the path must be at least ~3× the displacement for the bar to count strongly toward acceptance. You can tune it — 0.30 for stricter zones, 0.45 for more relaxed. But change the acceptance threshold, not this number, unless you have a specific reason.

04 — ERD Balance

When Effort Equals Result

The Effort-Result-Distance balance compares effort (volume vs average) to result (price move vs ATR). Both are capped at 3× and 2× respectively to prevent outlier distortion. When they are roughly equal, ERD Balance is high — a “proportional” market doing ordinary rotation. When they diverge heavily (high volume, no movement — absorption; or big move on no volume — breakout), ERD Balance drops, and the bar counts less toward acceptance.

💡 The Absorption Blind Spot

ERD Balance intentionally REJECTS absorption as acceptance. “Price is being absorbed” and “price is being accepted” look similar at a glance but are opposites. Absorption means one side is pushing and getting stopped; acceptance means neither side is pushing hard. MAZ refuses to conflate them — which is why zones don't form in the middle of heavy absorption, even if efficiency is low.

05 — Volatility Decay

Contraction Is The Signature

Vol Decay uses a smoothed ATR and measures its 10-bar momentum as a percentage. If momentum is below -3% (contracting), the score is 1.0. If it's between -3% and 0% (stable/declining mildly), the score is 0.5. If positive (expanding), the score is 0.0. Expanding volatility is fundamentally incompatible with acceptance — expanding vol means directional release, not rotation.

💡 The Trinary Gate

Vol Decay uses three levels (1.0 / 0.5 / 0.0) rather than a continuous score. This is deliberate — it's a classification, not a measurement. Either volatility is contracting (clear acceptance condition), neutral (partial), or expanding (no acceptance possible). Binary-style decisiveness prevents ambiguous bars from sneaking into the score.

06 — Participation Stability

The Stability Filter

Participation = efficiency × sqrt(effortRatio). Its raw value matters less than its stability over the lookback window — 1 - (stdev / mean). A market where participation is bouncing around rapidly can't be in acceptance, even if other conditions line up. Below the participationMin threshold (0.45 default), the score drops to 0 — hard gate.

💡 The 20% Weight Decision

Participation gets the lowest weight (20%) because it's fundamentally a filter rather than a detector. The other three components (Efficiency, ERD, Vol Decay) tell you “is this behavior consistent with acceptance?” Participation tells you “is anyone actually engaged enough for this to matter?” Necessary but secondary — hence the smaller weight.

07 — Zone Birth

Persistence AND Width

A single accepting bar does nothing. Zone creation requires both: (1) a cluster of persistEff consecutive accepting bars (3 / 5 / 7 depending on preset), and (2) the high-low span of that cluster ≤ ATR × clusterWidthMult (3.5 / 2.5 / 2.0). The AND is critical — persistence without tight clustering is just a string of low-efficiency bars during a drift.

💡 Why The Dual Gate

You need persistence because one bar of acceptance is noise. You need width control because 5 bars oscillating over a 4×ATR range is still chop, regardless of score. Together they define “a real acceptance cluster” — tight in price, sustained in time. Failed width checks are the most common “zone almost formed” event, and the source discards them silently, which is the correct behavior.

08 — Lifecycle

Zones Have Lives

Every zone lives through four states. ACTIVE (fresh, strong — teal) transitions to AGING (grey) either from rejection (price breaking out with high efficiency + positive vol momentum) or from time passing (zoneAge > fadeBars/3). AGING transitions to HISTORIC (darker grey, H • prefix) from staleness. HISTORIC eventually hits REMOVE when strength drops below 0.15 or historic age exceeds 1200 bars.

💡 Revival Via Re-Acceptance

An aging zone CAN revert to active. The trigger: a “re-acceptance touch” — price touches the zone AND current bar has efficiency ≤ 0.35 AND vol momentum ≤ 0. This is rotation re-confirming. When it happens, strength bumps up (×1.01) and state flips back to ACTIVE. This is how zones “stay alive” through multiple tests — they need to be actively re-accepted, not just passively touched.

09 — Decay & Pruning

AMTF Decays Slower

Every zone's strength decays per bar: ×0.999 if AMTF (multi-timeframe consensus), ×0.998 if ATF-only. That tiny 0.001 difference means AMTF zones last roughly twice as long before hitting the 0.15 removal threshold. Rejection events apply an additional faster decay (×0.97 for ATF, ×0.98 for AMTF) — a sharp cut for breaking behavior on top of the background time decay.

💡 Deliberately Asymmetric Decay

The asymmetry isn't arbitrary. Multi-timeframe consensus zones represent deeper structural agreement — institutional flow operating across horizons. Single-timeframe zones can be intraday artifacts. Making AMTF decay slower is the code's way of saying: “different zone types have different half-lives in the real market — we model that explicitly.”

10 — Zone Merging

When Two Zones Become One

When a new zone candidate overlaps an existing zone by ≥ zoneMergeOverlapPct (0.30 / 0.45 / 0.55) OR their midpoints are within zoneMergeDistATR × ATR (0.50 / 0.35 / 0.25), they merge. The merged zone inherits the union of bounds, the max of strengths, and the max of tfCounts. It becomes AMTF if either parent was. No duplicates accumulate.

💡 The Merge Prevents Clutter

Without automatic merging, re-acceptance of a region would stack dozens of zones on top of each other — unreadable chart, duplicated analysis. The merge rule ensures there's at most ONE zone per region of acceptance, with its strength reflecting cumulative confidence. Conservative preset uses the loosest merge criteria (0.30 overlap or 0.50 ATR dist) because it already has fewer zones — those zones should rarely overlap.

11 — The Three Types

MAZ · MAZ • N/3 · H • MAZ

Every zone on your chart is one of three types. MAZ is chart-timeframe-only acceptance — fine for the TF you're on, no consensus claim. MAZ • 2/3 or MAZ • 3/3 is multi-timeframe consensus — the chart TF plus the Auto-MTF pair agreed simultaneously (weighted, structurally deeper). H • MAZ is historic — it's a past zone kept visible as memory context.

💡 The Consensus Detail Toggle

You can choose to display MAZ • HTF as a generic AMTF label, or MAZ • 2/3 / MAZ • 3/3 as explicit consensus counts. The explicit version is on by default because the difference between 2/3 and 3/3 matters — a 3/3 zone where ALL timeframes agree is meaningfully stronger than a 2/3 zone where only two align. Trade accordingly.

12 — Auto-MTF Mapping

The 18-Row Locked Table

When mtfMode is “Auto,” MAZ picks the two higher timeframes using a deterministic lookup — no guessing, no user input required. 15m → 1H + 4H. 1H → 4H + 1D. 1D → 1W + 1M. The mapping is structural — each chart TF pairs with the two TFs that professional multi-timeframe analysis traditionally uses for context and structure.

💡 Manual Override Exists

You can set mtfMode = “Manual” and choose your own HTF1 and HTF2 via the tfManual1 / tfManual2 inputs. Useful if you're running a system where you want, say, always 1H + 4H regardless of chart timeframe. But for 95% of users, Auto produces the right structural pairs. You can also set mtfMode = “Off” to disable MTF entirely — in that case every zone is plain MAZ.

13 — Acceptance vs Absorption ⭐

The Distinction Every Retail Trader Conflates

Watch any trading education stream for 30 minutes. At some point someone says “price is being absorbed at this level” and at another point “price is being accepted in this zone” — and they often mean the same thing. They are not the same thing. They are opposites. The confusion is so widespread that MAZ encodes an explicit test in the ERD Balance component specifically to reject absorption as acceptance. This is one of the few places in retail indicator design where a conceptual distinction gets hard-wired into the math.

🔮 The Distinction Doctrine

Absorption means one side is pushing and getting stopped. High volume, high effort, near-zero result — price hitting a level repeatedly with size and failing to break it. The institutional agent on the OTHER side is swallowing the order flow. It looks like range but it is conflict. Acceptance means neither side is pushing hard. Moderate volume, moderate effort, proportional result — price rotating gently because both sides agree the current range is fair. It also looks like range but it is consensus. On a candlestick chart they can look identical: a sideways box. The price action alone cannot distinguish them. You need the volume-to-displacement ratio — which is exactly what ERD Balance measures.

Why this matters operationally:

  • 1. Absorption resolves violently. When the absorbing agent finally withdraws or gets overwhelmed, price releases hard in the direction opposite to the failed pushes. Trade absorption as a REVERSAL setup, not a range.
  • 2. Acceptance resolves slowly. When an acceptance zone ends, it's because a new regime developed around it — drift, not explosion. Trade acceptance as a LEVEL, with expectation of mean reversion within the zone.
  • 3. MAZ refuses to draw zones during absorption. This is the key design decision. An absorption area might look like a rotation zone, but ERD Balance scores low because the effort-to-result ratio is broken. The acceptance score fails the preset threshold. No zone emitted. This prevents MAZ from marking the very areas where your trade thesis is most likely to fail.
  • 4. Stacking MAZ with MPG catches absorption directly. When MPG shows magenta (isAbsorbed: act >1.5 AND eff <0.30) near a price region where MAZ refuses to form a zone — that region is absorption. The two tools together give you an explicit read on what the price action alone can't tell you.

14 — Common Mistakes

Four Ways Traders Misuse MAZ

Every mistake below traces back to the same root: the trader is reading MAZ through an S/R lens. Remove that lens and the tool becomes immediately more useful.

📍

Treating MAZ zones like traditional S/R levels

MAZ zones are acceptance REGIONS, not levels. A zone at 74,500 is a range of agreement, not a precise number to set a stop at. The whole design philosophy (the zone has height, the label says MAZ not SR) exists to break the level-hunting habit. Trade the zone edges as context, not as exact pivots.

🏷️

Ignoring the MAZ vs MAZ • N/3 distinction

A plain MAZ is chart-timeframe-only acceptance. A MAZ • 3/3 is a zone where ALL configured timeframes agree. Treating them as equivalent means treating a scalp zone like an institutional zone. The consensus detail is the single most important readability feature — respect it.

⚙️

Using Aggressive preset on higher timeframes

Aggressive drops persistence to 3 bars and widens cluster tolerance to 3.5 ATR. On a 4H or Daily chart, this will produce a cluttered mess of overlapping zones that merge into uselessness. Match preset to timeframe: Conservative for HTF clarity, Balanced for intraday default, Aggressive only for LTF where speed matters.

👻

Treating Historic (H •) zones as active support

Historic zones are memory. Their strength has decayed past the aging threshold, they render at 88-96 alpha transparency on purpose, and they sit on the road to full removal. They are there for awareness, not trade execution. If you want active zones only, disable showHistoric in settings.

15 — Cheat Sheet

MAZ In One Page

The Core Idea

This is market AGREEMENT, not support/resistance. Zones mark regions of statistical acceptance — where rotation, efficiency decay, effort/result balance, and stable participation all coexist.

Acceptance Score Formula

Efficiency×0.30 + ERD_Balance×0.25 + Vol_Decay×0.25 + Participation×0.20. Weights are locked constants. Threshold varies by preset (0.48 / 0.55 / 0.62).

Zone Birth Conditions

Persistence (3/5/7 bars) AND width ≤ ATR × (3.5/2.5/2.0) across Aggressive/Balanced/Conservative presets.

Four Zone States

ACTIVE (teal) → AGING (grey) → HISTORIC (darker grey, H• prefix) → REMOVE. Re-acceptance touches can revive AGING → ACTIVE.

Three Zone Types

MAZ (ATF only) · MAZ • N/3 (AMTF consensus, decays slower ×0.999/bar) · H • MAZ (historic memory).

Colors (Locked)

Teal #00B3A4 = active. Grey #8A8A8A = aging. Darker grey #6A6A6A = historic. Amber #F9A825 = price inside (breaking/transition).

Auto-MTF Pairs

15m→1H+4H · 1H→4H+1D · 4H→1D+1W · 1D→1W+1M. Deterministic 18-row lookup; manual override available.

Exports

activeZoneCount · agingZoneCount · historicZoneCount · amtfZoneCount · acceptanceScore (via data window).

16 — Scenario Game

Reading Zones Without Regressing To Lines

Five scenarios. Each tests whether you can interpret MAZ states, labels, and transitions as the diagnostic signals they are — or whether your S/R muscle memory is still pattern-matching.

Round 1 of 5

Score: 0/5

You see a zone labeled MAZ • 3/3 at $74,500 on your BTC 15m chart. Price approaches it from above. What does the label specifically tell you?

17 — Knowledge Check

Final Quiz — 8 Questions

Question 1 of 8

Market Acceptance Zones represent:

Question 2 of 8

The Acceptance Score is composed of four weighted components:

Question 3 of 8

Zone creation requires:

Question 4 of 8

The four zone lifecycle states are:

Question 5 of 8

AMTF (Accepted Multi-Timeframe) zones differ from plain MAZ zones because:

Question 6 of 8

The “H •” prefix on a zone label indicates:

Question 7 of 8

Zone merging logic triggers when:

Question 8 of 8

The Auto-MTF mapping for a 15m chart resolves to:

← Back to Academy