Level 10 · Lesson 7

Market Pressure
Regime

A bipolar oscillator with a 4-state classifier. RELEASE, SUPPRESSED, TRANSITION, and an off-axis TRAP state. Every state change requires 3 committed bars — no flicker, no compromise.

Scroll to begin

First — Why This Matters

The Other Oscillator

MPG taught you that oscillators can measure participation rather than momentum. MPR is a different oscillator entirely, measuring something orthogonal: pressure regime. Where MPG asks “is anyone engaged?”, MPR asks “is the market committed to releasing pressure, containing it, absorbing it, or transitioning between those?” Same sub-pane architecture, entirely different question.

The architectural innovation that separates MPR from every other oscillator you've seen is the 4-state classifier with a TRAP state sitting off-axis. Most classifiers are ordinal — states arranged along a single line (low → medium → high, or bearish → neutral → bullish). MPR's TRAP state isn't on the line. It can fire at any pressure value because it's measuring something the pressure score doesn't capture: absorption. Positive pressure + absorption = a very different market than positive pressure alone, and MPR is the indicator that flags the distinction.

The other innovation is the Persistence Contract: state changes require 3 consecutive bars of the new candidate before they commit. This is deliberately slower than bar-by-bar classification — and that slowness is the feature, not a bug. Every state reading MPR gives you is a committed reading. If you want flicker-free regime analysis, this is the mechanism that provides it.

🔎 THE MPR AXIOM

Pressure can be released, suppressed, transitioning, or absorbed — and absorption is not a pressure value, it is a separate dimension. MPR measures both simultaneously. Use the full classification, not just the score.

01 — The Four States

One Spectrum + One Off-Axis State

MPR has four states: SUPPRESSED, TRANSITION, RELEASE, and TRAP. The first three sit on the pressure spectrum from -100 to +100. TRAP doesn't. It's a separate classification that fires when the absorption signature is detected, regardless of where the pressure score is. Understanding this geometry is the foundation of MPR literacy.

💡 Why TRAP is Off-Axis

The pressure score measures direction and commitment. The stress score measures effort vs result. These are orthogonal dimensions. A market can have strongly positive pressure (price pushing up) while simultaneously showing heavy absorption (effort not producing result) — those are two different phenomena happening at once. Putting TRAP on the pressure spectrum would collapse this information; keeping it off-axis preserves both readings.

02 — Compression Score

The Pinning Proxy

The first computation. Compression = 1 - (candleRange / ATR), normalized to 0-1. When candle range is tight relative to ATR (typical of a pinned market), compression is high. When candles are expanding (breakout conditions), compression is low. Compression is the negative contribution to pressure — high compression pulls pressure toward the suppressed side.

💡 Why Inverted?

You want a number where “more pinning” = higher score. The raw range/ATR ratio has the opposite semantics (bigger = more expansion). Inverting it (1 - ratio) and normalizing gives you the clean 0-1 proxy where 1.0 means “completely pinned” and 0.0 means “fully expanded.” Small mathematical detail, large interpretive value.

03 — Follow-Through Score

Path Efficiency, Release Proxy

Same math as MPG and MAZ efficiency: |close - close[20]| / sum(|close - close[1]|, 20). Bounded 0-1. High = price moving directly (good follow-through, release conditions). Low = price wandering (no follow-through, compression conditions). This is the positive contribution to pressure — high follow-through pushes pressure toward the release side.

💡 Why 20 Bars

The lenBase default of 20 matches MPR's baseline lookback. Long enough to capture sustained moves, short enough to react to regime changes. If you tune it shorter (10-15), MPR becomes more responsive but noisier. Longer (30-40) makes it smoother but laggier. The 20-bar default is the calibrated sweet spot.

04 — Stress Score

The Trap Detector

Stress = (effort - result) × 100, clamped to -100 to +100. Effort = volume ratio (or range ratio when volume is unreliable — the Volume Fallback Doctrine in action). Result = price movement relative to ATR. When effort is high but result is low, stress spikes positive. When stress ≥ 30 AND follow-through < 0.30, MPR classifies the state as TRAP.

💡 Why Both Conditions Are Required

Stress alone isn't enough. A single bar of high effort + low result could be noise. Combining it with low follow-through (a sustained condition) filters out noise and catches specifically the pattern where effort is being absorbed over time. The AND gate is what gives TRAP its specificity — it doesn't trigger on single-bar anomalies.

05 — Composite Pressure

Follow Pulls Up, Compression Pulls Down

The pressure score is an explicit tug-of-war between two forces. Follow-through × 100 pushes pressure toward positive (release). Compression × 100 pulls pressure toward negative (suppression). The signed composite is clamped to -100 to +100. This is why pressure is bipolar — it's measuring net directional commitment, not magnitude.

💡 The Symmetry Choice

Both components are scaled to 100 before subtraction, giving them equal weight. This is a deliberate design choice — neither force dominates structurally. The asymmetries come from the market itself (real behavior favors one or the other at any given moment), not from the indicator's weighting. This keeps MPR neutral by construction.

06 — Stability Filter

How Often Does Pressure Flip?

