OPEN-SOURCE SCRIPT
Actualizado

Precision Supply Monitor

1 028
Precision Supply Monitor — Wyckoff-Inspired Supply & Demand Phase Detection

Precision Supply Monitor (PSM) analyzes price action and volume behavior to identify supply and demand phases in real time. The script evaluates market conditions using a weighted scoring model and presents the results through a three-meter dashboard table designed to help visualize how supply and demand conditions are evolving.

PSM is particularly useful for analyzing nano, micro, and small-cap stocks where float mechanics and supply rotation can strongly influence price behavior.

━━━━━━━━━━━━━━━━━━━━━━━━━━
QUICK START
━━━━━━━━━━━━━━━━━━━━━━━━━━

1. Start with the Phase row to see the current supply/demand environment.
2. Check Float Rotation to understand how much of the float has traded.
3. Watch Squeeze Pressure for compression that may precede expansion.

Strong readings often occur when multiple meters align — for example, elevated Float Rotation combined with rising Squeeze Pressure while price remains stable.

━━━━━━━━━━━━━━━━━━━━━━━━━━
PHASE DETECTION
━━━━━━━━━━━━━━━━━━━━━━━━━━

PSM continuously evaluates price and volume behavior to determine which of five phases best describes the current market environment. Each phase is scored from 0–100% and the highest scoring condition becomes the active phase displayed in the dashboard table. The chart examples below correspond with each phase description.

DISTRIBUTION
imagen

Market behavior may reflect selling pressure, characterized by bear-biased candles, the appearance of new lows within the lookback window, and elevated relative volume. A weighted scoring model prioritizes bear bias and new-low activity while applying penalties during tight consolidations to reduce false readings. Distribution can occur during both declining and advancing price action — selling pressure may be present even as price moves higher, particularly during late-stage momentum moves on low-float stocks where supply begins to overwhelm demand.

ABSORPTION
imagen

Buyers may be absorbing available supply within a compressed range. The primary signal is high volume occurring alongside a small price range — behavior commonly associated with supply being absorbed without significant price decline. Price holding above a short-term average strengthens this phase.

FLOAT LOCK
imagen

Supply availability begins to decline while price remains stable. Volume contracts while turnover remains elevated relative to float or average volume. This behavior can occur when a large portion of tradable shares has already rotated through the market.

FLOAT STRESS (requires float input — nano/micro/small tiers)
imagen

Float rotation has reached extremely elevated levels. When turnover approaches six times the float, supply may become thin and smaller buying pressure can move price more rapidly.

PARABOLIC RISK (requires float input — nano/micro/small tiers)
imagen

Turnover has reached extreme levels (approximately eight times float or higher). These conditions sometimes occur during late-stage momentum moves where exhaustion risk increases.

━━━━━━━━━━━━━━━━━━━━━━━━━━
THREE-METER DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━━━━━

PSM displays three independent meters that measure different aspects of market behavior. The dashboard table updates in real time as new bars print, allowing traders to observe how supply and demand conditions evolve during active trading.

PHASE METER
Displays the strength of the currently detected phase (0–100%). Higher values indicate stronger alignment between observed market conditions and the detected phase.

FLOAT ROTATION
Measures how much of the tradable float has rotated through the market during the turnover window. When float shares are entered manually, turnover is calculated relative to float size. If float is not entered, the meter falls back to a volume-based proxy and displays "(no float)".

SQUEEZE PRESSURE
Measures compression and stability conditions that may precede directional expansion. The score incorporates range compression, price stability, relative volume, absence of new lows, and an optional float-rotation bonus when float data is provided.

Reading the meters together can help contextualize market behavior. For example:

• High Float Rotation + High Squeeze Pressure — supply rotation with compression
• High Float Rotation + Low Squeeze Pressure — heavy trading but unstable price action
• Low Float Rotation + High Squeeze Pressure — early compression forming

━━━━━━━━━━━━━━━━━━━━━━━━━━
TIER-AWARE THRESHOLDS
━━━━━━━━━━━━━━━━━━━━━━━━━━

All detection thresholds automatically adjust based on instrument tier.

PSM classifies instruments as:

Nano • Micro • Small • Mid • Large • Crypto • ETF

When market capitalization data is unavailable, the script falls back to average dollar volume.

Each tier uses calibrated values for:

• Relative volume thresholds
• Range compression detection
• Turnover requirements
• Volume-drop conditions
• New-low lookback windows
• Bear-bias scoring windows

This ensures the detection model adapts to the typical behavior of the instrument being analyzed.

━━━━━━━━━━━━━━━━━━━━━━━━━━
FLOAT OVERRIDE INPUT
━━━━━━━━━━━━━━━━━━━━━━━━━━

Float data on nano, micro, and small-cap stocks can occasionally be outdated or inaccurate — particularly after reverse splits or secondary offerings.

PSM allows users to manually enter float shares for Nano, Micro, and Small tier instruments. When provided, turnover calculations use actual float size rather than average volume. This enables Float Rotation, Float Stress, and Parabolic Risk phases to operate more accurately.

Mid, Large, Crypto, and ETF instruments ignore this input and automatically use volume-based turnover.

━━━━━━━━━━━━━━━━━━━━━━━━━━
PHASE MARKERS
━━━━━━━━━━━━━━━━━━━━━━━━━━

Optional markers plot above or below candles when all required phase conditions are met simultaneously and persist for two or more consecutive bars. The two-bar requirement reduces noise from single-bar spikes.

• Yellow circle (below) — Absorption
• Green circle (below) — Float Lock
• Red circle (above) — Distribution
• Orange circle (above) — Float Stress
• Magenta circle (above) — Parabolic Risk

Float Stress and Parabolic Risk markers require float shares to be entered manually. Without a float value these markers will not appear.

Markers are informational and do not represent trading signals.

━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT MAKES PSM DIFFERENT
━━━━━━━━━━━━━━━━━━━━━━━━━━

Most volume and momentum indicators focus on price direction or volatility expansion. PSM focuses specifically on the supply side of the market — how shares are rotating, whether buyers may be absorbing that supply, and when the available float may be becoming thin enough to influence price movement.

Standard indicators are typically calibrated for large and mid-cap markets where float is abundant. On nano and micro-cap stocks, float mechanics behave differently. A relatively small amount of volume can rotate a large percentage of the available float, producing price behavior that standard RVOL or momentum tools may not capture accurately.

PSM addresses this by combining Wyckoff-inspired phase scoring with float rotation mechanics and tier-aware thresholds that automatically adjust to the instrument being analyzed. Instrument tier is determined using market capitalization data available within TradingView, falling back to average dollar volume when market cap data is unavailable. The result is a supply and demand framework designed specifically for the behavior of low-float momentum stocks — while remaining functional across all instrument types.

━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE
━━━━━━━━━━━━━━━━━━━━━━━━━━

PSM is designed as an educational and observational tool. The following describes how traders may interpret the information it displays.

Start with the Phase row
The active phase provides a high-level read on the current supply and demand environment. Distribution may indicate that selling pressure is present. Absorption suggests buyers may be active. Float Lock suggests supply may be thinning. Float Stress and Parabolic Risk indicate elevated float rotation that may influence price behavior.

Use the rationale
A plain-English rationale at the bottom of the dashboard table identifies the primary factors driving the current phase reading — helping traders understand not just what the phase is, but why it is occurring. Examples include "bear bias + new lows" during Distribution or "vol drying up + high turnover" during Float Lock.

Cross-reference the three meters
The Phase Meter, Float Rotation, and Squeeze Pressure meters each measure a different dimension of market behavior. Reading them together provides more context than any single meter alone. A phase reading supported by strong meter alignment across all three may carry more observational weight than one where the meters diverge.

Float Stress and Parabolic Risk as awareness signals
These phases indicate that float rotation has reached elevated levels. They are not entry or exit signals — they are contextual awareness indicators that suggest supply conditions may be changing. Traders should apply their own analysis and risk management when interpreting these readings.

Enter the float for nano and micro-cap names
TradingView float data can be stale or inaccurate on low-float stocks, particularly after reverse splits or secondary offerings. Entering the known float shares in the settings enables more accurate Float Rotation readings and unlocks Float Stress and Parabolic Risk phase detection.

━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT THIS SCRIPT DOES NOT DO
━━━━━━━━━━━━━━━━━━━━━━━━━━

Precision Supply Monitor does not generate buy/sell signals, execute trades, or manage positions. Phase readings update continuously as new data appears and may change as market conditions evolve.

This tool is intended to assist interpretation of supply and demand dynamics and should be used alongside independent analysis and risk management.

━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━

Display
• Show/hide stats table
• Table position and size
• Show/hide phase markers
• Marker offset (ATR)

Core
• Average volume length
• Average range length
• Turnover window
• Extension lookback
• Float Shares Override (0 = auto) — Nano/Micro/Small only. Enter known float (e.g. 7880000). Required for Float Stress, Parabolic Risk, and float-gated Squeeze bonus. Ignored on Mid/Large/Crypto/ETF.
Notas de prensa
v1.0 Release Notes
Stability and accuracy improvements:

Fixed table not clearing when Stats Table is toggled off
Added minimum score floor to prevent weak or mixed conditions from defaulting to Distribution
Separated Futures, Forex, and CFD instrument types from ETF labeling
Added early-bar guard to suppress phase markers until sufficient data is available
Added Small cap tier with distinct color in instrument tier display
Notas de prensa
Chart Update Only
Notas de prensa
Chart Update Only
Notas de prensa
v1.2 — March 2026
Small but meaningful update focused on stability and usability.
Fixed a runtime error that could occur on shorter-history charts where the new low detection logic requested more historical bars than were available. The guard condition now correctly accounts for the one-bar offset used in the lookback calculation.
The float input has been simplified — instead of typing out a full number like 200,000,000, you now enter a plain value and select a unit (K, M, or B). So a 200 million share float is just 200 + M. Much cleaner for quick setups on nano and micro-cap names.
Minor label cleanup in the stats table.
Notas de prensa
Correct version number from v1.1 to v1.2
Notas de prensa
v1.3 — May 2026
Before the new work, a correction I'd rather be upfront about. The v1.2 notes described the simplified float input — a plain number plus a K / M / B unit selector — but that change never actually made it into the published code. I'm not certain how it slipped past me, but I'd rather flag it than let it stand. It's properly in place now: enter the float as a plain value and choose its unit (573 + K, 200 + M), exactly as the v1.2 notes described.
Better still, in most cases you won't need to enter the float by hand at all anymore. Leave the override at 0 and PSM now pulls the live float automatically from TradingView, with a new Float row in the stats table showing the value it's using and whether it came from TradingView or your own entry. The manual input is still there when you want to override it — for a name where the public float looks stale, say — but it's no longer something you have to keep current yourself.
The heart of this update is steadier phase reads. The phase now commits on bar close and holds until the read genuinely changes, rather than flickering between Distribution and Float Lock on replay or near a threshold. A Phase Switch Margin input lets you tune how decisive that hold is.
Turnover was reworked as well. It's now recency-weighted, so after a volume spike it decays on its own instead of staying pinned high for dozens of bars. In practice, Float Stress and Parabolic Risk stand down once the action cools rather than re-arming on every small bounce, and they release as soon as their condition ends.
Two smaller items: the panel border now matches the active phase color, and the early-bar data guard was extended to all phase markers for consistency.
PSM describes conditions rather than generating buy or sell signals, and is for educational and informational use only.
Notas de prensa
Here's the full v1.4 description with the tier fix stated:

v1.4 — May 2026
This release came out of watching the panel on live charts and not liking what it showed. On strong bullish bars — a clean breakout, heavy volume, closing at the highs — PSM would sometimes read DISTRIBUTION, which is the opposite of what was happening. And there was no phase that simply said "demand is in control": Float Lock, the one green state, means price is holding, not advancing. So a genuine markup had nowhere to land.
v1.4 closes that gap with a new MARKUP phase — the demand-side advance. It's the rung Wyckoff's framework always had (accumulation → markup → distribution → markdown) that PSM had skipped: heavy volume with the range expanding up, the float drawing down, and the bar closing strong. It sits between Float Lock and Float Stress as the natural on-ramp toward a squeeze, and reads in green. Float Lock moved to a neutral silver, since green should mean demand is working, not just that price is quiet.
Distribution is now direction-aware to match. Heavy volume only counts toward a distribution read when the bar closes weak — supply actually showing up. A heavy-volume bar that closes strong is demand, and now reads as Markup instead of being mislabeled. Wyckoff called this effort versus result: the volume is the effort, the close is the result, and the two should agree before you call it supply.
Two display changes round it out. The status panel now reads live on the forming bar, so the label tracks the candle you're watching rather than lagging until the bar closes; the live read firms up at close, and the markers still lock in on close so chart history never repaints. And the phase markers were reworked to fire once, on each phase change, rather than on every bar — each colored to its phase, with a new Markup dot — plus a "Marker Min RVOL" input so the dots ignore low-volume chop and only mark transitions with real participation behind them. Lower it to 0 to mark every change, or raise it to thin sideways tape.
Under the hood, the Small-cap tier now uses its own float-scale turnover threshold. It had been falling through to a default meant for larger names, which left the turnover-based reads — active turnover and the Float Lock turnover term — under-firing on Small caps; they now register on the same scale as the Nano and Micro tiers.
As always, PSM describes conditions rather than generating buy or sell signals, and is for educational and informational use only.
Notas de prensa
// v1.4 (no code change) - republished chart snapshot only, candles reframed clear of panel

Exención de responsabilidad

La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.