Stability = 1 - flipRate where flipRate is the rolling average of sign changes over 20 bars. When pressure keeps flipping between positive and negative, stability is low and the tool is telling you: “the pressure signal itself is unreliable right now.” When stability drops below 0.5 (default threshold), the classifier forces TRANSITION — refusing to commit to RELEASE or SUPPRESSED even if the current pressure value would qualify.

💡 The Override Is Philosophically Important

A pressure score of +8 normally means RELEASE. But if pressure has been flipping between +12, -9, +15, -7 over the last 20 bars, that +8 is unreliable — the underlying signal is too noisy to commit to. The stability override forces TRANSITION precisely to stop you from trusting an unreliable reading. This is another manifestation of the Diagnostic Inversion principle: the tool refuses to give you a conclusion it can't defend.

07 — The Persistence Contract ⭐

Commitment Over Speed

Here's the defining design philosophy of MPR — and it runs directly counter to how most retail indicators are built. Nearly every modern oscillator is optimized for low lag: detect the state change as quickly as possible, on as few bars as possible, ideally on the bar it happens. MPR optimizes for the opposite quality: committed evidence. A state change is only reported when the candidate has been present for persistBars consecutive bars (default 3). Anything shorter is treated as flicker and discarded.

🏘 The Persistence Doctrine

Retail indicators treat low lag as an unqualified virtue. But speed has a hidden cost: flicker. Every single-bar fluctuation triggers a state change, the state change fires a signal, the signal generates an emotional trading decision. Many of those state changes are noise — they reverse on the next bar, but you've already acted. MPR chose the other side of the tradeoff explicitly. A state change is reported only when the market has committed to it for at least 3 consecutive bars. The cost is 2-3 bars of lag on regime transitions. The benefit is that every state reading is a committed reading: you can trust it, size your positions around it, and stop second-guessing every wiggle.

Three operational implications:

  • 1. Don't reduce persistBars for “speed.” Setting it to 1 doesn't make MPR faster — it turns it into a different tool entirely, a noisy single-bar classifier. If you need faster, you need a different class of tool. The default of 3 encodes the entire design philosophy. Respect it.
  • 2. Expect 2-3 bars of lag on transitions. When the market genuinely changes regime, MPR will report it 2-3 bars later than a bar-by-bar classifier would. This is deliberate. Those 2-3 bars are the cost of the reliability guarantee. Include them in your planning.
  • 3. Trust the state when it fires. The Persistence Contract means that when MPR reports a new state, the market has actually committed to it. Unlike with low-lag tools, you don't need to second-guess every state change — the second-guessing has already been done for you by the persistence logic. Take the state at face value and trade accordingly.

08 — TRAP — The Off-Axis State

Why Positive Pressure Can Be a Lie

The TRAP state is MPR's most valuable and most misunderstood output. It encodes a specific market pathology: effort being applied without proportional result. The pressure score can be strongly positive (indicating directional release), but if TRAP conditions are simultaneously active (stress ≥ 30 AND follow < 0.3), the state becomes magenta TRAP — overriding the pressure reading.

💡 The Classifier Check Order Matters

Source logic: if isTrapCondition { rawState := STATE_TRAP } runs BEFORE the pressure threshold checks. That order is deliberate. It means trap detection has priority — even a +42 pressure reading gets classified as TRAP if absorption is detected. Magenta overrides teal. Because if effort is being absorbed, the “positive pressure” isn't real pressure; it's just visible pressure that's about to collapse.

09 — RELEASE vs SUPPRESSED

The Mirror States

RELEASE and SUPPRESSED are perfect opposites. Both are COMMITTED states on the pressure spectrum. Both persist for many bars once established. Both require the Persistence Contract to activate. RELEASE needs pressure ≥ +5 for 3 bars; SUPPRESSED needs pressure ≤ -5 for 3 bars. Reading them is mirrored in the opposite direction.

💡 The Deadband Between Them

The ±5 thresholds create a deadband between them where the state is TRANSITION. Without that deadband, pressure hovering near zero would constantly flip between RELEASE and SUPPRESSED. The deadband is how MPR keeps itself noise-free at the neutral midpoint — any pressure reading between -5 and +5 is classified as TRANSITION regardless of sign. This is hysteresis applied to regime detection.

10 — State Transitions

Common Trajectory Patterns

Over enough time, MPR cycles through all four states in recognizable patterns. SUPPRESSED → TRANSITION → RELEASE is the classic breakout pattern: compression gives way to instability, which resolves into directional release. RELEASE → TRAP is the exhaustion pattern: directional energy continues to be applied but starts being absorbed. TRAP → SUPPRESSED is the collapse pattern: absorbed effort gives up and pressure flips to pinning.

💡 Trajectory Informs Context

A current state of RELEASE means different things depending on where you came from. RELEASE from SUPPRESSED (via TRANSITION) is an emerging breakout — early stage, lots of runway. RELEASE after TRAP is a revival — can resolve either way, watch for stability. RELEASE from another RELEASE after brief TRANSITION is a trend continuation — high conviction. The state alone is only half the picture; the trajectory matters.

11 — The Oscillator Stack

MPR × MSI × MPG

For the first time in the ATLAS suite, you can stack three sub-pane oscillators on the same chart. MPG tells you if anyone is engaged. MSI tells you what regime the market is in. MPR tells you what pressure state that regime is expressing. These three together form a complete diagnostic layer for the oscillator family — and when they agree, the confluence is among the strongest in the suite.

💡 The Pane Economy

TradingView lets you stack multiple sub-panes, but pane real estate is finite. MPG + MSI + MPR all in sub-panes takes about 40-50% of your chart height. This is a lot. The pro move: keep MSI in a pane for regime confirmation, MPR in a pane for pressure state, and use MPG's status-line HUD rather than its full pane when you're short on space. You get most of MPG's value from the status line alone.

12 — Threshold Symmetry

±5 By Design

The RELEASE and SUPPRESSED thresholds are symmetric at +5 and -5 by default. This is not arbitrary. Symmetric thresholds mean MPR has no directional bias by construction — it treats upward pressure and downward pressure exactly the same. If you observe that your MPR seems to trigger RELEASE more often than SUPPRESSED, that's a property of the market you're watching, not a property of the indicator.

💡 Tuning The Thresholds

You can widen the thresholds to ±10 or ±15 for stricter regime qualification (fewer state changes, each one more significant). You can narrow to ±2 or ±3 for more sensitive detection (more state changes, each one less firm). But always keep them symmetric — asymmetric thresholds (e.g., +5 / -10) introduce directional bias that biases every subsequent state reading. The symmetry is the guarantee of neutrality.

13 — Common Mistakes

Four Ways Traders Misuse MPR

Each of these traces back to the same root: trying to use MPR as either a signal generator or a momentum oscillator, when it is neither.

🎯

Treating TRAP (magenta) as a secondary pressure state

TRAP is not part of the pressure spectrum. It is an off-axis condition that can coexist with any pressure score. A TRAP state with pressure of +42 is telling you the positive pressure is MISLEADING — effort is being absorbed. Ignore this distinction and you will systematically buy absorption patterns that fade on you.

⚠️

Setting persistBars = 1 for “faster signals”

This disables the Persistence Contract and turns MPR into a noisy single-bar classifier. You trade lag for flicker — and flicker is worse. The default of 3 bars encodes the philosophical commitment to reliability over speed. If you want faster, you’re using the wrong tool (MPR is not a signal generator).

🔄

Ignoring the instability override

When stability < 0.5, MPR forces TRANSITION even if pressure crossed +5 or -5. This is not a bug; it is the tool protecting you from uncommitted pressure. If you expected RELEASE and got TRANSITION, check the stability score — the pressure signal is unreliable. Trade the TRANSITION, not the underlying score.

📊

Using MPR as a momentum oscillator (RSI substitute)

MPR is a pressure/state oscillator, not a momentum oscillator. A reading of +60 does NOT mean overbought — it means committed release pressure. A reading of -60 does NOT mean oversold — it means committed suppression. The states encode regime commitment, not overextension. Reading with RSI logic generates systematic wrong conclusions.

14 — Cheat Sheet

MPR In One Page

Architecture

Sub-pane oscillator, bipolar histogram (-100 to +100), 4-state classifier with off-axis TRAP state.

Four States

RELEASE (teal, +1) · SUPPRESSED (grey, -1) · TRANSITION (amber, 0) · TRAP (magenta, +2 off-axis).

Core Formula

pressure = clamp100(followScore × 100 - compression × 100). Positive = release; negative = suppression.

Trap Conditions

stress ≥ 30 AND follow < 0.3. Trap is checked BEFORE pressure thresholds — it overrides the pressure reading.

Persistence Contract (★)

persistBars = 3 default. New state must appear for 3 consecutive bars before committing. Anti-flicker mechanism.

Stability Override

When stability < 0.5 (flip rate > 0.5), force TRANSITION — except when trap conditions are active.

Thresholds (Locked Symmetric)

±5 for RELEASE / SUPPRESSED. 30 for TRAP stress. 0.5 for stability. All tunable; keep pressure thresholds symmetric.

Data Window Exports

Compression · Follow-Through · Stress · Stability · Pressure · State · Per-state booleans (isRelease, isSuppressed, isTransition, isTrap).

15 — Scenario Game

Reading MPR Like a Committed State Classifier

Five scenarios testing whether you read MPR as the 4-state classifier it actually is — or whether you're still pattern-matching it as a momentum oscillator.

Round 1 of 5

Score: 0/5

Your MPR histogram just turned magenta. Pressure score reads +42 (well above +5). What is happening and what do you do?

16 — Knowledge Check

Final Quiz — 8 Questions

Question 1 of 8

Market Pressure Regime (MPR) outputs:

Question 2 of 8

The TRAP state is triggered when:

Question 3 of 8

The Persistence Contract requires:

Question 4 of 8

The composite Pressure Score is computed as:

Question 5 of 8

When hasVolume is false, MPR falls back to:

Question 6 of 8

When stability < stabilityThr (default 0.5), the state is:

Question 7 of 8

Stability score is calculated as:

Question 8 of 8

The four MPR states can be read as:

← Back to Academy