Liquidation Cascade Risk Map [AGPro Series]Liquidation Cascade Risk Map
🧠 Core Idea
When leverage pressure builds, is the market entering a real cascade-risk zone, or is liquidation pressure already cooling?
📌 Overview / What it does
Liquidation Cascade Risk Map is a crypto derivatives analysis tool designed to visualize liquidation-cascade risk without pretending to know exact exchange liquidation levels.
The script evaluates open interest data when available, falls back to a transparent volume-proxy mode when needed, and combines volatility expansion, range pressure, candle body stress, directional movement, and distance from reference structure into a single cascade-risk context.
It produces a cascade pressure path, right-side state tags, event labels, optional pulse markers, and a compact AG Pro dashboard panel. It does not predict future price, automate entries, provide liquidation prices, or act as a guaranteed signal system.
🎯 Purpose & Design Philosophy
This script was built for traders who want to understand when a crypto market may be carrying unstable leverage pressure.
Many liquidation tools focus on exact levels, heatmaps, or speculative liquidation clusters. Those can be useful, but they often require external datasets and may create false certainty when used as chart overlays.
Liquidation Cascade Risk Map takes a different approach. It asks whether current market behavior has the ingredients of cascade vulnerability: expanding pressure, directional stress, range instability, aggressive bodies, and persistence.
⚡ Why This Script Is Different
Most tools focus on liquidation levels, estimated heatmap bands, or simple volatility alerts.
This script does NOT claim to know where every liquidation sits, and it does not draw exchange-style liquidation heatmaps.
Instead, it maps the quality of the surrounding cascade-risk environment. It highlights when the market is showing pressure that may support long-side cascade risk, short-side cascade risk, two-way cascade vulnerability, or cooling after a pressure build-up.
⚙️ Methodology
1. Context Detection
The script checks whether usable open interest data exists. If not, it can fall back to a volume-proxy model so the visual framework remains usable across more symbols.
2. Pressure Mapping
It evaluates data change, volatility shock, candle range pressure, body expansion, distance from reference structure, and directional movement.
3. Cascade Evaluation
Those components are blended into a cascade-risk score. The script then classifies the environment as Long Cascade Risk, Short Cascade Risk, Two-Way Cascade, Risk Cooling, Neutral Risk, or Data Missing.
4. Visual Output
The chart displays a cascade pressure path, a dotted center reference, a vertical pressure needle, right-side tags, event labels, and a panel that summarizes the active state.
🗺️ How to Read the Chart
The upper pressure rail represents elevated liquidation-cascade risk.
The lower pressure rail represents cooling or pressure release context.
The dotted centerline acts as the current reference path.
The vertical needle shows how stretched the active cascade-risk score is inside the pressure path.
Event labels identify important changes such as Long Cascade, Short Cascade, Two-Way Cascade, or Risk Cooling.
The panel summarizes state, score, data change, velocity, persistence, cooling, direction, grade, data mode, ATR shock, data source, and trend.
🚦 Signals & States
• Long Cascade Risk → downside pressure is elevated and long-side liquidation vulnerability may be rising
• Short Cascade Risk → upside pressure is elevated and short-side liquidation vulnerability may be rising
• Two-Way Cascade → volatility and pressure are elevated on both sides, suggesting unstable conditions
• Risk Cooling → cascade pressure is decreasing after a build-up
• Neutral Risk → no strong cascade-risk condition is currently active
• Data Missing → the selected data source is not usable on the current symbol or mode
🔔 Alerts Logic
Alerts can be enabled for Long Cascade Risk, Short Cascade Risk, Two-Way Cascade, and Risk Cooling.
Each alert triggers when the selected state becomes active. Alerts are designed as attention markers, not trade instructions.
🧩 Confluence Logic
The context becomes stronger when data expansion, volatility shock, range pressure, directional bias, and persistence align at the same time.
For example, high volatility with strong directional movement and rising pressure persistence may indicate a more unstable cascade-risk environment than volatility alone.
📊 When to Use
• Crypto perpetual futures
• High-volatility market phases
• Sharp directional moves
• Post-breakout acceleration
• Failed recovery or forced unwind environments
• Situations where leverage pressure may matter more than ordinary trend context
⚠️ When NOT to Use
• Very low liquidity symbols
• Symbols with unreliable volume or open interest data
• Extremely noisy low-timeframe charts
• Markets with abnormal gaps or data breaks
• Any situation where the user expects exact exchange liquidation prices
🎛️ Key Inputs
• Data Mode → chooses between automatic open interest, manual open interest symbol, or volume proxy
• Lookback Length → controls the normalization window for pressure scoring
• Fast / Slow Pressure Length → controls short-term and baseline pressure reaction
• Cascade Threshold → defines how demanding the script is before marking cascade-risk conditions
• Cooling Threshold → controls when pressure is considered to be cooling
• Persistence Bars → measures whether pressure is sustained or only momentary
• Visual settings → control labels, pulse markers, path visibility, panel layout, and font sizes
🖥️ Interface & Visual Design
The interface is built to make the chart readable at first glance.
The cascade path is intentionally not a large boxed zone. It is a pressure-path structure designed to remain visually distinct from corridor, ladder, and basis-style scripts.
The panel uses a merged AG Pro header row, compact metrics, and a dark professional layout. Visual elements avoid white or pale primary treatments so the script remains readable on both dark and light PulseWire chart backgrounds.
🧪 Practical Usage Workflow
1. Read the panel state first.
2. Check whether Data Mode shows real open interest or volume proxy.
3. Look at the cascade pressure path and current needle position.
4. Check event labels for recent pressure build-up or cooling.
5. Compare the state with broader trend, volatility, and market structure.
🔍 Interpretation Guidelines
Do not treat a cascade-risk state as a direct entry or exit signal.
Use it as a context layer. The script is most useful when combined with structure, liquidity, volatility, market regime, and risk management.
Rising cascade risk can mean the market is becoming unstable. Cooling can mean pressure is easing, but it does not guarantee reversal or continuation.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an automated trading system.
It does not calculate exact liquidation prices.
It does not guarantee that a liquidation cascade will happen.
⚠️ Limitations & Transparency
Open interest availability depends on symbol, exchange, and PulseWire data support.
Volume proxy mode is only a proxy. It can help visualize pressure context, but it is not the same as real open interest.
Different timeframes may produce different readings.
Fast markets, illiquid symbols, gaps, and abnormal candles can affect outputs.
🧠 Market Context Notes
Liquidation pressure is often connected to leverage, volatility, liquidity, and forced positioning.
This script focuses on context quality rather than exact liquidation geography. That makes it useful as a decision-support layer, but it should always be interpreted with broader market evidence.
🧾 Use Case Examples
When price accelerates downward while pressure score and persistence rise, the chart may show Long Cascade Risk.
When price squeezes upward with high pressure and volatility expansion, the chart may show Short Cascade Risk.
When volatility and pressure expand without clean directional separation, the chart may show Two-Way Cascade.
When pressure falls after a build-up, the chart may show Risk Cooling.
🧱 System Philosophy
AGProLabs scripts are built as structured decision-support tools.
The goal is not to make the chart louder. The goal is to make hidden market context easier to read, compare, and question.
🔐 Non-Promise Statement
No script can remove uncertainty.
No state should be treated as certainty.
No visual element should replace trader judgment.
📉 Risk Disclosure
Trading involves risk.
Crypto derivatives and leveraged markets can be especially volatile.
This script is for educational and analytical purposes only.
Nothing in this script should be interpreted as financial advice, investment advice, or a guarantee of outcome.
Users remain fully responsible for their own decisions.
📚 Educational Note
Use this script to study how pressure, volatility, persistence, and directional stress interact before and after unstable crypto market moves.
Indicator

Liquidity Timeframe Stack Map [AGPro Series]Liquidity Timeframe Stack Map
🧠 Core Idea
Are lower-timeframe liquidity sweeps aligned with the higher-timeframe liquidity shelf, or are they fighting the broader structure?
📌 Overview / What it does
Liquidity Timeframe Stack Map is a multi-timeframe liquidity context tool built to compare current-chart sweep behavior with higher-timeframe liquidity shelves.
The script maps the latest confirmed higher-timeframe upper and lower liquidity shelves, detects local buy-side and sell-side sweeps, evaluates wick-based reaction quality, and converts the result into a readable stack state.
It does not predict price direction, automate trades, or claim that every sweep will create a reversal. It is designed as a structured market context and visualization tool.
🎯 Purpose & Design Philosophy
This script was built to solve a common liquidity-reading problem:
A lower-timeframe sweep can look important by itself, but its meaning changes when it happens near a higher-timeframe shelf.
The goal is to help traders separate aligned liquidity reactions from isolated local noise. The script supports a context-first mindset: read the shelf, read the sweep, then judge whether the reaction is aligned or conflicting.
⚡ Why This Script Is Different
Most liquidity tools focus on detecting a sweep, stop run, equal high, or equal low.
This script does NOT treat every sweep as equally important.
Instead, it compares the local sweep against a higher-timeframe liquidity framework and classifies whether the move is a stack alignment, a stack conflict, or a neutral shelf interaction.
⚙️ Methodology
1. Higher-Timeframe Shelf Detection
The script reads confirmed pivot structure from the selected higher timeframe and builds active upper and lower liquidity shelf zones.
2. Local Sweep Detection
The chart timeframe is used as the lower-timeframe layer. Local buy-side and sell-side sweeps are detected when price takes a recent pivot level and closes back through it.
3. Reaction Evaluation
The script evaluates wick reaction quality after the sweep. Stronger wick rejection or reclaim behavior produces a higher reaction quality score.
4. Stack Classification
The script checks whether the local sweep occurred near the relevant higher-timeframe shelf. If the sweep and shelf context align, the script marks an HTF Buy Stack or HTF Sell Stack. If the sweep fights the broader shelf context, it marks a Stack Conflict.
5. Visual Output
The result is displayed through HTF shelf zones, sweep markers, stack labels, right-side tags, alerts, and a compact AG Pro panel.
🗺️ How to Read the Chart
Upper HTF Liquidity Shelf = the active higher-timeframe upper liquidity reference.
Lower HTF Liquidity Shelf = the active higher-timeframe lower liquidity reference.
Buy-Side Sweep marker = price swept a local upper liquidity reference and closed back below it.
Sell-Side Sweep marker = price swept a local lower liquidity reference and closed back above it.
HTF Buy Stack label = a sell-side sweep reacted near the lower HTF shelf with enough reaction quality.
HTF Sell Stack label = a buy-side sweep reacted near the upper HTF shelf with enough reaction quality.
Stack Conflict label = the local sweep behavior is not cleanly aligned with the broader HTF shelf context.
Panel = summarizes stack state, stack score, HTF shelves, LTF sweep state, reaction quality, next context, and invalidation reference.
🚦 Signals & States
• HTF BUY STACK → sell-side liquidity was swept near the lower higher-timeframe shelf with a qualifying reaction.
• HTF SELL STACK → buy-side liquidity was swept near the upper higher-timeframe shelf with a qualifying reaction.
• STACK CONFLICT → local sweep behavior is fighting or confusing the broader shelf context.
• LOWER SHELF → price is interacting with the lower HTF shelf area, but no full stack event is active.
• UPPER SHELF → price is interacting with the upper HTF shelf area, but no full stack event is active.
• NEUTRAL → no active shelf alignment or conflict is detected.
🔔 Alerts Logic
Alerts trigger when a new major stack condition appears.
• HTF Buy Stack Alignment → a sell-side sweep aligns with the lower higher-timeframe liquidity shelf.
• HTF Sell Stack Alignment → a buy-side sweep aligns with the upper higher-timeframe liquidity shelf.
• Liquidity Stack Conflict → the local sweep direction conflicts with the broader higher-timeframe shelf context.
• HTF Liquidity Shelf Touch → price enters either active higher-timeframe shelf zone.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The context becomes stronger when these elements align:
• Price is near an active higher-timeframe shelf
• Local liquidity is swept
• The candle closes back through the swept level
• Wick reaction quality is strong
• The panel state and chart label agree
When these elements do not align, the script treats the context as neutral or conflicting instead of forcing a directional interpretation.
📊 When to Use
• Multi-timeframe liquidity analysis
• Swing and intraday market preparation
• Smart-money-style structure review
• Sweep and reclaim evaluation
• Context checks before interpreting local reactions
• Markets where higher-timeframe levels matter
⚠️ When NOT to Use
• Very low-liquidity symbols
• Extremely noisy lower timeframes
• Markets with unreliable wick structure
• Situations where the selected higher timeframe is not meaningful
• Assets with large gaps or inconsistent session data
• Moments when a single local candle should not be over-interpreted
🎛️ Key Inputs
• Higher Timeframe Shelf → selects the timeframe used to build the broad liquidity shelves.
• HTF Shelf Pivot Length → controls how strict the higher-timeframe shelf structure is.
• LTF Sweep Pivot Length → controls how local sweep references are detected.
• Shelf Zone Width ATR → adjusts the visual thickness of HTF shelf zones.
• Max Shelf Width % Range → caps shelf thickness relative to the distance between the upper and lower HTF shelves, keeping the visual structure clean on wide timeframes.
• Near Shelf Distance ATR → controls how close a sweep must be to a shelf to count as aligned.
• Reaction Quality Threshold → sets the minimum wick reaction required for a strong stack event.
• Stack Score Smoothing → smooths the panel score for cleaner interpretation.
• Visual settings → control shelves, equilibrium line, sweep markers, event labels, right-side tags, and font sizes.
• Show Sweep Marker Letters → adds optional BS / SS text to local sweep markers. The default publication view keeps this disabled for a cleaner chart.
• Event Label Mode → Premium labels only strong HTF stack alignments. Detailed also labels stack conflicts.
• Adaptive Label Layout → automatically shortens and separates shelf labels when higher timeframes compress the HTF shelf cluster.
• Event Label Offset ATR → moves stack event labels farther from candles and shelf-center labels. HTF Sell Stack labels are pushed above the upper shelf zone, while HTF Buy Stack labels are pushed below the lower shelf zone to reduce overlap on publication screenshots.
• Right-side tags use adaptive positioning so the STACK tag avoids crowding the HTF UPPER and HTF LOWER tags when price is near a shelf.
🖥️ Interface & Visual Design
The interface is built around a clear visual hierarchy:
HTF shelves show the broader liquidity map.
Sweep markers show local liquidity events.
Stack labels show important alignment or conflict moments.
The AG Pro panel compresses the current state into a fast, readable decision-support summary.
🧪 Practical Usage Workflow
1. Start with the panel state.
2. Check where price is relative to the HTF upper and lower shelves.
3. Look for a recent buy-side or sell-side sweep marker.
4. Read the event label only if the sweep happened near the relevant shelf.
5. Use Reaction Q and Stack Score to judge whether the context is clean or weak.
6. Interpret the result inside the broader market structure.
🔍 Interpretation Guidelines
HTF Buy Stack does not mean price must go up. It means a sell-side sweep reacted near a lower higher-timeframe shelf with enough quality to deserve attention.
HTF Sell Stack does not mean price must go down. It means a buy-side sweep reacted near an upper higher-timeframe shelf with enough quality to deserve attention.
Stack Conflict is often more useful as a warning than as a signal. It tells the trader that the local sweep and broader shelf context are not cleanly aligned.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an auto-trading system.
It does not provide guaranteed entry or exit signals.
It does not claim that every liquidity sweep will reverse.
⚠️ Limitations & Transparency
Higher-timeframe pivot shelves are confirmed after structure develops, so they are not instant future levels.
Different chart timeframes may create different local sweep readings.
Very volatile markets may generate fast shelf touches without clean reactions.
Low-liquidity symbols may produce misleading wick behavior.
The selected higher timeframe should match the trader’s actual analysis horizon.
🧠 Market Context Notes
Liquidity analysis is strongest when local behavior is interpreted inside a broader structure.
A sweep near a meaningful higher-timeframe shelf can carry more information than a random sweep in the middle of a range.
This script is designed to make that distinction visible.
🧾 Use Case Examples
When price sweeps local sell-side liquidity near the lower HTF shelf and closes back above the swept level, the script may mark HTF BUY STACK if reaction quality is strong enough.
When price sweeps local buy-side liquidity near the upper HTF shelf and closes back below the swept level, the script may mark HTF SELL STACK if reaction quality is strong enough.
When a local sweep appears away from the relevant higher-timeframe shelf, the script may classify the move as neutral or conflicting.
🧱 System Philosophy
The script follows a context-first AGPro approach:
Structure first.
Liquidity second.
Reaction third.
Decision support last.
It is designed to reduce isolated signal thinking and encourage multi-timeframe interpretation.
🔐 Non-Promise Statement
No script can guarantee outcomes.
No shelf, sweep, score, or label should be treated as certainty.
The output should always be combined with broader market context and personal risk rules.
📉 Risk Disclosure
Trading involves risk.
Markets can move against any interpretation.
This script is for educational and analytical purposes only.
Users are fully responsible for their own decisions.
📚 Educational Note
Use this script to study how lower-timeframe liquidity behavior changes when it is read against higher-timeframe structure.
Indicator

Failed Reclaim Planner [AGPro Series]Failed Reclaim Planner
🧠 Core Idea
Did price lose a visible swing shelf, retest it, and fail to reclaim that level with enough rejection quality, risk clarity, and continuation room to matter?
📌 Overview / What it does
Failed Reclaim Planner is a chart-first failed reclaim decision engine built around visible swing shelves.
The script identifies when price breaks a confirmed swing high or swing low shelf, watches the retest of that broken level, and evaluates whether the reclaim attempt fails with enough rejection quality to become meaningful context.
It produces visible shelf zones, failed reclaim pockets, BULL / BEAR quality labels, planning room bands, risk / target guides, and a compact AGPro panel with a 0-100 failure score, rejection quality, room, and next-action state.
This script does not predict price direction or automate execution. It is designed to organize reclaim-failure context so traders can review structure, risk, and room more clearly.
🎯 Purpose & Design Philosophy
The script was built for traders who want more than another signal marker.
Most reclaim tools show whether price crossed a level. Failed Reclaim Planner focuses on the decision process after a visible shelf breaks: was the retest valid, did the reclaim fail, how strong was the rejection, where is invalidation, and is there enough room for the idea to matter?
The design supports a planning mindset: identify the broken shelf, wait for the retest, evaluate the failed reclaim, check room, and then decide whether the context deserves attention.
⚡ Why This Script Is Different
Most tools focus on fixed references such as VWAP, moving averages, prior-day levels, or broad support/resistance zones.
This script does NOT act as a generic S/R scanner, VWAP reclaim indicator, EMA reclaim map, previous-day sweep tool, or liquidity sweep engine.
Instead, it focuses on one narrow workflow: failed reclaim planning after a visible swing shelf breaks. The reference level is visible on the chart, the failure pocket is mapped, the rejection is scored, and the panel summarizes the next action.
⚙️ Methodology
1. Swing Shelf Detection
The script confirms visible swing highs and swing lows using left/right pivot structure.
2. Shelf Break Activation
When price closes beyond a confirmed shelf with enough ATR-adjusted separation, that shelf becomes an active reclaim reference.
3. Retest and Failure Evaluation
During the retest window, the script checks whether price returns into the shelf area and then rejects the reclaim. The failure score evaluates retest depth, close rejection, wick quality, volume participation, follow-through, and continuation room.
4. Planning Output
Qualified events create a scored BULL / BEAR label, a failed reclaim pocket, planning room band, invalidation guide, target-room guide, and panel state.
🗺️ How to Read the Chart
Shelf Zones = visible broken swing shelves that price may attempt to reclaim.
Failure Pockets = highlighted reclaim-failure areas where the retest rejected the broken shelf.
Planning Room Bands = projected continuation room after a qualified failed reclaim. These are planning references, not targets or promises.
Score Labels = compact BULL / BEAR labels showing the failure quality score.
Risk / Target Guides = dashed and dotted reference lines that help locate invalidation and continuation room.
Panel = the decision layer showing Reclaim State, Failure Score, Rejection Quality, Room, and Action.
🚦 Signals & States
• UP SHELF → a visible swing high was broken and is now monitored as a reclaim shelf.
• DN SHELF → a visible swing low was broken and is now monitored as a reclaim shelf.
• Bear Failure Active → bearish failed reclaim context is active after a broken shelf retest.
• Bull Failure Active → bullish failed reclaim context is active after a broken shelf retest.
• Failure Score → 0-100 quality score for the reclaim failure.
• Rejection Quality → how cleanly price rejected the reclaim attempt.
• Room → ATR-based continuation space available from the failure context.
• Action → the current planning state shown in plain language.
🔔 Alerts Logic
Alerts are available for:
• Bearish Failed Reclaim
• Bullish Failed Reclaim
• New Broken Shelf
• Shelf Recovered
Alerts are attention markers. They are not trade instructions, automation signals, or guaranteed outcomes.
🧩 Confluence Logic
The context becomes stronger when several conditions align:
• A visible swing shelf has already broken
• Price retests the broken shelf
• The reclaim attempt fails with wick and close rejection
• Participation is not weak
• There is still continuation room beyond the failed reclaim
When these elements align, the script treats the event as a stronger planning context.
📊 When to Use
• After clear swing highs or swing lows have broken
• During retests of broken structure
• In trending or transitioning markets where reclaim failure can matter
• When you want risk, invalidation, and room mapped visually
• When you prefer decision support over raw signal spam
⚠️ When NOT to Use
• Very low-liquidity charts
• Extremely noisy sideways chop
• News-driven spikes where ATR behavior becomes distorted
• Markets with poor swing structure
• Situations where you specifically need VWAP, session, or moving-average reclaim logic
🎛️ Key Inputs
• Sensitivity → adjusts how quickly the script reacts to shelf breaks and failures.
• Swing Left Bars / Swing Right Bars → define how visible swing shelves are confirmed.
• Retest Window Bars → controls how long a broken shelf remains active for reclaim evaluation.
• Minimum Failure Score → sets the quality threshold for confirmed failed reclaim events.
• Shelf Buffer ATR → controls the thickness of the reclaim shelf zone.
• Target Room ATR Multiple → controls fallback room projection when nearby structure is limited.
• Show Planning Room Band → displays the continuation room corridor after qualified failed reclaim events.
• Visual Memory Bars → controls how long historical zones, labels, and guide objects remain visible.
• Panel / Label Settings → control panel location, theme, visibility, and font size.
🖥️ Interface & Visual Design
The interface is designed to look like a planning tool, not a crowded signal overlay.
The chart carries the core story: shelf break, retest, failed reclaim pocket, score label, planning room, and risk / target references.
The panel uses the AGPro public-release standard: one merged blue header row containing only the script name. The rest of the panel summarizes the current decision state without covering the chart.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Check whether a visible shelf is active or already failed.
3. Review the failed reclaim pocket and BULL / BEAR score label.
4. Compare the rejection quality with the planning room band.
5. Use risk / target guides as context references.
6. Interpret the output within broader market structure.
🔍 Interpretation Guidelines
A higher Failure Score means the reclaim failure is cleaner under the script's rules. It does not guarantee continuation.
Rejection Quality helps distinguish weak shelf touches from stronger failed reclaim behavior.
Room shows whether there is enough practical continuation space for the context to matter.
The Action row is the main planning summary. It is designed to guide review, not replace trader judgment.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not auto trading
• Not guaranteed signals
• Not a VWAP reclaim tool
• Not an EMA reclaim map
• Not a previous-day sweep reclaim script
• Not a generic support/resistance scanner
⚠️ Limitations & Transparency
Different timeframes can produce different shelves because swing structure changes with timeframe.
Volatility changes can affect shelf width, label spacing, and room projections.
Low-volume conditions may weaken the reliability of wick and participation components.
Sideways markets may create repeated shelf tests that require extra discretion.
🧠 Market Context Notes
Failed reclaim behavior often becomes important when price loses a visible structural shelf and cannot regain that area on the retest.
This is different from a successful reclaim, liquidity sweep, VWAP reclaim, or moving-average retest. The script is intentionally narrow so the chart remains focused on one decision workflow.
🧾 Use Case Examples
Example 1:
Price breaks below a confirmed swing low, retests that shelf from underneath, leaves rejection, and fails to reclaim. A BEAR score label appears with a failure pocket and planning room.
Example 2:
Price breaks above a confirmed swing high, retests the broken shelf, holds above it, and rejects back upward. A BULL score label appears with risk and room context.
🧱 System Philosophy
Failed Reclaim Planner follows the AGPro decision-engine approach:
Do not just show another signal.
Show the reference.
Score the failure.
Map the risk.
Map the room.
Summarize the next action.
🔐 Non-Promise Statement
No script provides certainty.
No failed reclaim guarantees continuation.
Outputs should be interpreted as structured analytical context, not as a promise of future price behavior.
📉 Risk Disclosure
Trading involves risk.
Users are responsible for their own decisions, position sizing, execution, and risk management.
This script does not provide financial advice, investment advice, or guaranteed trading outcomes.
📚 Educational Note
Use this script to study how broken swing shelves behave when price attempts to reclaim them. The strongest value comes from comparing the shelf zone, failure pocket, score label, planning room, and panel state with broader market structure and your own rules.
Indicator

Initial Balance Breaks [NQ stats x CantoLab]An open source indicator built around the Initial Balance break statistics from NQ Stats (nqstats.com). Credit to NQ Stats for the original research — published here with permission.
⚠️ Important
This is a statistical study indicator. It does not guarantee that the IB high or low will be hit. Over a large sample, this is the expected behaviour based on 10 years of NQ data. It is best combined with other confluences to confirm direction — this indicator alone is not a strategy.
What is the Initial Balance?
The Initial Balance (IB) is the price range established during the first hour of the New York equity session — 09:30 to 10:30 ET. The high and low set within this window become key levels for the rest of the trading day.
Based on 10 years of NQ data, IB breaks 83% of the time before noon and 96% of the time before 4:00 PM. The stat alone doesn't give you direction — but combined with where the IB closes relative to its own midpoint, you get a directional edge:
IB closes in the upper half → high breaks 82% of the time
IB closes in the lower half → low breaks 76% of the time
What it does
Once the IB window closes at 10:30, the indicator plots the IB High, Low and Mid as levels on the chart and automatically determines the directional bias based on where price closed within the IB range.
The expected break side is labelled with its probability and a tracking line extends forward tracking whether that level gets hit. When the level is breached the label updates to show Success or Failed in real time.
IB High — upper boundary of the initial balance range
IB Low — lower boundary of the initial balance range
IB Mid — equilibrium of the range, plotted in orange.
When price closes above mid, high break is expected.
When price close below mid, low break is expected.
Probability line — extends from IB close forward on the expected side, updates to Success or Failed when hit
Settings
IB Time — configurable session window, default 09:30–10:30 NY time
Label Size — Tiny / Small / Normal / Large / Huge
Per-level line style and width — IB High, Low, Mid and vertical markers
Auto color — IB High and Low auto-adapt to chart theme, or set manually
Notes
Built for NQ Futures. Behaviour on other instruments is untested
All times are New York time
Current version tracks directional bias from IB close relative to midpoint. The 83% before noon and 96% before 4PM time-based breach tracking and IB formation order confluence are not yet implemented
Probability data derived from 10 years of NQ historical data by NQ Stats.
This indicator does not provide financial advice or a complete strategy. You are responsible for how you build around and execute on this data
Indicator

1-2-3 Reversal Map [AGPro Series]1-2-3 Reversal Map
🔹 OVERVIEW
1-2-3 Reversal Map is a focused PulseWire overlay built for traders who want a clean, structured way to follow one of the most recognizable reversal formations in price action: the confirmed 1-2-3 reversal.
This tool maps the full life cycle of a 1-2-3 structure. It identifies the confirmed swing sequence, marks Point 1, Point 2, and Point 3, projects the neckline from Point 2, evaluates the neckline break, and highlights the retest pocket after confirmation. The goal is not to fill the chart with generic reversal signals. The goal is to make the actual 1-2-3 process easier to see, compare, and track.
The script is designed around visual clarity. The latest active structure stays readable through numbered swing labels, restrained guide lines, a clearly identified neckline, and a concept-specific retest pocket. The panel then summarizes the current stage, neckline status, retest status, and reversal score in a compact AG Pro layout.
🔹 WHAT MAKES IT DIFFERENT
Most reversal tools try to do too many things at once. They mix candle patterns, double tops, double bottoms, head and shoulders structures, failed breakouts, generic support and resistance zones, trend filters, and broad reversal markers into one crowded chart.
1-2-3 Reversal Map takes a more disciplined approach. It stays inside one lane: the confirmed 1-2-3 reversal sequence.
The script does not mark every possible turning point. It waits for a defined swing chain:
1. Point 1 establishes the original swing extreme.
2. Point 2 forms the neckline reference.
3. Point 3 confirms that price has created a structurally relevant retracement.
4. The neckline break turns the structure from a setup into a confirmed map.
5. The retest pocket shows where the broken neckline can be evaluated again.
This creates a cleaner workflow than broad reversal scanners. Instead of asking the chart to show everything, the script asks one focused question: has a valid 1-2-3 structure progressed from swing formation to neckline break and retest behavior?
🧭 WHY THIS DOES NOT OVERLAP WITH OTHER AGPRO TOOLS
This script was intentionally built to avoid overlapping with other AGPro public tools.
It is not a broad reversal pattern scanner. It does not combine double top, double bottom, head and shoulders, inverse head and shoulders, wedge, or candle-pattern logic. It focuses only on the 1-2-3 reversal sequence.
It is not a Turtle Soup or failed-breakout tool. It does not begin with a failed range break or liquidity sweep. Its starting point is a confirmed three-point swing structure.
It is not a wedge reversal tool. It does not evaluate converging trendlines, compression geometry, or wedge breakout behavior.
It is not a generic support and resistance map. The rectangle is not a general zone engine. It is a neckline retest pocket that appears only after a valid 1-2-3 neckline break.
It is not a breakout dashboard. Breakout logic exists only as one stage inside the 1-2-3 reversal process.
This makes the script narrow enough for a differentiated AGPro release while still being visually useful and searchable for traders who specifically look for 1-2-3 reversal structure, neckline break, and retest confirmation workflows.
⚙️ METHODOLOGY
The script uses confirmed pivot structure to define each 1-2-3 sequence.
For a bullish 1-2-3 structure:
- Point 1 is a confirmed swing low.
- Point 2 is the recovery swing high and neckline reference.
- Point 3 is a higher low that holds above Point 1.
- The neckline break requires price to close beyond Point 2 with a configurable ATR buffer.
- The retest pocket is projected around the broken neckline after confirmation.
For a bearish 1-2-3 structure:
- Point 1 is a confirmed swing high.
- Point 2 is the reaction swing low and neckline reference.
- Point 3 is a lower high that holds below Point 1.
- The neckline break requires price to close beyond Point 2 with a configurable ATR buffer.
- The retest pocket is projected around the broken neckline after confirmation.
The reversal score is structure-native. It evaluates:
- P1-P2 leg size relative to ATR
- Point 3 hold quality
- P3 retracement balance
- Timing symmetry between structure legs
- Break distance beyond the neckline
- Break candle body quality
- Close location inside the break candle
- Optional volume participation
The score is not designed as a prediction model. It is a ranking layer for comparing the quality of structures that meet the script's own rules.
📊 PANEL
The AG Pro panel is built to keep the structure status readable without forcing the user to interpret every chart object manually.
Panel rows:
- Stage: shows whether the structure is waiting, armed, broken, retested, expired, or invalidated.
- Neckline Break: shows whether the neckline has been confirmed.
- Retest: shows whether the retest pocket is inactive, being watched, or held.
- Reversal Score: shows the current 0-100 score and quality grade.
The panel uses the AGPro standard format:
- One merged blue header row
- Only the script name in the first row
- Adjustable panel location
- Adjustable panel theme
- Adjustable panel font size
🎛️ KEY INPUTS
Pivot Left Bars / Pivot Right Bars:
Controls how mature the swing points must be before the 1-2-3 structure can form. Higher values create fewer and cleaner structures. Lower values make the script more responsive.
Minimum P1-P2 Leg ATR:
Filters out small structures by requiring a minimum distance between Point 1 and Point 2.
Minimum Point 3 Hold ATR:
Defines how much Point 3 must hold relative to Point 1. This helps separate valid structural retracements from weak retests of the original extreme.
Minimum / Maximum P3 Retracement:
Controls the acceptable retracement range for Point 3. This prevents both shallow noise and near-failed structures from being accepted too easily.
Neckline Break Buffer ATR:
Adds a configurable buffer beyond the neckline before the break is accepted.
Retest Pocket Width ATR:
Controls the height of the retest pocket around the broken neckline.
Retest Pocket Projection Bars:
Controls how far the pocket is projected forward.
Show Context Tags:
Adds compact labels such as Neckline and Retest Pocket so the visual elements are easier to identify.
Show Recent Structure Traces:
Keeps a small rolling set of recent structure lines and pockets while keeping numbered swing labels focused on the latest active setup.
Label Font Size:
Controls all chart labels, including swing numbers, context tags, and optional event labels.
Panel Font Size:
Controls the AG Pro panel text size separately from chart labels.
🔍 HOW TO READ IT
Start with the numbered swing labels.
Point 1 marks the original structural extreme. Point 2 marks the neckline reference. Point 3 marks the retracement that must hold for the 1-2-3 structure to remain valid.
Next, watch the neckline.
The neckline is the main confirmation level. Before it breaks, the panel shows the structure as armed or waiting. After it breaks, the structure becomes a confirmed 1-2-3 map.
Then watch the retest pocket.
The retest pocket appears around the broken neckline after confirmation. This is the script's key context zone. It helps the user observe whether price can return to the neckline area and hold the structure instead of treating every move after the break as equally important.
Finally, use the panel score as a quality filter.
A high score means the structure has stronger internal balance according to the script's rules. A lower score means the 1-2-3 sequence may still exist, but its structure quality is weaker.
🧩 BEST USE CASES
This script is best suited for:
- Traders who use classic 1-2-3 reversal logic
- Swing traders who want confirmed pivot structure
- Price-action traders who track neckline breaks
- Traders who prefer breakout-retest workflows
- Users who want fewer, clearer chart objects instead of broad reversal scanners
- Multi-timeframe chart review where structure clarity matters
- Public chart sharing where visual cleanliness is important
It can be useful on crypto, forex, indices, equities, and commodities, especially on charts where swing structure and neckline behavior are visually meaningful.
🧠 VISUAL DESIGN PHILOSOPHY
The design goal is clarity through restraint.
The script avoids a crowded signal-board style. It uses numbered labels only for the current active swing structure. It separates the neckline from the retest pocket with distinct visual language. Recent traces are kept limited and softened so they provide context without dominating the chart.
The active neckline is drawn with a stronger accent color. The retest pocket is shown as a clean rectangle around the broken neckline. Structure legs are dotted and restrained, helping the user understand the geometry without overpowering price.
The chart should feel premium, readable, and publication-ready. The indicator is built to support a clean PulseWire screenshot rather than create visual noise.
🔔 ALERTS
The script includes alerts for the main 1-2-3 lifecycle events:
- 1-2-3 structure armed
- Bullish 1-2-3 neckline break
- Bearish 1-2-3 neckline break
- 1-2-3 retest pocket held
- 1-2-3 structure invalidated
These alerts are designed around structure progression, not generic reversal marking.
🔹 LIMITATIONS AND TRANSPARENCY
The script uses confirmed pivots, which means swing points appear only after the required right-side confirmation bars. This is intentional. It prioritizes confirmed structure over instant but unstable markings.
The script does not attempt to identify every possible reversal pattern. It does not evaluate macro trend, fundamentals, order flow, news, or external liquidity conditions.
The reversal score is a structured quality model, not a certainty model. It helps compare 1-2-3 structures inside this script's framework, but it does not forecast outcomes.
Retest pockets are contextual areas around the broken neckline. They are not universal support or resistance zones, and they are not designed to replace broader market analysis.
✅ IDEAL USER
This script is ideal for traders who:
- Understand classic 1-2-3 reversal structure
- Prefer confirmed market structure over early noise
- Want a clean neckline and retest workflow
- Value visual clarity and chart discipline
- Use PulseWire for structured price-action review
- Want a focused public-free AGPro tool that does one concept well
1-2-3 Reversal Map is built for users who want a focused reversal map, not a crowded reversal scanner.
🔹 RELEASE NOTES
- Initial public release of 1-2-3 Reversal Map .
- Added confirmed Point 1, Point 2, and Point 3 swing mapping.
- Added neckline projection with close-based break confirmation.
- Added breakout retest pocket around the broken neckline.
- Added context tags for Neckline and Retest Pocket.
- Added AG Pro panel with Stage, Neckline Break, Retest, and Reversal Score.
- Added adjustable panel location, panel theme, label size, and panel font size.
- Added recent structure traces with softened historical visuals.
- Added alerts for armed structures, neckline breaks, retest holds, and invalidations. Indicator

Effort vs Result Reaction Map [AGPro Series]Effort vs Result Reaction Map
⚖️ OVERVIEW
Effort vs Result Reaction Map is a premium volume-price reaction indicator built around one of the most practical ideas from Wyckoff and Volume Spread Analysis: effort only matters when it is compared with result.
Many volume tools stop at identifying high volume, relative volume spikes, wide candles or bullish/bearish pressure. This script goes further by asking a more selective question:
Is the market actually getting progress for the effort being spent?
The indicator compares normalized participation effort, ATR-adjusted price progress, close-location quality, directional efficiency and wick behavior. The output is a clean reaction map that highlights two specific event families:
• High effort + poor result
• Low effort + strong result
That makes the script different from a simple volume spike detector, a generic pressure map, a support/resistance drawer or a full Wyckoff phase tool. It is focused on the moment where participation and progress become meaningfully disconnected.
🔬 CORE IDEA
Effort is built from two dimensions:
• Relative volume versus a rolling participation baseline
• Candle spread normalized by ATR
Result is built from:
• Price progress over a configurable number of bars
• Close-location quality in the direction of progress
• ATR-normalized movement quality
Efficiency measures the relationship between those two sides. A bar can show strong volume, but if price does not achieve directional progress, the script treats that as a potential failed-progress reaction. A bar can also move cleanly with surprisingly low effort, which can reveal ease of movement and directional acceptance.
🧭 WHAT MAKES IT DIFFERENT
Most public volume indicators answer one of these questions:
• Is volume high?
• Is relative volume expanding?
• Is price near a volume shelf?
• Is pressure bullish or bearish?
• Is a Wyckoff phase forming?
Effort vs Result Reaction Map answers a narrower and more actionable chart-reading question:
Did the market receive enough result for the effort it spent?
This keeps the tool focused and prevents it from overlapping with broader volume profile, relative volume, delta, session reaction or support/resistance scripts. It does not try to label accumulation, distribution, spring, upthrust or phase structure. Instead, it turns effort/result imbalance into a compact reaction framework that can sit cleanly on any chart.
🎯 SIGNAL TYPES
High Effort + Poor Result
This event appears when participation and spread are unusually active but price progress remains weak. The script studies wick behavior and candle direction to estimate which side attempted progress and failed. The label then expresses the opposite reaction bias:
• Failed Bull Progress
• Failed Bear Progress
Low Effort + Strong Result
This event appears when price makes strong directional progress while effort remains unusually light. This can suggest ease of movement, cleaner directional travel or a lack of opposing participation in that moment:
• Low Effort Rise
• Low Effort Drop
Each event must pass a confidence threshold and a visual cooldown before it appears on the chart. This keeps the output selective and suitable for publication-quality screenshots.
🟦 REACTION BOXES
The script can draw rectangular reaction boxes around qualified events. These boxes are not generic support and resistance zones. They are event-native reaction ranges created only when the effort/result engine finds a meaningful imbalance.
Reaction boxes help the user track whether the market later respects, revisits or ignores the area where effort and result became disconnected. The box length, padding, transparency and minimum confidence are configurable.
This gives the chart more structure without turning the indicator into another broad zone tool.
📊 PANEL
The compact panel reports:
• Effort
• Result
• Efficiency
• Reaction Bias
• Confidence
The first panel row follows the AGPro standard format: one merged blue header row containing only the script name. Panel location, panel theme and panel font size are all configurable from the settings.
⚙️ KEY SETTINGS
Engine
• Effort Baseline Length controls the volume normalization baseline.
• ATR Normalization Length controls spread, progress and object spacing.
• Result Progress Bars defines how far back the result comparison looks.
• Volume Weight In Effort balances relative volume versus candle spread.
Reaction Thresholds
• High Effort Threshold defines unusual participation.
• Low Effort Threshold defines unusually light participation.
• Poor Result Threshold filters failed-progress events.
• Strong Result Threshold filters low-effort strong-result events.
• Minimum Event Confidence controls final event selectivity.
• Visual Cooldown Bars keeps labels and boxes from clustering.
Reaction Boxes
• Box Minimum Confidence keeps boxes more selective than labels if desired.
• Box Extend Right Bars controls how long reaction ranges remain visible.
• Box ATR Padding gives boxes a clean margin around the event candle.
• Box Transparency controls chart softness.
Labels And Markers
• Event labels can be enabled or disabled.
• Label confidence can be shown or hidden; it is hidden by default for cleaner screenshots.
• Label font size defaults to Normal.
• Label offset uses ATR so labels stay away from candle bodies.
• Directional markers provide a minimal visual cue for qualified reactions.
🧠 HOW TO USE
Apply the script to a liquid market and start with the default settings.
Watch for high-effort poor-result labels when volume and spread expand but the market fails to make clean progress. These areas can be useful for studying absorption, failed pushes and short-term reaction shifts.
Watch for low-effort strong-result labels when price moves cleanly without requiring heavy participation. These events can help identify easier directional travel and cleaner movement conditions.
Use the reaction boxes as context zones created by the event itself. They are best read together with structure, trend context, liquidity areas, session behavior or your own discretionary framework.
✅ BEST USE CASES
• Spotting failed directional progress after heavy participation
• Comparing volume effort with actual price result
• Identifying clean movement when result expands on lighter effort
• Studying short-term absorption and efficiency shifts
• Adding Wyckoff/VSA-inspired logic without using a full phase detector
• Keeping a premium chart layout with selective labels and contextual boxes
🧩 LIMITATIONS AND TRANSPARENCY
Effort vs Result Reaction Map is an analytical indicator, not a strategy.
It does not classify full Wyckoff phases, does not draw generic support/resistance, and does not attempt to forecast future price. Its purpose is to organize observed effort/result behavior into a clean visual framework.
Event quality depends on symbol behavior, timeframe, volume reliability and selected thresholds. Markets with unreliable volume data may need more conservative settings.
The script is designed to be selective by default, but users can tune thresholds, confidence, cooldown, label size, panel theme and reaction box visibility to match their preferred chart style.
Indicator

Level Survival Map [AGPro Series]Level Survival Map
🔹 Overview
Level Survival Map is a premium support and resistance framework that does not just draw lines on the chart. Every detected level carries a live Survival Score between 0 and 100 that answers one simple question: how well is this level still defending itself right now. The map highlights a single Active Level with an interaction zone and a forward projection ribbon, while nearby weaker levels fade, so traders always know which level actually matters for the current decision.
🔸 Unique Edge
Most support and resistance tools either show static pivots or basic break or retest events. Level Survival Map goes further by measuring the quality of every interaction and turning it into a single composite health score per level. Instead of being left with a wall of equally important lines, the trader sees a ranked structural battlefield with one clearly identified Active Level, a visible interaction zone and a projection ribbon for planning. The Damage State readout, the Fresh and Eroded state semantics, the automatic flip from broken support to new resistance and the cluster fade for crowded weaker levels are designed to work together as one premium, low-noise workflow.
🔹 Methodology
Pivot detection builds the raw candidate levels from swing highs and swing lows using the standard pivot window. A merge filter removes duplicates that sit within a configurable ATR distance of an existing same-type level. Each active level then accumulates four independent components over time. Close Respect rewards closes that respect the level side, for example closes above a support. Penetration Damage penalises wicks and bodies that pierce through the level zone. Reaction Quality rewards strong rejection wicks and bodies moving away from the level after a test. Test Fatigue penalises repeated tests because levels tend to weaken with each new hit. These four components are weighted and combined into a single Survival Score, then clamped between 0 and 100. A structural break caps the score at 35, heavy damage across multiple tests caps it at 28, and a confirmed sequence of opposite-side closes flips the level type while resetting its history. The Active Level is chosen as the closest same-side level to price so that the focus always follows the real decision point.
🔸 Signals and Alerts
The visual output itself is the primary signal. Line colour and thickness communicate level strength at a glance. A focused Active Level is drawn with an interaction zone, a darker core band and a forward projection ribbon so that traders can see the exact price band where reaction is most likely, and how far into the future that band is expected to remain relevant. Labels carry the Survival Score directly, so the ranking of levels is always visible without opening any settings. Broken levels switch to a dashed style and faded colour, and once enough opposite-side closes accumulate they flip type automatically, giving a clear visual signature of structural change.
🔹 Key Inputs
Pivot Left Bars and Pivot Right Bars control how strict the swing detection is. Max Active Levels caps how many concurrent levels are tracked. Level Merge Distance and Interaction Zone are expressed in ATR units so the logic adapts across timeframes and instruments. Scoring weights for Close Respect, Penetration Damage, Reaction Quality and Test Fatigue can be tuned independently, together with the fatigue penalty per extra test and the number of closes required to confirm a flip. Visual inputs cover panel position, label size, line width, focus emphasis, non-focus transparency, cluster fade, focus zone width and projection ribbon length and thickness. A Clean Map Mode is provided for screenshot and publishing workflows where only the Active Level and the nearest valid support and resistance are labelled.
🔸 How to Use
Read the map top down. First, look at the summary panel for the Active Level, its Survival Score, Test Count and Damage State. A Fresh or Strong Active Level defending its side is a high-quality decision point. A Fragile or Eroded Active Level with a Severe Damage State is a warning that the next level below or above is likely to take over. Use the projection ribbon as a planning band for reaction rather than a mechanical entry. Use the ranked non-Active labels to understand where price is likely to travel if the Active Level gives way. The tool is designed to be used as a visual framework, in combination with the trader own execution method, trend context and risk management.
🔹 Limitations and Transparency
This indicator is a visual analytical framework, not a strategy, not a signal service and not financial advice. Survival Score, Damage State and flip logic are deterministic functions of price action and ATR, so different markets and timeframes will produce different characteristic score ranges. Pivot based detection is inherently lagging by the Pivot Right Bars window, which is the expected behaviour of any structural tool and not a defect. The Active Level projection ribbon is a visual planning aid, not a forecast. Past level behaviour does not guarantee future behaviour.
🔸 Risk Disclosure
Trading involves substantial risk and is not suitable for every investor. This script is published for educational and analytical purposes only. Users are solely responsible for their own trading decisions, position sizing and risk management. Always test any tool on your own instruments and timeframes before using it in a live environment. Indicator

Power of Three (AMD) Map [AGPro Series]Power of Three (AMD) Map
🔹 Overview
The Power of Three (AMD) Map visualizes ICT's foundational session-framework concept directly on the chart: Accumulation → Manipulation → Distribution. For each daily or weekly session, the indicator automatically segments the AMD phases, detects classic liquidity sweeps during Manipulation, and projects a distribution target based on the accumulation range. Built for ICT / Smart Money Concept traders who want session-aware bias, transparent sweep validation, and forward-looking expansion projections.
🔹 Unique Edge vs Other PO3 Scripts
Most PO3 indicators on PulseWire simply highlight time-based session blocks and leave liquidity detection to the user's eye. This implementation distinguishes itself through:
• Phase detection by bar count, not timestamps — ensuring consistent AMD ratios across every timeframe from 15m to 1D
• Adaptive sweep confirmation — accepts both same-bar ICT-strict sweeps (wick + close-back) and 2-bar delayed confirmations, significantly improving setup capture without sacrificing quality
• Dual-reference sweep logic — checks both the previous session's accumulation range AND the current session's accumulation range, capturing sweeps that single-reference scripts miss
• TF-adaptive target multiplier — Daily sessions project targets at 0.7× accumulation range, Weekly sessions at 0.3×, aligned with realistic crypto volatility profiles
• Transparent dual-KPI panel — separates Sweep Rate (how often valid sweeps occur) from Target Hit rate (how often the projected expansion completes), giving traders honest, verifiable performance metrics
🔹 Methodology
Each session is divided into three bar-count-based windows:
• Accumulation (first 33% of expected session bars) — tracks the initial range
• Manipulation (next 17%) — scans for liquidity sweeps against the previous session's accumulation high/low and the current accumulation extremes
• Distribution (remaining 50%) — the expected expansion phase, measured against the projected target
A valid Manipulation sweep requires a wick penetrating a reference level followed by a body close back inside (classic ICT definition). In Adaptive mode, sweeps can also confirm within a 2-bar window. The detected sweep direction determines the PO3 bias: sweeping a high produces a Bearish PO3 (expected downside distribution); sweeping a low produces a Bullish PO3 (expected upside distribution). A target price is projected from either the accumulation midpoint (default, symmetrical expansion) or the sweep extreme, multiplied by the configured ratio.
🔹 Signals & Alerts
Four built-in alert conditions:
• Manipulation phase started — Accumulation complete
• Bullish sweep detected — Low was swept, Bullish PO3 forming
• Bearish sweep detected — High was swept, Bearish PO3 forming
• Distribution target hit — Expansion reached projected level
🔹 Key Inputs
• Session Scope — Auto (TF-adaptive), Daily, or Weekly
• Accumulation / Manipulation window percentages (defaults 33% / 17%)
• Sweep Reference — Previous Accumulation, Current Accumulation, or Both (default)
• Sweep Confirmation — Strict (same-bar) or Adaptive (up to 2-bar, default)
• Target Projection Method — From Accumulation Mid (default) or From Sweep Extreme
• Multiplier Mode — Auto TF-adaptive (default) or Manual
• Historical sessions to display (default 5, max 10)
• Full visual customization — colors, label position, font size, panel position & theme
• Premium visuals — sweep triangle markers, target price label (toggleable)
🔹 How to Use
1. Add the indicator to any crypto or forex chart with timeframe 1H–4H (for Daily PO3) or 1D (for Weekly PO3)
2. Watch the Accumulation range form at the start of each session — this defines the sweep reference level
3. When Manipulation phase begins, monitor for a wick that sweeps the previous accumulation high/low with a body close-back (triangle marker appears on confirmed sweeps)
4. Once a sweep confirms, the panel displays the directional bias (Bullish/Bearish PO3), the projected target price, and a dashed target zone extends toward the session end
5. Use the Sweep Rate and Target Hit percentages in the panel to contextualize reliability on your chosen symbol and timeframe
6. The panel's Completion counter grows as new sessions close — give the script enough historical bars to build meaningful statistics
🔹 Limitations & Transparency
• AMD phase windows are bar-count approximations — real sessions do not cleanly segment into 33/17/50 splits. The indicator is a structural guide, not a timing oracle
• Sweep detection requires the chart timeframe to contain at least 4 bars per session. On 1D charts, use Weekly mode; on 1W charts, the indicator will display a warning
• The projected target is a statistical expectation based on the accumulation range. The Target Hit rate (shown in panel) reflects the historical frequency of this expectation being met on the current symbol/timeframe — typically 40–55% on crypto majors
• Sweep Rate shows the percentage of completed sessions where a valid Manipulation sweep was detected; sessions without sweeps produce no bias and no target
• Historical statistics accumulate from the first bar available on the chart and reset only when the chart reloads
🔹 Risk Disclosure
This indicator is a visualization and analysis tool. It does not generate trade signals, predict price movement, or guarantee outcomes. Past Sweep Rate and Target Hit statistics reflect historical behavior only and do not imply future performance. All trading decisions and risk management remain the responsibility of the user. Indicator

AG Pro Premium Discount Zone Engine [AGPro Series]AG Pro Premium Discount Zone Engine
Overview / What it does
AG Pro Premium Discount Zone Engine is a dealing-range and retracement context overlay built to map relative value inside a selected swing. Instead of treating price as a sequence of isolated candles, the script frames current price location against an active high-low range and highlights where price is trading relative to equilibrium, premium, discount, and the OTE area.
The core purpose of this tool is organizational. It is designed to help traders read where price is positioned inside a live swing and how price reacts when it moves into higher-value or lower-value retracement zones. This is especially useful when a chart is moving inside a pullback, when trend continuation is being evaluated, or when users want to distinguish between shallow retracements and deeper repricing within an existing range.
The script supports multiple ways to define the active range. Users can work with an automatically detected swing, a higher-timeframe dealing range, or a manual-lite anchor mode based on bar offsets. Once a valid range is identified, the script projects premium and discount territory, marks the 50% equilibrium, and highlights the OTE area using the 61.8, 70.5, and 78.6 retracement levels.
The output is intentionally visual, structured, and restrained. Premium and discount zones are shown as clean value blocks. The OTE area is treated as the main focus zone rather than a minor detail. The panel summarizes the active bias, current location, zone state, equilibrium level, and OTE boundaries so that users can read the chart quickly without relying on aggressive signal language.
Unique Edge
What makes this script different is that it is not built as a market-structure detector, imbalance mapper, liquidity event scanner, or order-block locator. Its job is narrower and more specific: it organizes relative price location inside a defined dealing range.
That distinction matters. Many overlays attempt to explain everything on the chart at once. This script does not. It does not try to label breaks of structure, detect fair value gaps, mark liquidity sweeps, or classify institutional zones. Instead, it answers a more focused question: where is price trading inside the current swing, and how is it behaving as it enters or leaves important retracement territory?
This also separates the script from other AG Pro tools. Some AG Pro overlays are built around structure transitions, some around imbalance behavior, some around reaction quality, and some around event detection. AG Pro Premium Discount Zone Engine is built around valuation context. It does not compete with those tools directly. It complements them by adding a relative-value map around a selected range.
Another difference is the zone-state logic. The script does not stop at drawing premium and discount blocks. It also tracks how price interacts with the OTE area and classifies that interaction using a simple state model such as Fresh, First tap, Retested, Rejected, Accepted, and Invalidated. This creates a more contextual read than a static retracement overlay.
Methodology
The script begins by identifying an active swing range. In Auto Swing mode, it uses pivot-based range detection. In HTF Swing mode, it builds the range from a higher-timeframe high-low window. In Manual-Lite Swing mode, it uses bar-offset anchors to let the user define a practical swing reference without requiring manual drawing tools.
Once the active range is available, the script calculates the internal value map:
- Swing High
- Swing Low
- 50% Equilibrium
- Premium territory above equilibrium
- Discount territory below equilibrium
- OTE zone using 61.8, 70.5, and 78.6 retracement levels
The script then monitors how price behaves around those levels. This produces context states rather than directional promises. For example, price entering the OTE area is not treated the same as price rejecting from it, accepting beyond it, or invalidating the active range. These are intentionally different events because they describe different chart conditions.
The equilibrium level is included as a centerline reference, while the OTE band is given stronger visual emphasis. This helps distinguish broad valuation territory from the narrower retracement pocket that many users monitor more closely.
Signals & Alerts
The signals in this script are event-based and deterministic. They are not designed as standalone trade instructions. They are designed to describe interaction with the active range.
Available event logic includes:
- OTE Test
- OTE Reject
- OTE Accept
- Discount Reaction
- Premium Rejection
- Equilibrium Cross
- Range Invalidated
- OTE Failure
These events are intended to provide chart context. For example, an OTE Test simply means price entered the active OTE zone. A Premium Rejection means price traded into the premium side and closed back below the local premium threshold used by the script. A Discount Reaction means price interacted with the discount side and responded upward under the script's rules. These are context events, not guarantees of continuation.
Alerts follow the same philosophy. They are defined in a rules-based way so users can monitor range interaction without needing to watch the chart continuously. The alert layer is most useful when the script is used as a location filter inside a broader workflow.
Key Inputs
Swing mode
Lets the user choose between Auto Swing, HTF Swing, and Manual-Lite Swing depending on whether the goal is reactive automation, higher-timeframe framing, or a more controlled local range definition.
Auto pivot length
Controls how sensitive the pivot-based swing detection is in Auto mode.
HTF timeframe and HTF lookback
Used to define the broader dealing range in higher-timeframe mode.
Manual high bars back / manual low bars back
Used to create a manual-lite range by referencing earlier bars as anchors.
Render bars back / render bars forward
Controls how far the active range projection extends on the chart.
Zone opacity and theme
Used to refine the visual balance between premium, discount, and OTE areas.
Label controls
Used to reduce visual noise by controlling label cooldown, label render window, and maximum visible labels.
Panel controls
Allow the user to reposition the panel and adjust its text size to fit different chart layouts.
Limitations & Transparency
This script does not predict direction. It does not forecast reversals. It does not decide whether a chart should trend, break, or fail. It maps relative value inside a selected range and reports interaction events inside that framework.
The quality of the output depends on the quality of the active swing. If the selected or detected range is not meaningful for the user's workflow, the valuation map will also be less meaningful. This is especially important in highly compressed, extremely noisy, or structurally unclear conditions.
Auto Swing mode is practical, but like any automated swing model, it depends on pivot confirmation and may update as newer pivots become available. HTF mode provides broader context but may feel less reactive on smaller charts. Manual-Lite mode gives more control but still depends on the user choosing sensible anchor distances.
OTE logic is range-relative. It does not incorporate unrelated concepts such as order blocks, liquidity pools, fair value gaps, session models, or external structure classifications unless the user combines those ideas manually in a separate workflow.
This script is best understood as a valuation-context overlay. It is not a complete strategy, not a full decision engine, and not a substitute for risk management.
How this differs from other AG Pro scripts
AG Pro Premium Discount Zone Engine is intentionally not a structure-break tool, not a CHoCH/BOS detector, not a liquidity sweep scanner, not an FVG engine, and not an order-block mapper.
Its role inside the AG Pro family is to answer a different question:
Where is price trading inside the active dealing range, and what is the quality of its interaction with that value map?
That makes it particularly useful for users who already understand direction from another process and want cleaner execution context. In other words, some tools focus on structural change, some focus on imbalance, and some focus on reaction events. This one focuses on valuation location.
Risk Disclosure
This script is for chart analysis and educational use only. It does not provide financial advice, investment advice, or guaranteed trade signals. Any use of this tool should be combined with independent analysis, risk controls, position management, and market-specific judgment.
The presence of an alert, label, premium zone, discount zone, or OTE interaction does not imply that price must react in a specific way. Markets can continue, reverse, compress, or invalidate a range without warning. Users should treat this script as a context tool, not as a promise of outcome.
Indicator

AG Pro Relative Volume Pressure Map [AGPro Series]AG Pro Relative Volume Pressure Map
Overview / What it does
AG Pro Relative Volume Pressure Map is designed to evaluate whether relative volume is translating into efficient bullish pressure, efficient bearish pressure, inefficient two-way absorption, or possible climax behavior.
Instead of treating relative volume as a standalone “high volume” condition, this script maps how that volume is interacting with candle structure, close location, wick behavior, and short-term pressure efficiency. The result is a rules-based pressure framework built to help organize active price-volume interaction directly on the chart.
This script is not built as a basic RVOL meter, a generic volume spike detector, or a standalone entry engine. Its purpose is to classify whether elevated relative volume is being accepted as directional pressure, being absorbed into unstable churn, or appearing late enough to justify caution.
The visual design is intentionally chart-facing. Pressure events, backdrop zones, memory trails, and the summary panel are meant to help traders read whether volume is supporting directional intent or fading into friction. It is a decision-support map, not a prediction model.
Unique Edge
The main difference of this script is simple:
It does not ask only whether volume is above average.
It asks whether above-average volume is producing usable directional pressure.
That distinction matters.
Many relative volume tools stop at “volume is elevated.” This script goes further and evaluates whether that elevated participation is accompanied by efficient body structure, strong close positioning, limited opposing wick pressure, and acceptable short-horizon follow-through context. In other words, it attempts to separate meaningful pressure from noisy activity.
This also makes the script materially different from several other AG Pro tools:
- It is not a Volume Profile framework. It does not map acceptance, rejection, POC interaction, or value-area structure.
- It is not a VWMA extension tool. It does not measure dislocation from a volume-weighted moving anchor.
- It is not a money-flow proxy. It does not attempt to infer broader accumulation or distribution from flow-style formulas.
- It is not a breakout-quality map. It does not judge level breaks, retests, or structural invalidation around support/resistance rails.
- It is not a trend regime meter. It focuses on active pressure quality around current bars rather than broad market-state classification.
Its niche inside the AG Pro lineup is more specific:
AG Pro Relative Volume Pressure Map focuses on whether current relative volume is being converted into directional pressure efficiently, inefficiently, or excessively.
Methodology
The script starts with relative volume. Current volume is compared against its recent average so the tool can determine whether participation is dry, normal, elevated, or extreme.
From there, the script evaluates how price is behaving inside the same bar:
- Body efficiency: how much of the total range is being expressed through the real body.
- Close location: whether the bar is closing with directional conviction or fading into the middle of its range.
- Opposing wick pressure: whether the active side is being challenged by rejection.
- Stretch versus ATR: whether the move is becoming extended relative to recent volatility.
- Optional one-bar follow-through filter: whether short-horizon continuation is present when pressure is classified.
These components are combined into a pressure logic model that classifies price-volume behavior into five chart states:
1. Bull Pressure
Elevated relative volume is aligned with an efficient bullish body, strong close placement, limited upper-wick resistance, and acceptable follow-through context.
2. Bear Pressure
Elevated relative volume is aligned with an efficient bearish body, strong close placement, limited lower-wick resistance, and acceptable follow-through context.
3. Absorption
Relative volume is elevated, but directional efficiency is weak, conflicted, or unstable. This often reflects churn, friction, or two-way participation where raw activity does not cleanly convert into directional pressure.
4. Climax Risk
Relative volume is extreme and the bar is stretched enough to justify caution. The script uses this state to identify situations where pressure may be arriving in a late or inefficient form rather than in a fresh, clean expansion phase.
5. Passive
No major pressure condition is active. Participation is comparatively dry, mixed, or below the threshold required for the more expressive states above.
States / Alerts
This script is organized around states rather than trade commands.
Available state logic includes:
- Bull Pressure
- Bear Pressure
- Absorption
- Climax Risk
- Pressure State Change
These alerts are intended to reflect changes in price-volume character, not guaranteed opportunity. They can be used as workflow events, review prompts, or contextual filters inside a broader chart process.
The panel summarizes the active environment through fields such as:
- RVOL state
- Current pressure state
- Pressure side
- Quality
- Strength
- Efficiency
- Absorption risk and short-horizon bias
The chart layer complements this with event labels, backdrop zones, and pressure memory trails so the user can see not only what state is active now, but how recent pressure has evolved across the visible structure.
Why this is different from the other AG Pro scripts
AG Pro Relative Volume Pressure Map was intentionally designed to avoid overlap with the existing AG Pro publication line.
Where some AG Pro tools are built around breakout structure, moving-average displacement, equilibrium logic, profile interaction, or directional survival around a specific technical framework, this script stays centered on one narrower question:
Is current relative volume producing efficient pressure, inefficient absorption, or late-stage risk?
That makes it different in both concept and use case.
For example:
- A breakout-quality tool is asking whether a level event is structurally convincing.
- A profile-based tool is asking whether price is accepting or rejecting volume-defined areas.
- A reclaim/dislocation tool is asking whether price is stretching away from or reclaiming a known reference.
- This script is asking whether participation itself is translating into directional pressure cleanly enough to matter.
So even when the chart user applies multiple AG Pro tools together, this one is not meant to duplicate them. It fills a different layer of analysis: active pressure efficiency around relative volume.
Key Inputs
Relative Volume Length
Controls the lookback used to normalize current volume versus its recent baseline.
ATR Length
Used for stretch evaluation and several visual placement rules.
Pressure Smoothing
Smooths the relative volume component to reduce one-bar noise.
Use 1-Bar Follow-Through Filter
Adds a simple continuation requirement so pressure states can be made more selective.
Elevated RVOL Threshold
Defines the point at which participation becomes meaningfully above normal.
Extreme RVOL Threshold
Defines the threshold used for more exceptional activity and climax-style conditions.
Minimum Body Efficiency
Controls how much real-body participation is required before a pressure bar is considered efficient.
Strong Close Location
Controls how strongly price must close toward the active side of the range.
Opposing Wick Ceiling
Limits how much opposing rejection can be present before directional pressure quality degrades.
Climax Stretch vs ATR
Controls how extended a bar must be, relative to ATR, before the script considers late-stage risk more seriously.
Visual controls are also included for panel visibility, panel theme, panel font size, label density, candle coloring, backdrop display, and pressure-trail presentation.
Limitations & Transparency
This script does not predict future direction.
It does not identify hidden order flow.
It does not classify fundamental volume intent.
It does not replace execution rules, risk management, or higher-timeframe context.
Relative volume can expand for many reasons, and elevated participation does not guarantee continuation. In the same way, absorption or climax-style behavior can persist longer than expected before price resolves clearly.
All state classifications in this tool are rules-based interpretations of chart behavior. They are useful as structured context, but they are still abstractions built from price and volume features. Users should expect false positives, missed events, and market-specific variation depending on volatility regime, instrument behavior, and timeframe selection.
This script should be treated as an analytical overlay. It is designed to improve chart organization and pressure reading, not to promise outcomes.
Risk Disclosure
This script is provided for educational and informational purposes only.
It is not financial advice, not investment advice, and not a solicitation to buy or sell any instrument.
Trading and investing involve risk. Losses can exceed expectations, especially in volatile markets. Any decision made using this script should be confirmed with independent analysis, sound risk controls, and a workflow appropriate to the user’s own objectives and experience.
This tool is best used as one layer inside a broader decision process, not as a standalone reason to enter, exit, or size a position.
Indicator

AG Pro Williams %R Exhaustion Map [AGPro Series]AG Pro Williams %R Exhaustion Map
Overview / What it does
AG Pro Williams %R Exhaustion Map is a bounded-oscillator reaction map built to study exhaustion behavior around the extreme ends of Williams %R. Instead of treating Williams %R as a simple overbought/oversold trigger, this script maps whether an extreme reading is only being touched briefly, held with persistence, beginning to release, failing to release, or unwinding with more structure. The goal is to organize extreme-zone behavior into readable states rather than reduce the tool to a basic reversal shortcut.
The script is designed for traders who want to understand when an extreme condition is still being sustained and when that same condition may be starting to lose efficiency. In practice, that means the script focuses less on isolated crossings and more on the sequence around them: entry into an extreme zone, time spent there, the first release attempt, the possibility of a failed release, and the confirmation of an exhaustion unwind. This sequence-based framing is what gives the tool its map identity.
Within the AG Pro series, this script is intentionally separate from tools that revolve around trend confirmation, centerline balance, divergence, or generic momentum shifts. It is also intentionally separate from the series' Stochastic-based exhaustion work. Stochastic can be useful for reading swing rhythm and rotational turns, while this Williams %R version is centered more tightly on bounded extreme persistence and release behavior. In other words, this script is not presented as an alternative skin for another oscillator. It is a different framework for reading how price behaves when an oscillator remains pinned near an edge and then attempts to escape that condition.
Unique Edge
The unique edge of this script is not that it plots Williams %R, but that it classifies the life cycle of an extreme reading. The script distinguishes between stretch, locked conditions, release attempts, failed releases, and exhaustion unwinds. That structure helps separate three situations that are often mixed together in standard oscillator use:
1) an extreme reading that is still being sustained,
2) an extreme reading that has started to weaken but may still fail, and
3) an extreme reading that is releasing with enough follow-through to qualify as an exhaustion unwind.
This matters because many standard oscillator workflows treat every exit from an extreme zone as if it carried the same informational value. This script does not. It places more emphasis on persistence, release quality, and post-release follow-through, which can help users avoid treating every early reversal attempt as equivalent.
Methodology
The script begins with Williams %R and user-defined extreme thresholds. From there, it evaluates how long the oscillator remains in the upper or lower extreme zone and how deeply it is embedded in that zone. This forms the basis of the lock-strength logic. A fast touch into an extreme area and an extended embedded condition are therefore not interpreted in the same way.
Once an extreme condition has persisted long enough, the script begins monitoring for a release. A release is not defined as any random movement away from the boundary. It requires the prior extreme condition to have had sufficient persistence and then looks for a buffered move away from the threshold. This helps reduce noise from trivial fluctuations around the extreme lines.
After a release is detected, the script continues to track what happens next. If the oscillator quickly slips back into the same extreme region, the move can be classified as a failed release. If the move continues far enough away from the release anchor within the confirmation window, it can be classified as an exhaustion unwind. This post-release tracking is a central part of the script's design because it helps distinguish between temporary relief and more meaningful exhaustion release.
The panel summarizes this process using state, side, lock strength, and release quality. Lock strength is intended to reflect how established the prior extreme condition was. Release quality is intended to reflect the quality of the release sequence, not forecast what price must do next. These metrics are descriptive and contextual. They are not guarantees.
Signals & Alerts
This script provides event-style labels and alert conditions for the main transitions in the exhaustion sequence. The alerts are deterministic and tied to explicit script conditions rather than discretionary interpretation.
Main event types:
- Bullish release detected
- Bearish release detected
- Bullish release failed
- Bearish release failed
- Bull exhaustion unwind confirmed
- Bear exhaustion unwind confirmed
How to interpret them:
- A release event marks the first qualified move away from a persistent extreme condition.
- A failed release marks a release attempt that reverted back into the prior extreme condition too quickly.
- An exhaustion unwind confirmation marks a release that traveled far enough from its anchor within the configured window to qualify as a more established unwind sequence.
These events are intended to help structure chart reading. They are not standalone trade instructions, and they are not framed as guaranteed reversal signals.
Key Inputs
Williams %R Length
Controls the oscillator lookback period.
Upper Extreme / Lower Extreme
Define the zones used to classify upper and lower exhaustion behavior.
Lock Bars
Controls how much persistence is required before an extreme condition is treated as locked rather than only stretched.
Release Buffer
Adds distance beyond the raw threshold so the script does not treat every minor edge fluctuation as a release.
Confirm Distance / Confirm Window
Control how far and how quickly a release must extend to qualify as an exhaustion unwind.
Fail Window
Controls how quickly a release can revert back into the extreme zone and still be classified as a failed release.
Event Memory Bars
Controls how long the release state is remembered on the chart.
Visual Settings
Allow users to control event labels, minimum spacing between labels, background tint, and optional price-bar coloring.
Panel Settings
Allow users to control panel visibility, placement, font size, and theme.
How this differs from related AG Pro scripts
This script should not be confused with the series' other momentum or exhaustion tools.
Compared with Stochastic-based exhaustion work in the AG Pro series, this script is less about oscillator rhythm and more about the persistence and release structure of a bounded extreme condition. The emphasis here is on whether Williams %R remains pinned, whether the first escape attempt fails, and whether the unwind becomes established.
Compared with RSI-, CCI-, or MFI-oriented workflows, this script is not a centerline trend model, not a divergence engine, and not a money-flow proxy. Its purpose is narrower and more specific: to map the state transition of extreme Williams %R conditions.
Compared with broader trend or regime tools in the AG Pro series, this script is not trying to classify the full market environment by itself. It is better understood as a focused reaction map that can be used alongside a user's own structure, trend, or risk framework.
Limitations & Transparency
This is an indicator, not a strategy. It does not place orders, it does not calculate performance statistics, and it does not claim to predict future price direction. It visualizes oscillator-state transitions derived from Williams %R and user-defined thresholds.
Like all bounded oscillators, Williams %R can remain in extreme territory for extended periods during strong directional conditions. For that reason, an extreme reading should not automatically be interpreted as a reversal condition. This script attempts to improve that interpretation by separating stretch, lock, release, failed release, and unwind behavior, but it does not eliminate false positives.
Results can vary meaningfully with symbol, timeframe, volatility regime, and input configuration. Traders should expect the script to behave differently on very quiet markets, strongly trending markets, and highly reactive instruments. Label frequency and state persistence can also change materially when thresholds and confirmation settings are adjusted.
This tool is intended to support chart organization and decision framing. It should be used with the user's own market structure analysis, execution model, and risk management process.
Risk Disclosure
This script is provided for educational and analytical purposes only. It is not financial advice, not a solicitation, and not a promise of results. Trading and investing involve risk, including the risk of loss. No indicator can remove uncertainty from markets, and no exhaustion signal guarantees reversal, continuation, or trade success.
Users should validate any workflow with their own testing, judgment, and risk controls before using it in live decision-making.
Indicator

AG Pro Support Resistance Reaction Map [AGPro Series]AG Pro Support Resistance Reaction Map
Overview / What it does
This indicator maps horizontal support and resistance zones from confirmed price structure, then evaluates how price reacts when it returns to those zones. Instead of treating every level touch as equally important, the script focuses on whether the interaction looks constructive, weak, or potentially broken.
The core objective is to make structural reactions easier to read on-chart. Confirmed pivot highs and lows are converted into zones, nearby levels are merged, older levels can expire, and the chart prioritizes the most relevant active zones on each side of price. When price re-enters a zone, the script grades the reaction and can display labels such as Clean Hold, Sharp Reject, Soft Bounce, or Break Confirmed.
This publication is designed as an indicator, not as an execution engine. It does not place trades, predict future returns, or guarantee that a level will hold. Its purpose is to help traders organize structural context and evaluate reaction quality in a more systematic way.
Unique Edge
Support and resistance is a classic concept, so the difference here is not the concept itself but the workflow built around it.
This script is not a generic auto-drawing tool that tries to plot every possible line. It is a reaction map. The emphasis is on how price behaves inside a structural zone, not on covering the chart with as many levels as possible.
The script differs from tools that are primarily centered on pivot formulas, breakout-retest grading, moving-average reclaim logic, or channel structure. Here, the focus is horizontal structural memory and the quality of the live interaction with that memory. In practice, that means the script is trying to answer questions such as:
- Is this support still reacting constructively?
- Is this resistance rejecting cleanly or absorbing pressure?
- Is the latest touch just noise, or is it a more meaningful retest?
- Which nearby intact levels still deserve attention right now?
Another important distinction is the panel logic. The compact panel does not attempt to summarize all historical levels. It highlights the nearest intact support below price and the nearest intact resistance above price, along with their state, raw versus qualified touch count, and the latest recorded reaction.
Methodology
1) Structural level detection
Confirmed pivot highs and lows are used to create horizontal support and resistance zones. The script waits for confirmation rather than guessing unfinished pivots.
2) Zone construction
Each level is converted into a zone using an ATR-based width. This keeps the plotted area adaptable instead of forcing the same fixed width on all markets and all volatility environments.
3) Merge logic
Nearby levels of the same type can be merged when they fall within the selected merge distance. This helps reduce duplication and keeps the map cleaner.
4) Age and visibility control
Older levels can expire, broken levels can be hidden or faded, and the script visually prioritizes the nearest intact zones. This is intended to improve readability rather than preserve every historical level forever.
5) Reaction scoring
When price newly enters a live zone, the script evaluates the interaction using factors such as penetration depth, close location inside or outside the zone, candle body bias, impulse, and whether the touch is the first qualified retest. The result is translated into a reaction label and a quality score.
6) Touch accounting
The script tracks both Raw and Qualified touches. Raw touches represent zone entries. Qualified touches are stricter and require a fresh entry plus cooldown spacing, which helps avoid counting clustered bars as repeated independent retests.
Signals & Alerts
The script can generate labels and alerts around the most important structural interactions.
Main reaction labels:
- Clean Hold
- Sharp Reject
- Soft Bounce
- Break Confirmed
- Failure Risk
Main alert conditions:
- Bullish Level Reaction
- Bearish Level Reaction
- Level Break Confirmed
These labels and alerts are descriptive, not predictive. They summarize the current structural interaction detected by the script. They are not trade instructions and should not be interpreted as a promise of continuation or reversal.
Key Inputs
Levels
- Pivot Strength
- Maximum Active Levels
- Zone Width (ATR Multiplier)
- Merge Distance (ATR Multiplier)
- Level Expiry (bars)
Reaction Engine
- Retest Cooldown (bars)
- First-Touch Bonus
- Keep Broken Levels Visible
Visuals
- Show Reaction Labels
- Show Compact Panel
- Visible Zones Per Side
- Emphasize Nearest Levels
- Show Soft Bounce Labels
- Minimum Label Score
- Minimum Bars Between Side Labels
- Label Stagger (bars)
- Broken Level Fade
- Base Zone Opacity
- Label Offset (ATR)
- Label Size
- Panel Text Size
Panel
- Panel Location
- Panel Theme (Dark / Light)
Limitations & Transparency
- Pivot-based levels are confirmed after the selected pivot strength completes, so the script is intentionally reactive rather than anticipatory.
- Zone width is ATR-based, which means the visual footprint of levels will change with volatility.
- Raw and Qualified touch counts are intentionally different. Qualified touches are filtered by entry logic and cooldown, so they will usually be lower than raw counts.
- The compact panel is selective. It shows the nearest intact support and the nearest intact resistance, not a full inventory of every level on the chart.
- Visibility controls are designed to keep the chart readable. As a result, some valid but lower-priority levels may be de-emphasized or hidden from the main view.
- Support and resistance remains interpretive by nature. No horizontal level works in isolation across all symbols, timeframes, or market regimes.
Risk Disclosure
This indicator is a chart-analysis tool. It is not a broker, a signal service, or an automated trading system. It does not provide investment advice and it does not guarantee that any level will hold, reject, or break in a particular way.
All markets involve risk. Price can invalidate a structural zone quickly, especially during news events, regime shifts, or low-liquidity conditions. Use the script as one part of a broader decision process that includes market context, liquidity conditions, timeframe alignment, and risk management.
Indicator

AG Pro Volume Delta Imbalance Map [AGPro Series]AG Pro Volume Delta Imbalance Map
OVERVIEW / WHAT IT DOES
AG Pro Volume Delta Imbalance Map is an overlay-style volume pressure tool designed to visualize directional participation asymmetry directly on the price chart. Instead of presenting volume as a standalone histogram or reducing the analysis to a single cumulative line, this script maps estimated directional imbalance into a chart-native structure built around a basis line, a flow spine, and an adaptive ribbon. The result is a cleaner view of whether recent participation is leaning bullish, bearish, or balanced, while keeping the analysis anchored to actual price movement.
The script is built for traders who want a more visual interpretation of directional volume pressure without relying on a separate lower-pane oscillator. The main purpose is not to predict tops, bottoms, or reversals in isolation. Its role is to help users read where directional pressure is expanding, where it is fading, and where the current state remains neutral or low-conviction. By placing the analysis directly on the chart, the script aims to make flow conditions easier to compare with market structure, pullbacks, trend continuation attempts, and local regime shifts.
A key design objective of this script is practical readability. Many volume-based tools either become too abstract for quick chart work or too visually dense to remain useful during live decision-making. Here, the imbalance model is translated into a compact overlay with a smoothed directional spine, a ribbon that adapts to pressure intensity, optional burst labels, optional zone-start labels, and a summary panel that reports the current state, bias, strength, persistence, label mode, and exhaustion condition. This keeps the output interpretable across multiple markets and timeframes without forcing the user to decode a complicated dashboard.
This script should be understood as a directional-volume map, not as a trade automation engine. It is intended to support chart reading, context building, and workflow discipline. It can help highlight when directional participation is broadening, when pressure alignment is improving, or when a previously strong move begins to lose quality. Those observations can then be combined with price structure, support and resistance, volatility context, and the user’s own execution framework.
UNIQUE EDGE
The main differentiator of this script is that it does not approach volume pressure in the same way as classic cumulative-flow or oscillator-style tools. Traditional cumulative tools such as OBV compress volume behavior into a running line, while money-flow oscillators often frame the analysis around momentum-style expansion and contraction in a lower pane. AG Pro Volume Delta Imbalance Map takes a different route: it transforms estimated directional pressure into an on-chart flow structure that is designed to be read alongside candles, pullbacks, transitions, and continuation attempts.
Another differentiating element is the emphasis on flow state rather than raw volume magnitude alone. The script is not simply asking whether volume is high or low. It is asking whether directional participation is leaning to one side strongly enough to create an interpretable imbalance state, whether that pressure is stabilizing or intensifying, and whether that condition is durable enough to remain relevant across several bars. This creates a more structural view of participation rather than a purely reactive one.
The visual architecture is also intentionally distinct. The flow ribbon is not only cosmetic. It is designed to express directional pressure breadth around the spine, while the spine itself provides a simpler anchor for the prevailing flow direction. Optional labels then mark either stronger burst moments or the beginning of a new directional zone, depending on user preference. This allows the script to serve different chart-reading styles without changing the core methodology.
Finally, transparency matters. This script does not claim to be a true bid/ask footprint, a tape-reading engine, or an exact institutional order-flow detector. It uses an estimated directional-volume proxy derived from price-location and candle-structure behavior. That distinction is important. The objective is to provide a disciplined, readable directional-pressure framework within the constraints of standard chart data, not to imply access to information the script does not use.
METHODOLOGY
The model begins with a directional-pressure proxy built from three components: close location within the bar, candle body dominance relative to the full range, and directional sign reinforcement from candle structure. These inputs are blended into a bounded hybrid bias value intended to estimate whether recent volume participation was more likely to have leaned bullish or bearish within the bar. That estimate is then scaled by the bar’s volume to produce directional volume estimates and a delta-style imbalance reading.
The raw imbalance is normalized using a volume baseline so that the output remains more comparable across changing participation environments. The normalized value is then smoothed to reduce excessive noise and to create a more usable state engine. From there, bullish, bearish, and balanced conditions are determined through explicit thresholds. This means the displayed state is not arbitrary. It is driven by a consistent threshold structure that helps separate neutral conditions from more meaningful directional pressure.
The chart overlay is built around three visual elements. First, a basis line offers a stable reference. Second, the flow spine tracks the smoothed imbalance state translated onto price space. Third, an adaptive ribbon expands or contracts around the spine based on imbalance strength, which helps communicate whether directional participation is broadening or losing intensity. Together, these components aim to make flow conditions visible without overwhelming the chart.
The script also tracks persistence and a simplified exhaustion heuristic. Persistence reflects how long the current directional state has remained in force, while exhaustion attempts to highlight cases where imbalance remains strong but starts to weaken while price response underperforms. This is not a reversal guarantee. It is a contextual warning that a previously forceful participation state may be losing efficiency.
SIGNALS & ALERTS
The script can label directional events in two different styles. In Burst Labels mode, labels are reserved for stronger acceleration moments inside an existing directional condition. In Zone Start Labels mode, labels are printed when a new directional zone begins. This distinction matters because some traders prefer confirmation after pressure expansion, while others prefer earlier visual markers at the start of a state change.
Bullish and bearish imbalance burst alerts are available for users who want notification when directional pressure expands beyond the relevant threshold. These alerts are best interpreted as flow acceleration events, not standalone entry signals. In practice, many users will prefer to combine them with local structure, pullback quality, reclaim behavior, or continuation context.
The script also includes bias reversal alerts and imbalance strength expansion alerts. These are useful for monitoring whether a previously balanced or opposing environment is transitioning into a new directional condition, or whether an already active imbalance is strengthening enough to deserve attention. The summary panel helps reinforce these changes by showing state, bias, strength, persistence, label mode, and exhaustion status in a compact format.
A separate exhaustion-risk alert is provided for conditions where the model detects that a strong imbalance may be fading in quality. This should be interpreted as a caution flag, not as a direct call to reverse or exit automatically. In many workflows, it is more useful as a prompt to reassess the context, tighten risk discipline, or watch for weakening continuation quality.
KEY INPUTS
Normalization Lookback controls the volume baseline used in the imbalance normalization process. Larger values can stabilize the model, while smaller values can make the output more reactive. Imbalance Smoothing influences how quickly the directional state responds to changing pressure. Shorter smoothing reacts faster but may increase noise, while longer smoothing can improve stability at the cost of responsiveness.
Map Basis EMA Length affects the visual anchor used for the overlay. ATR Length and Spine ATR Multiplier influence how the spine is translated into price space and how the ribbon behaves around it. Flow Ribbon Width controls the breadth of the visible pressure corridor, while Bull Flow Width Boost allows the bullish side to be widened slightly for visual emphasis when appropriate.
Bullish and Bearish Imbalance Thresholds define when the script considers directional pressure strong enough to move out of the balanced state. Burst Threshold determines when the model treats a move as a more meaningful acceleration event. Extreme Threshold contributes to the exhaustion logic and strength classification. Users can also choose whether labels represent burst moments or zone starts, depending on how early or selective they want the chart annotations to be.
Visual controls allow users to show or hide the basis line, flow ribbon, spine glow, backdrop, burst labels, exhaustion labels, spine tag, and panel. Panel position, panel theme, text sizing, label sizing, and offset controls are included so that the script can be adapted to different chart layouts and personal reading preferences without changing the underlying methodology.
LIMITATIONS & TRANSPARENCY
This script uses an estimated directional-volume model. It does not use order-book data, footprint data, bid/ask tape data, or exchange-level aggressor classification. As a result, the displayed imbalance should be understood as a chart-based directional proxy, not as an exact measurement of true traded delta.
Because the model relies on price-location and candle-structure inputs, the output can behave differently across instruments with different volatility profiles, gap behavior, liquidity conditions, and session structures. It is normal for a setting that looks well balanced on one asset or timeframe to require refinement on another. Users should expect to tune thresholds and visual parameters when moving between markets.
Signals and labels are contextual. A bullish label inside a weak range environment does not carry the same meaning as a bullish label that appears after a reclaim, a pullback stabilization, or a clean continuation structure. Likewise, a bearish label during highly erratic volatility may be less reliable than a similar reading inside a smoother directional sequence. The script is designed to assist interpretation, not to replace it.
No single output from this script should be treated as a guaranteed trade trigger, reversal call, or risk-management rule. The panel, ribbon, spine, and labels are tools for reading participation conditions. They are most useful when integrated with broader chart context, including trend structure, invalidation logic, nearby levels, liquidity conditions, and the user’s own process.
RISK DISCLOSURE
This script is for chart analysis and educational use. It does not provide financial advice, portfolio advice, or guaranteed trade outcomes. All trading and investing involve risk, including the risk of loss. Past market behavior and prior indicator responses do not guarantee future results.
Users remain fully responsible for how they interpret and apply the script. Any signal, label, or state reading should be evaluated within a complete decision process that includes market context, risk definition, and position management. This script should not be used as the sole basis for entering, exiting, or sizing a trade.
If you use this tool in live market conditions, it is sensible to test it across different assets and timeframes and to confirm that its behavior matches your own execution logic before relying on it in a real-money workflow. Indicator

AG Pro Pivot Points Reaction Map [AGPro Series]AG Pro Pivot Points Reaction Map
Overview / What it does
AG Pro Pivot Points Reaction Map is an overlay indicator designed to analyze how price behaves around classical pivot levels rather than only plotting those levels as static horizontal references. The script builds Daily or Weekly pivot structures from prior period OHLC data and then tracks the currently active pivot in order to highlight nearby price interaction, reaction quality, and short-term context.
Instead of treating every pivot line equally at all times, the script uses an active-pivot framework. This allows the chart to stay focused on the level that is currently most relevant to price while still keeping broader pivot structure visible in the background. The goal is to help traders evaluate whether price is reacting constructively, rejecting, reclaiming, compressing, or losing a key pivot area.
The visual design is intentionally split into two layers. The first layer is the classical pivot structure itself, including PP, R1, S1, and optional extended levels such as R2 and S2. The second layer is the reaction map built around the active pivot. This layer adds an ATR-based reaction zone, state detection, filtered event labeling, active context tags, and an information panel so the chart can communicate more than a simple “price above” or “price below” condition.
This indicator is intended for chart analysis, workflow support, and structured market reading. It does not attempt to predict future prices, and it should not be interpreted as a standalone trade execution system. It is best used as a contextual overlay that helps organize price behavior around widely followed pivot references.
Unique Edge
The core distinction of this script is that it is not just another pivot plotting tool. Classical pivot indicators usually stop at drawing levels. This script continues one step further by evaluating reaction behavior around the currently active level.
Its main differentiator is the active reaction framework. The script identifies a current pivot focus, builds a dynamic reaction zone around that level, and then classifies price interaction into states such as reclaim, loss, holding behavior, rejection behavior, and compression near pivot. This moves the indicator away from passive level display and toward structured price-context mapping.
A second differentiator is the sticky active pivot logic. Instead of shifting focus too aggressively whenever price becomes marginally closer to a different level, the script attempts to keep chart attention anchored to the current active pivot until conditions justify a transition. This improves visual continuity and makes the chart easier to read during multi-bar interaction.
A third differentiator is signal hygiene. Reaction labels can be filtered through cooldown logic, score thresholds, and event selection rules so that the chart remains readable. Major events can be emphasized while weaker or more repetitive reactions remain in the background. This helps preserve interpretability instead of overwhelming the screen with every minor touch.
Finally, the script combines chart-side cues with a compact state panel. The panel reports the active pivot, pivot price, current distance, live state, last score, and directional bias. This allows users to scan the present context without losing the full visual relationship on the chart.
Methodology
The pivot engine uses prior Daily or Weekly OHLC values to construct standard pivot levels. These levels form the structural base of the indicator. Depending on settings, the script can display the central pivot point together with first and second resistance/support layers.
From that structure, the script evaluates which pivot is currently most relevant to price and assigns that level as the active pivot. A sticky selection process is then used so the active focus does not rotate too easily on minor fluctuations. This helps the script behave more like a context map and less like a constantly flickering nearest-line tracker.
Around the active pivot, the script builds a reaction zone using ATR. This means the mapped zone adapts to the instrument’s recent volatility rather than using a fixed absolute distance. A wider volatility environment naturally leads to a wider interaction zone, while a calmer environment keeps the zone tighter.
Inside that zone, the script studies price behavior using a combination of position relative to the pivot, candle body structure, wick emphasis, and short-term displacement from the level. It also computes a reaction score designed to quantify how constructive or decisive the interaction appears under the script’s logic. Stronger reclaim or rejection characteristics can therefore stand out from weaker, noisier touches.
The result is a layered read of market structure:
- classical pivot references define the environment,
- the active pivot identifies current relevance,
- the ATR-based zone frames the interaction area,
- event logic classifies notable reactions,
- the panel summarizes the current state.
Signals & Alerts
The script can identify and label several reaction types around the active pivot. Depending on settings and score thresholds, these may include reclaim events, pivot loss events, reaction holding behavior, and reaction rejection behavior.
In addition to chart labeling, the script includes alert conditions for major workflow events. These are designed to notify the user when price is showing a notable interaction around the active pivot. Available alert categories include bullish reaction confirmation, bearish reaction confirmation, pivot loss confirmation, compression near pivot, and active pivot changes.
Because this is a contextual indicator rather than a complete strategy, alerts should be interpreted as informational events. They are intended to help users monitor evolving price behavior around important pivot areas, not to replace independent analysis, execution rules, or risk management.
Key Inputs
Pivot Anchor
Selects whether the pivot structure is built from Daily or Weekly source data.
Show R2 / S2
Allows the extended pivot structure to remain visible for users who want broader context beyond PP, R1, and S1.
Base Pivot Line Width / Active Pivot Line Width
Controls the visual hierarchy between background pivot references and the currently active pivot.
Reaction Zone (ATR Multiplier)
Defines the width of the active reaction zone relative to recent volatility.
Wick Emphasis
Adjusts how strongly wick behavior contributes to reaction interpretation.
Signal Cooldown (Bars)
Prevents labels and events from clustering too tightly during noisy price interaction.
Show Reaction Labels / Label Mode / Minimum Label Score
Controls which reaction labels appear on the chart and how selective the script should be.
Focus Mode
Adjusts how aggressively non-active pivot lines fade into the background.
Reaction Label Size
Changes the chart label size for reaction events and edge tags.
Show Event Markers / Show Active Pivot Halo / Show Right Edge Active Tag
Controls optional visual layers that can make the active structure easier to follow.
Passive Context Tags
Adds simplified right-edge tags for passive pivot references so faded background levels remain interpretable.
Show Info Panel / Panel Position / Panel Theme / Panel Font Size
Configures the summary panel to match user preference and chart layout.
Limitations & Transparency
This script is based on classical pivot concepts and volatility-adjusted reaction mapping. It does not know future price direction, and it does not forecast whether any pivot will hold or fail before price interacts with that area.
Reaction labels and scores are formula-driven representations of the script’s internal logic. They are not objective truth statements about market intent, and they should not be interpreted as guaranteed support, guaranteed resistance, or guaranteed continuation/reversal behavior.
Like all level-based overlays, the script can produce different impressions depending on the selected timeframe, instrument volatility, and chart conditions. Fast-moving instruments, low-liquidity environments, and sudden news-driven candles may reduce the practical value of any fixed structural framework, including pivots.
The active pivot model is intentionally selective. That improves chart focus, but it also means the script emphasizes one current pivot context over other simultaneously visible levels. Users who want a broader or more aggressive level-tracking style may prefer different settings than the default configuration.
The indicator is also not a backtesting engine and does not provide complete entry, exit, stop, or position sizing logic. It should therefore be used as one analytical component within a broader decision process.
Risk Disclosure
This indicator is for analytical and educational use only. It does not provide investment advice, trading advice, or financial advice.
Markets involve risk. Price can move through pivot levels without respecting them, reaction quality can deteriorate quickly, and conditions that appear constructive on one bar can fail on the next. No indicator can remove uncertainty from live markets.
Users should evaluate this script together with their own market framework, timeframe selection, execution process, and risk controls. Decisions involving capital should never rely on a single indicator, label, panel reading, or alert event in isolation. Indicator

AG Pro EMA 200 Reclaim Map [AGPro Series]AG Pro EMA 200 Reclaim Map
Overview / What it does
AG Pro EMA 200 Reclaim Map is a chart overlay built to organize price behavior around the 200 EMA into a clearer workflow. Instead of treating the 200 EMA as a simple above/below filter, this script tracks how price interacts with that reference during reclaim attempts, acceptance phases, retests, and loss-of-level events. The goal is not to predict future price movement. The goal is to make the structure around a widely used long-horizon moving average easier to read on the chart.
The script highlights when price reclaims the 200 EMA, whether that reclaim is holding with acceptance, whether a retest develops after the move, and whether the reclaim later fails. A compact panel summarizes the current state so the chart can be read more quickly without reducing everything to a single binary signal.
This is designed as a decision-support overlay for traders who already use the 200 EMA as a contextual reference and want a more structured view of how price behaves around that level. It can be used on crypto, stocks, indices, forex, and other liquid markets, but outputs should always be interpreted in the context of the instrument, timeframe, volatility profile, and overall market structure.
Unique Edge
The main objective here is not to create another generic moving-average cross script. The distinctive part of this tool is that it treats the 200 EMA as a behavioral map rather than a yes/no trigger.
In many scripts, the 200 EMA is used only as a directional filter: price above equals bullish context, price below equals bearish context. That can be useful, but it does not say much about the quality of the interaction itself. A reclaim that is accepted cleanly after a controlled retest is different from a reclaim that briefly crosses the line and immediately loses it. Both may appear similar in a simple cross-based tool, but they do not carry the same structural meaning.
This script is built to separate those cases. It tracks whether a reclaim occurred, whether price is holding on the reclaimed side, whether a retest happened, how strong that retest appears relative to the script’s scoring rules, and whether the move later failed. In that sense, the script focuses on reclaim lifecycle mapping rather than raw cross detection.
Methodology
The core reference is the 200-period exponential moving average. From there, the script evaluates several conditions around that line.
1) Reclaim detection
A bullish reclaim occurs when price moves from below the 200 EMA to above it. A bearish reclaim occurs when price moves from above the 200 EMA to below it. These events define the initial transition point, but they are not treated as sufficient on their own.
2) Acceptance / hold logic
After a reclaim, the script tracks whether price remains on the reclaimed side for a defined window. This is used to separate fresh reclaim attempts from accepted holds and weaker continuation states. The panel reflects this with state language rather than presenting the move as an unconditional signal.
3) Retest tracking
After a reclaim, price may revisit the EMA zone. The script evaluates these retest behaviors and can classify them through an internal quality framework. This is intended to distinguish cleaner, more orderly interactions from weaker or less stable ones.
4) Stretch context
The script also measures how extended price is relative to the 200 EMA using an ATR-based context layer. This does not declare a reversal by itself. It simply adds information about whether price is relatively balanced or stretched around the reclaim structure.
5) Failure mapping
If a reclaim is later lost, the script can mark that condition as a failed reclaim. This helps separate accepted transitions from ones that could not maintain structure around the 200 EMA.
The map band around the EMA is only a visual aid. It is there to make the interaction corridor easier to recognize on the chart. It should not be interpreted as an independent support/resistance zone outside the script’s own framework.
States / Signals
This script is best read as a state-mapping overlay, not as a standalone trade engine.
Typical outputs include:
- Bias context relative to the 200 EMA
- Reclaim status
- Acceptance or weak-hold state
- Retest direction and latest retest quality
- Stretch condition relative to the 200 EMA
- Failed reclaim markers when the structure is lost
Depending on settings and chart history, you may see labels such as Bull Reclaim, Bear Reclaim, and retest quality annotations. These labels are visual markers for structural events detected by the script. They are not guarantees of continuation, reversal, or trade outcome.
Alerts
The script includes deterministic alert conditions tied to its event logic. These are designed to support workflow automation for users who want notification when a reclaim or failure condition is detected.
Because alerts are based on chart data and script logic, their usefulness will depend on the selected timeframe, the instrument traded, and the user’s own confirmation process. Alerts should be used as prompts for review, not as standalone execution instructions.
Key Inputs
The exact input list may evolve with future updates, but the script is centered around the following configuration areas:
- EMA length and source settings
- Acceptance / hold window controls
- Retest logic and retest label filtering
- Stretch context based on ATR
- Label visibility, spacing, and display density
- Map / zone display controls
- Panel visibility and panel styling options
These settings allow the script to be adapted for cleaner presentation or more event visibility depending on chart preference. A lower-noise layout may be more suitable for publishing or higher-timeframe review, while a denser layout may be more useful for inspection and testing.
Limitations & Transparency
This script does not forecast price. It does not know future direction, and it does not identify all valid trend continuations or reversals. It is a context tool built around a widely observed moving-average reference.
A reclaim above the 200 EMA does not always lead to continuation. A reclaim below the 200 EMA does not always lead to downside expansion. Retests can succeed or fail. Accepted states can break. Stretch conditions can persist longer than expected. False transitions can occur, especially in choppy or news-driven environments.
Like any moving-average-based framework, this script is also sensitive to timeframe selection. A chart that appears constructive on one timeframe may remain weak on a higher timeframe, or vice versa. Users should interpret the output within their own multi-timeframe and risk-management process.
Label placement, retest visibility, and apparent event density can also vary by volatility regime, zoom level, and chart compression. For that reason, the visual output should be treated as a structured reading aid rather than a complete market model.
This tool should not be viewed as a substitute for market structure analysis, liquidity awareness, execution discipline, or position management.
Risk Disclosure
This script is for chart analysis and educational use. It does not provide investment advice, financial advice, trading advice, or portfolio advice.
Trading and investing involve risk. Markets can move quickly, and losses can occur. No indicator, overlay, or alert system can eliminate that risk. Always use independent judgment, confirm conditions with your own process, and apply risk management appropriate to your market and strategy.
If you use this script in live markets, it is your responsibility to evaluate whether the instrument, timeframe, liquidity, volatility, and execution environment are suitable for your own decisions.
Indicator

PoC Migration Map [BackQuant]PoC Migration Map
A volume structure tool that builds a side volume profile, extracts rolling Points of Control (PoCs), and maps how those PoCs migrate through time so you can see where value is moving, how volume clusters shift, and how that aligns with trend regime.
What this is
This indicator combines a classic volume profile with a segmented PoC trail. It looks back over a configurable window, splits that window into bins by price, and shows you where volume has concentrated. On top of that, it slices the lookback into fixed bar segments, finds the local PoC in each segment, and plots those PoCs as a chain of nodes across the chart.
The result is a "migration map" of value:
A side volume profile that shows how volume is distributed over the recent price range.
A sequence of PoC nodes that show where local value has been accepted over time.
Lines that connect those PoCs to reveal the path of value migration.
Optional trend coloring based on EMA 12 and EMA 21, so each PoC also encodes trend regime.
Used together, this gives you a structural read on where the market has actually traded size, how "value" is moving, and whether that movement is aligned or fighting the current trend.
Core components
Lookback volume profile - a side histogram built from all closes and volumes in the chosen lookback window.
Segmented PoC trail - rolling PoCs computed over fixed bar segments, plotted as nodes in time.
Trend heatmap - optional color mapping of PoC nodes using EMA 12 versus EMA 21.
PoC labels - optional labels on every Nth PoC for easier reading and referencing.
How it works
1) Global lookback and binning
You choose:
Lookback Bars - how far back to collect data.
Number of Bins - how finely to split the price range.
The script:
Finds the highest high and lowest low in the lookback.
Computes the total price range and divides it into equal binCount slices.
Assigns each bar's close and volume into the appropriate price bin.
This creates a discretized volume distribution across the entire lookback.
2) Side volume profile
If "Show Side Profile" is enabled, a right-hand volume profile is drawn:
Each bin becomes a horizontal bar anchored at a configurable "Right Offset" from the current bar.
The horizontal width of each bar is proportional to that bin's volume relative to the maximum volume bin.
Optionally, volume values and percentages are printed inside the profile bars.
Color and transparency are controlled by:
Base Profile Color and its transparency.
A gradient that uses relative volume to modulate opacity between lower volume and higher volume bins.
Profile Width (%) - how wide the maximum bin can extend in bars.
This gives you an at-a-glance view of the volume landscape for the chosen lookback window.
3) Segmenting for PoC migration
To build the PoC trail, the lookback is divided into segments:
Bars per Segment - bars in each local cluster.
Number of Segments - how many segments you want to see back in time.
For each segment:
The script uses the same price bins and accumulates volume only from bars in that segment.
It finds the bin with the highest volume in that segment, which is the local PoC for that segment.
It sets the PoC price to the center of that bin.
It finds the "mid bar" of the segment and places the PoC node at that time on the chart.
This is repeated for each segment from older to newer, so you get a chain of PoCs that shows how local value has migrated over time.
4) Trend regime and color coding
The indicator precomputes:
EMA 12 (Fast).
EMA 21 (Slow).
For each PoC:
It samples EMA 12 and EMA 21 at the mid bar of that segment.
It computes a simple trend score as fast EMA minus slow EMA.
If trend heatmap is enabled, PoC nodes (and the lines between them) are colored by:
Trend Up Color if EMA 12 is above EMA 21.
Trend Down Color if EMA 12 is below EMA 21.
Trend Flat Color if they are roughly equal.
If the trend heatmap is disabled, PoC color is instead based on PoC migration:
If the current PoC is above the previous PoC, use the Up PoC Color.
If the current PoC is below the previous PoC, use the Down PoC Color.
If unchanged, use the Flat PoC Color.
5) Connecting PoCs and labels
Once PoC prices and times are known:
Each PoC is connected to the previous one with a dotted line, using the PoC's color.
Optional labels are placed next to every Nth PoC:
Label text uses a simple "PoC N" scheme.
Label background uses a configurable label background color.
Label border is colored by the PoC's own color for visual consistency.
This turns the PoCs into a visual path that can be read like a "value trajectory" across the chart.
What it plots
When fully enabled, you will see:
A right-sided volume profile for the chosen lookback window, built from volume by price.
Colored horizontal bars representing each price bin's relative volume.
Optional volume text showing each bin's volume and its percentage of the profile maximum.
A series of PoC nodes spaced across the chart at the mid point of each segment.
Dotted lines connecting those PoCs to show the migration path of value.
Optional PoC labels at each Nth node for easier reference.
Color-coding of PoCs and lines either by EMA 12 / 21 trend regime or by up/down PoC drift.
Reading PoC migration and market pressure
Side profile as a pressure map
The side profile shows where trading has been most active:
Thick, opaque bars represent high volume zones and possible high interest or acceptance areas.
Thin, faint bars represent low volume zones, potential rejection or transition areas.
When price trades near a high volume bin, the market is sitting on an area of prior acceptance and size.
When price moves quickly through low volume bins, it often does so with less friction.
This gives you a static map of where the market has been willing to do business within your lookback.
PoC trail as a value migration map
The PoC chain represents "where value has lived" over time:
An upward sloping PoC trail indicates value migrating higher. Buyers have been willing to transact at increasingly higher prices.
A downward sloping trail indicates value migrating lower and sellers pushing the center of mass down.
A flat or oscillating trail indicates balance or rotational behaviour, with no clear directional acceptance.
Taken together, you can interpret:
Side profile as "where the volume mass sits", a static pressure field.
PoC trail as "how that mass has moved", the dynamic path of value.
Trend heatmap as a regime overlay
When PoCs are colored by the EMA 12 / 21 spread:
Green PoCs mark segments where the faster EMA is above the slower EMA, that is, a local uptrend regime.
Red PoCs mark segments where the faster EMA is below the slower EMA, that is, a local downtrend regime.
Gray PoCs mark flat or ambiguous trend segments.
This lets you answer questions like:
"Is value migrating higher while the trend regime is also up?" (trend confirming value).
"Is value migrating higher but most PoCs are red?" (value against the prevailing trend).
"Has value started to roll over just as PoCs flip from green to red?" (early regime transition).
Key settings
General Settings
Lookback Bars - how many bars back to use for both the global volume profile and segment profiles.
Number of Bins - how many price bins to split the high to low range into.
Profile Settings
Show Side Profile - toggle the right-hand volume profile on or off.
Profile Width (%) - how wide the largest volume bar is allowed to be in terms of bars.
Base Profile Color - the starting color for profile bars, with transparency.
Show Volume Values - if enabled, print volume and percent for each non-zero bin.
Profile Text Color - color for volume text inside the profile.
PoC Migration Settings
Show PoC Migration - toggle the PoC trail plotting.
Bars per Segment - the number of bars contained in each segment.
Number of Segments - how many segments to build backwards from the current bar.
Horizontal Spacing (bars) - spacing between PoC nodes when drawn. (Used to separate PoCs horizontally.)
Label Every Nth PoC - draw labels at every Nth PoC (0 or 1 to suppress labels).
Right Offset (bars) - horizontal offset to anchor the side profile on the right.
Up PoC Color - color used when a PoC is higher than the previous one, if trend heatmap is off.
Down PoC Color - color used when a PoC is lower than the previous one, if trend heatmap is off.
Flat PoC Color - color used when the PoC is unchanged, if trend heatmap is off.
PoC Label Background - background color for PoC labels.
Trend Heatmap Settings
Color PoCs By Trend (EMA 12 / 21) - when enabled, overrides simple up/down coloring and uses EMA-based trend colors.
Fast EMA - length for the fast EMA.
Slow EMA - length for the slow EMA.
Trend Up Color - color for PoCs in a bullish EMA regime.
Trend Down Color - color for PoCs in a bearish EMA regime.
Trend Flat Color - color for neutral or flat EMA regimes.
Trading applications
1) Value migration and trend confirmation
Use the PoC path to see if value is following price or lagging it:
In a healthy uptrend, price, PoCs, and trend regime should all lean higher.
In a weakening trend, price may still move up, but PoCs flatten or start drifting lower, suggesting fewer participants are accepting the new highs.
In a downtrend, persistent downward PoC migration confirms that sellers are winning the value battle.
2) Identifying acceptance and rejection zones
Combine the side profile with PoC locations:
High volume bins near clustered PoCs mark strong acceptance zones, good areas to watch for re-tests and decision points.
PoCs that quickly jump across low volume areas can indicate rejection and fast repricing between value zones.
High volume zones with mixed PoC colors may signal balance or prolonged negotiation.
3) Structuring entries and exits
Use the map to refine trade location:
Fade trades against value migration are higher risk unless you see clear signs of exhaustion or regime change.
Pullbacks into prior PoC zones in the direction of the current PoC slope can offer higher quality entries.
Stops placed beyond major accepted zones (clusters of PoCs and high volume bins) are less likely to be hit by random noise.
4) Regime transitions
Watch how PoCs behave as the EMA regime changes:
A flip in EMA 12 versus EMA 21, coupled with a turn in PoC slope, is a strong signal that value is beginning to move with the new trend.
If EMAs flip but PoC migration does not follow, the trend signal may be early or false.
A weakening PoC path (lower highs in PoCs) while trend colors are still green can warn of a late-stage trend.
Best practices
Start with a moderate lookback such as 200 to 300 bars and a moderate bin count such as 20 to 40. Too many bins can make the profile overly granular and sparse.
Align "Bars per Segment" with your trading horizon. For example, 5 to 10 bars for intraday, 10 to 20 bars for swing.
Use the profile and PoC trail as structural context rather than as a direct buy or sell signal. Combine with your existing setups for timing.
Pay attention to clusters of PoCs at similar prices. Those are areas where the market has repeatedly accepted value, and they often matter on future tests.
Notes
This is a structural volume tool, not a complete trading system. It does not manage execution, position sizing or risk management. Use it to understand:
Where the bulk of trading has occurred in your chosen window.
How the center of volume has migrated over time.
Whether that migration is aligned with or fighting the current trend regime.
By turning PoC evolution into a visible path and adding a trend-aware heatmap, the PoC Migration Map makes it easier to see how value has been moving, where the market is likely to feel "heavy" or "light", and how that structure fits into your trading decisions.
Indicator

Smart RSI MTF Matrix [DotGain]Summary
Are you tired of trading trend signals, only to miss the bigger picture because you are focused on a single timeframe?
The Smart RSI MTF Matrix is the ultimate "Cockpit View" for momentum traders. Unlike chart overlays that can sometimes clutter your price action, this indicator organizes RSI conditions across 10 different timeframes simultaneously into a clean, separate Heatmap pane.
It monitors everything from the 5-minute chart all the way up to the 12-Month view , giving you a complete X-ray vision of the market's momentum structure instantly.
⚙️ Core Components and Logic
The Smart RSI MTF Matrix relies on a sophisticated hierarchy to deliver clear, actionable context:
Multi-Timeframe Engine: The script runs 10 independent RSI calculations in the background, organized in rows from bottom (Short Term) to top (Long Term).
Classic RSI Thresholds:
Overbought (> 70): Indicates price may be extended to the upside.
Oversold (< 30): Indicates price may be extended to the downside.
Smart Visibility System (The "Secret Sauce"): Not all signals are equal. A 5-minute signal is "noise" compared to a Yearly signal. This indicator automatically applies Transparency to differentiate importance. The visibility increases by 10% for each higher timeframe slot (Row).
🚦 How to Read the Matrix
The indicator plots dots in 10 stacked rows. The position and opacity tell you the direction and significance:
🟥 RED DOTS (Overbought Condition)
Trigger: RSI is above 70 on that specific timeframe.
Meaning: Potential bearish reversal or pullback.
🟩 GREEN DOTS (Oversold Condition)
Trigger: RSI is below 30 on that specific timeframe.
Meaning: Potential bullish reversal or bounce.
⚪ GRAY DOTS (Neutral)
Trigger: RSI is between 30 and 70.
Meaning: No extreme momentum present.
👻 TRANSPARENCY (Signal Strength)
The visibility of the dot tells you exactly which Timeframe (Row) is triggered. The higher the row, the more solid the color:
Faint (10-30% Visibility): Rows 1-3 (5m, 15m, 1h). Used for scalping entries.
Medium (40-60% Visibility): Rows 4-6 (4h, 1D, 1W). Used for swing trading context.
Solid (70-100% Visibility): Rows 7-10 (1M, 3M, 6M, 12M). Used for identifying major macro cycles.
Visual Elements
Structure: Row 1 (Bottom) represents the 5-minute timeframe. Row 10 (Top) represents the 12-Month timeframe.
Vertical Alignment: If you see a vertical column of Red or Green dots, it indicates Multi-Timeframe Confluence —a highly probable reversal point.
Key Benefit
The goal of the Smart RSI MTF Matrix is to keep your main chart clean while providing maximum information. You can instantly see if a short-term pullback (Faint Green Dot) is happening within a long-term uptrend (Solid Gray/Red Dot), allowing for precision entries.
Have fun :)
Disclaimer
This "Smart RSI MTF Matrix" indicator is provided for informational and educational purposes only. It does not, and should not be construed as, financial, investment, or trading advice.
The signals generated by this tool (both "Buy" and "Sell" indications) are the result of a specific set of algorithmic conditions. They are not a direct recommendation to buy or sell any asset. All trading and investing in financial markets involves substantial risk of loss. You can lose all of your invested capital.
Past performance is not indicative of future results. The signals generated may produce false or losing trades. The creator (© DotGain) assumes no liability for any financial losses or damages you may incur as a result of using this indicator.
You are solely responsible for your own trading and investment decisions. Always conduct your own research (DYOR) and consider your personal risk tolerance before making any trades. Indicator

Time-Decay Liquidity Zones [BackQuant]Time-Decay Liquidity Zones
A dynamic liquidity map that turns single-bar exhaustion events into fading, color-graded zones, so you can see where trapped traders and unfinished business still matter, and when those areas have finally stopped pulling price.
What this is
This indicator detects unusually strong impulsive moves into wicks, converts them into supply or demand “zones,” then lets those zones decay over time. Each zone carries a strength score that fades bar by bar. Zones that stop attracting or rejecting price are gradually de-emphasized and eventually removed, while the most relevant areas stay bright and obvious.
Instead of static rectangles that live forever, you get a living liquidity map where:
Zones are born from objective criteria: volatility, wick size, and optional volume spikes.
Zones “age” using a configurable decay factor and maximum lifetime.
Zone color and opacity reflect current relative strength on a unified clear → green → red gradient.
Zones freeze when broken, so you can distinguish “active reaction areas” from “historical levels that have already given way”.
Conceptual idea
Large wicks with strong volatility often mark areas where aggressive orders met hidden liquidity and got absorbed. Price may revisit these areas to test leftover interest or to relieve trapped positions. However, not every wick matters for long. As time passes and more bars print, the market “forgets” some areas.
Time-Decay Liquidity Zones turns that idea into a rule-based system:
Find bars that likely reflect strong aggressive flows into liquidity.
Mark a zone around the wick using ATR-based thickness.
Assign a strength score of 1.0 at birth.
Each bar, reduce that score by a decay factor and remove zones that fall below a threshold or live too long.
Color all surviving zones from weak to strong using a single gradient scale and a visual legend.
How events are detected
Detection lives in the Event Detection group. The script combines range, wick size, and optional volume filters into simple rules.
Volatility filter
ATR Length — computes a rolling ATR over your chosen window. This is the volatility baseline.
Min range in ATRs — bar range (High–Low) must exceed this multiple of ATR for an event to be considered. This avoids tiny bars triggering zones.
Wick filters
For each bar, the script splits the candle into body and wicks:
Upper wick = High minus the max(Open, Close).
Lower wick = min(Open, Close) minus Low.
Then it tests:
Upper wick condition — upper wick must be larger than Min wick size in ATRs × ATR.
Lower wick condition — lower wick must be larger than Min wick size in ATRs × ATR.
Only bars with a sufficiently long wick relative to volatility qualify as candidate “liquidity events”.
Volume filter
Optionally, the script requires a volume spike:
Use volume filter — if enabled, volume must exceed a rolling volume SMA by a configurable multiplier.
Volume SMA length — period for the volume average.
Volume spike multiplier — how many times above the SMA current volume needs to be.
This lets you focus only on “heavy” tests of liquidity and ignore quiet bars.
Event types
Putting it together:
Upper event (potential supply / long liquidation, etc.)
Occurs when:
Upper wick is large in ATR terms.
Full bar range is large in ATR terms.
Volume is above the spike threshold (if enabled).
Lower event (potential demand / short liquidation, etc.)
Symmetric conditions using the lower wick.
How zones are constructed
Zone geometry lives in Zone Geometry .
When an event is detected, the script builds a rectangular box that anchors to the wick and extends in the appropriate direction by an ATR-based thickness.
For upper (supply-type) zones
Bottom of the zone = event bar high.
Top of the zone = event bar high + Zone thickness in ATRs × ATR.
The zone initially spans only the event bar on the x-axis, but is extended to the right as new bars appear while the zone is active.
For lower (demand-type) zones
Top of the zone = event bar low.
Bottom of the zone = event bar low − Zone thickness in ATRs × ATR.
Same extension logic: box starts on the event bar and grows rightward while alive.
The result is a band around the wick that scales with volatility. On high-ATR charts, zones are thicker. On calm charts, they are narrower and more precise.
Zone lifecycle, decay, and removal
All lifecycle logic is controlled by the Decay & Lifetime group.
Each zone carries:
Score — a floating-point “importance” measure, starting at 1.0 when created.
Direction — +1 for upper zones, −1 for lower zones.
Birth index — bar index at creation time.
Active flag — whether the zone is still considered unbroken and extendable.
1) Active vs broken
Each confirmed bar, the script checks:
For an upper zone , the zone is counted as “broken” when the close moves above the top of the zone.
For a lower zone , the zone is counted as “broken” when the close moves below the bottom of the zone.
When a zone breaks:
Its right edge is frozen at the previous bar (no further extension).
The zone remains on the chart, but is no longer updated by price interaction. It still decays in score until removal.
This lets you see where a major level was overrun, while naturally fading its influence over time.
2) Time decay
At each confirmed bar:
Score := Score × Score decay per bar .
A decay value close to 1.0 means very slow decay and long-lived zones.
Lower values (closer to 0.9) mean faster forgetting and more current-focused zones.
You are controlling how quickly the market “forgets” past events.
3) Age and score-based removal
Zones are removed when either:
Age in bars exceeds Max bars a zone can live .
This is a hard lifetime cap.
Score falls below Minimum score before removal .
This trims zones that have decayed into irrelevance even if their age is still within bounds.
When a zone is removed, its box is deleted and all associated state is freed to keep performance and visuals clean.
Unified gradient and color logic
Color control lives in Gradient & Color . The indicator uses a single continuous gradient for all zones, above and below price, so you can read strength at a glance without guessing what palette means what.
Base colors
You set:
Mid strength color (green) — used for mid-level strength zones and as the “anchor” in the gradient.
High strength color (red) — used for the strongest zones.
Max opacity — the maximum visual opacity for the solid part of the gradient. Lower values here mean more solid; higher values mean more transparent.
The script then defines three internal points:
Clear end — same as mid color, but with a high alpha (close to transparent).
Mid end — mid color at the strongest allowed opacity.
High end — high color at the strongest allowed opacity.
Strength normalization
Within each update:
The script finds the maximum score among all existing zones.
Each zone’s strength is computed as its score divided by this maximum.
Strength is clamped into .
This means a zone with strength 1.0 is currently the strongest zone on the chart. Other zones are colored relative to that.
Piecewise gradient
Color is assigned in two stages:
For strength between 0.0 and 0.5: interpolate from “clear” green to solid green.
Weak zones are barely visible, mid-strength zones appear as solid green.
For strength between 0.5 and 1.0: interpolate from solid green to solid red.
The strongest zones shift toward the red anchor, clearly separating them from everything else.
Strength scale legend
To make the gradient readable, the indicator draws a vertical legend on the right side of the chart:
About 15 cells from top (Strong) to bottom (Weak).
Each cell uses the same gradient function as the zones themselves.
Top cell is labeled “Strong”; bottom cell is labeled “Weak”.
This legend acts as a fixed reference so you can instantly map a zone’s color to its approximate strength rank.
What it plots
At a glance, the indicator produces:
Upper liquidity zones above price, built from large upper wick events.
Lower liquidity zones below price, built from large lower wick events.
All zones colored by relative strength using the same gradient.
Zones that freeze when price breaks them, then fade out via decay and removal.
A strength scale legend on the right to interpret the gradient.
There are no extra lines, labels, or clutter. The focus is the evolving structure of liquidity zones and their visual strength.
How to read the zones
Bright red / bright green zones
These are your current “major” liquidity areas. They have high scores relative to other zones and have not yet decayed. Expect meaningful reactions, absorption attempts, or spillover moves when price interacts with them.
Faded zones
Pale, nearly transparent zones are either old, decayed, or minor. They can still matter, but priority is lower. If these are in the middle of a long consolidation, they often become background noise.
Broken but still visible zones
Zones whose extension has stopped have been overrun by closing price. They show where a key level gave way. You can use them as context for regime shifts or failed attempts.
Absence of zones
A chart with few or no zones means that, under your current thresholds, there have not been strong enough liquidity events recently. Either tighten the filters or accept that recent price action has been relatively balanced.
Use cases
1) Intraday liquidity hunting
Run the indicator on lower timeframes (e.g., 1–15 minute) with moderately fast decay.
Use the upper zones as potential sell reaction areas, the lower zones as potential buy reaction areas.
Combine with order flow, CVD, or footprint tools to see whether price is absorbing or rejecting at each zone.
2) Swing trading context
Increase ATR length and range/wick multipliers to focus only on major spikes.
Set slower decay and higher max lifetime so zones persist across multiple sessions.
Use these zones as swing inflection areas for larger setups, for example anticipating re-tests after breakouts.
3) Stop placement and invalidation
For longs, place invalidation beyond a decaying lower zone rather than in the middle of noise.
For shorts, place invalidation beyond strong upper zones.
If price closes through a strong zone and it freezes, treat that as additional evidence your prior bias may be wrong.
4) Identifying trapped flows
Upper zones formed after violent spikes up that quickly fail can mark trapped longs.
Lower zones formed after violent spikes down that quickly reverse can mark trapped shorts.
Watching how price behaves on the next touch of those zones can hint at whether those participants are being rescued or squeezed.
Settings overview
Event Detection
Use volume filter — enable or disable the volume spike requirement.
Volume SMA length — rolling window for average volume.
Volume spike multiplier — how aggressive the volume spike filter is.
ATR length — period for ATR, used in all size comparisons.
Min wick size in ATRs — minimum wick size threshold.
Min range in ATRs — minimum bar range threshold.
Zone Geometry
Zone thickness in ATRs — vertical size of each liquidity zone, scaled by ATR.
Decay & Lifetime
Score decay per bar — multiplicative decay factor for each zone score per bar.
Max bars a zone can live — hard cap on lifetime.
Minimum score before removal — score cut-off at which zones are deleted.
Gradient & Color
Mid strength color (green) — base color for mid-level zones and the lower half of the gradient.
High strength color (red) — target color for the strongest zones.
Max opacity — controls the most solid end of the gradient (0 = fully solid, 100 = fully invisible).
Tuning guidance
Fast, session-only liquidity
Shorter ATR length (e.g., 20–50).
Higher wick and range multipliers to focus only on extreme events.
Decay per bar closer to 0.95–0.98 and moderate max lifetime.
Volume filter enabled with a decent multiplier (e.g., 1.5–2.0).
Slow, structural zones
Longer ATR length (e.g., 100+).
Moderate wick and range thresholds.
Decay per bar very close to 1.0 for slow fading.
Higher max lifetime and slightly higher min score threshold so only very weak zones disappear.
Noisy, high-volatility instruments
Increase wick and range ATR multipliers to avoid over-triggering.
Consider enabling the volume filter with stronger settings.
Keep decay moderate to avoid the chart getting overloaded with old zones.
Notes
This is a structural and contextual tool, not a complete trading system. It does not account for transaction costs, execution slippage, or your specific strategy rules. Use it to:
Highlight where liquidity has recently been tested hard.
Rank these areas by decaying strength.
Guide your attention when layering in separate entry signals, risk management, and higher-timeframe context.
Time-Decay Liquidity Zones is designed to keep your chart focused on where the market has most recently “cared” about price, and to gradually forget what no longer matters. Adjust the detection, geometry, decay, and gradient to fit your product and timeframe, and let the zones show you which parts of the tape still have unfinished business.
Indicator

Count█ OVERVIEW
A library of functions for counting the number of times (frequency) that elements occur in an array or matrix.
█ USAGE
Import the Count library.
import joebaus/count/1 as c
Create an array or matrix that is a `float`, `int`, `string`, or `bool` type to count elements from, then call the count function on the array or matrix.
id = array.from(1.00, 1.50, 1.25, 1.00, 0.75, 1.25, 1.75, 1.25)
countMap = id.count() // Alternatively: countMap = c.count(id)
The "count map" will return a map with keys for each unique element in the array or matrix, and with respective values representing the number of times the unique element was counted. The keys will be the same type as the array or matrix counted. The values will always be an `int` type.
array mapKeys = countMap.keys() // Returns unique keys
array mapValues = countMap.values() // Returns counts
If an array is in ascending or descending order, then the keys of the map will also generate in the same order.
intArray = array.from(2, 2, 2, 3, 4, 4, 4, 4, 4, 6, 6) // Ascending order
map countMap = intArray.count() // Creates a "count map" of all unique elements
array mapKeys = countMap.keys() // Returns // Ascending order
array mapValues = countMap.values() // Returns count
Include a value to get the count of only that value in an array or matrix.
floatMatrix = matrix.new(3, 3, 0.0)
floatMatrix.set(0, 0, 1.0), floatMatrix.set(1, 0, 1.0), floatMatrix.set(2, 0, 1.0)
floatMatrix.set(0, 1, 1.5), floatMatrix.set(1, 1, 2.0), floatMatrix.set(2, 1, 2.5)
floatMatrix.set(0, 2, 1.0), floatMatrix.set(1, 2, 2.5), floatMatrix.set(2, 2, 1.5)
int countFloatMatrix = floatMatrix.count(1.0) // Counts all 1.0 elements, returns 5
// Alternatively: int countFloatMatrix = c.count(floatMatrix, 1.0)
The string method of count() can use strings or regular expressions like "bull*" to count all matching occurrences in a string array.
stringArray = array.from('bullish', 'bull', 'bullish', 'bear', 'bull', 'bearish', 'bearish')
int countString = stringArray.count('bullish') // Returns 2
int countStringRegex = stringArray.count('bull*') // Returns 4
To count multiple values, use an array of values instead of a single value. Returning a count map only of elements in the array.
countArray = array.from(1.0, 2.5)
map countMap = floatMatrix.count(countArray)
array mapKeys = countMap.keys() // Returns keys
array mapValues = countMap.values() // Returns counts
Multiple regex patterns or strings can be counted as well.
stringMatrix = matrix.new(3, 3, '')
stringMatrix.set(0, 0, 'a'), stringMatrix.set(1, 0, 'a'), stringMatrix.set(2, 0, 'a')
stringMatrix.set(0, 1, 'b'), stringMatrix.set(1, 1, 'c'), stringMatrix.set(2, 1, 'd')
stringMatrix.set(0, 2, 'a'), stringMatrix.set(1, 2, 'd'), stringMatrix.set(2, 2, 'b')
// Count the number of times the regex patterns `'^(a|c)$'` and `'^(b|d)$'` occur
array regexes = array.from('^(a|c)$', '^(b|d)$')
map countMap = stringMatrix.count(regexes)
array mapKeys = countMap.keys() // Returns
array mapValues = countMap.values() // Returns
An optional comparison operator can be specified to count the number of times an equality was satisfied for `float`, `int`, and `bool` methods of `count()`.
intArray = array.from(2, 2, 2, 3, 4, 4, 4, 4, 4, 6, 6)
// Count the number of times an element is greater than 4
countInt = intArray.count(4, '>') // Returns 2
When passing an array of values to count and a comparison operator, the operator will apply to each value.
intArray = array.from(2, 2, 2, 3, 4, 4, 4, 4, 4, 6, 6)
values = array.from(3, 4)
// Count the number of times and element is greater than 3 and 4
map countMap = intArray.count(values, '>')
array mapKeys = countMap.keys() // Returns
array mapValues = countMap.values() // Returns
Multiple comparison operators can be applied when counting multiple values.
intMatrix = matrix.new(3, 3, 0)
intMatrix.set(0, 0, 2), intMatrix.set(1, 0, 3), intMatrix.set(2, 0, 5)
intMatrix.set(0, 1, 2), intMatrix.set(1, 1, 4), intMatrix.set(2, 1, 2)
intMatrix.set(0, 2, 5), intMatrix.set(1, 2, 2), intMatrix.set(2, 2, 3)
values = array.from(3, 4)
comparisons = array.from('<', '>')
// Count the number of times an element is less than 3 and greater than 4
map countMap = intMatrix.count(values, comparisons)
array mapKeys = countMap.keys() // Returns
array mapValues = countMap.values() // Returns
Library

Momentum ScopeOverview
Momentum Scope is a Pine Script™ v6 study that renders a –1 to +1 momentum heatmap across up to 32 lookback periods in its own pane. Using an Augmented Relative Momentum Index (ARMI) and color shading, it highlights where momentum strengthens, weakens, or stays flat over time—across any asset and timeframe.
Key Features
Full-Spectrum Momentum Map : Computes ARMI for 1–32 lookbacks, indexed from –1 (strong bearish) to +1 (strong bullish).
Flexible Scale Gradation : Choose Linear or Exponential spacing, with adjustable expansion ratio and maximum depth.
Trending Bias Control : Apply a contrast-style curve transform to emphasize trending vs. mean-reverting behavior.
Duotone & Tritone Palettes : Select between two vivid color styles, with user-definable hues for bearish, bullish, and neutral momentum.
Compact, Overlay-Free Display : Renders solely in its own pane—keeping your price chart clean.
Inputs & Customization
Scale Gradation : Linear or Exponential spacing of intervals
Scale Expansion : Ratio governing step-size between successive lookbacks
Scale Maximum : Maximum lookback period (and highest interval)
Trending Bias : Curve-transform bias to tilt the –1 … +1 grid
Color Style : Duotone or Tritone rendering modes
Reducing / Increasing / Neutral Colors : Pick your own hues for bearish, bullish, and flat zones
How to Use
Add to Chart : Apply “Momentum Scope” as a separate indicator.
Adjust Scale : For exponential spacing, switch your indicator Y-axis to Logarithmic .
Set Bias & Colors : Tweak Trending Bias and choose a palette that stands out on your layout.
Interpret the Heatmap :
Red tones = weakening/bearish momentum
Green tones = strengthening/bullish momentum
Neutral hues = indecision or flat momentum
Copyright © 2025 MVPMC. Licensed under MIT. For full license see opensource.org
Indicator

Library

Boxes_PlotIn the world of data visualization, heatmaps are an invaluable tool for understanding complex datasets. They use color gradients to represent the values of individual data points, allowing users to quickly identify patterns, trends, and outliers in their data. In this post, we will delve into the history of heatmaps, and then discuss how its implemented.
The "Boxes_Plot" library is a powerful and versatile tool for visualizing multiple indicators on a trading chart using colored boxes, commonly known as heatmaps. These heatmaps provide a user-friendly and efficient method for analyzing the performance and trends of various indicators simultaneously. The library can be customized to display multiple charts, adjust the number of rows, and set the appropriate offset for proper spacing. This allows traders to gain insights into the market and make informed decisions.
Heatmaps with cells are interesting and useful for several reasons. Firstly, they allow for the visualization of large datasets in a compact and organized manner. This is especially beneficial when working with multiple indicators, as it enables traders to easily compare and contrast their performance. Secondly, heatmaps provide a clear and intuitive representation of the data, making it easier for traders to identify trends and patterns. Finally, heatmaps offer a visually appealing way to present complex information, which can help to engage and maintain the interest of traders.
History of Heatmaps
The concept of heatmaps can be traced back to the 19th century when French cartographer and sociologist Charles Joseph Minard used color gradients to visualize statistical data. He is well-known for his 1869 map, which depicted Napoleon's disastrous Russian campaign of 1812 using a color gradient to represent the dwindling size of Napoleon's army.
In the 20th century, heatmaps gained popularity in the fields of biology and genetics, where they were used to visualize gene expression data. In the early 2000s, heatmaps found their way into the world of finance, where they are now used to display stock market data, such as price, volume, and performance.
The boxes_plot function in the library expects a normalized value from 0 to 100 as input. Normalizing the data ensures that all values are on a consistent scale, making it easier to compare different indicators. The function also allows for easy customization, enabling users to adjust the number of rows displayed, the size of the boxes, and the offset for proper spacing.
One of the key features of the library is its ability to automatically scale the chart to the screen. This ensures that the heatmap remains clear and visible, regardless of the size or resolution of the user's monitor. This functionality is essential for traders who may be using various devices and screen sizes, as it enables them to easily access and interpret the heatmap without needing to make manual adjustments.
In order to create a heatmap using the boxes_plot function, users need to supply several parameters:
1. Source: An array of floating-point values representing the indicator values to display.
2. Name: An array of strings representing the names of the indicators.
3. Boxes_per_row: The number of boxes to display per row.
4. Offset (optional): An integer to offset the boxes horizontally (default: 0).
5. Scale (optional): A floating-point value to scale the size of the boxes (default: 1).
The library also includes a gradient function (grad) that is used to generate the colors for the heatmap. This function is responsible for determining the appropriate color based on the value of the indicator, with higher values typically represented by warmer colors such as red and lower values by cooler colors such as blue.
Implementing Heatmaps as a Pine Script Library
In this section, we'll explore how to create a Pine Script library that can be used to generate heatmaps for various indicators on the PulseWire platform. The library utilizes colored boxes to represent the values of multiple indicators, making it simple to visualize complex data.
We'll now go over the key components of the code:
grad(src) function: This function takes an integer input 'src' and returns a color based on a predefined color gradient. The gradient ranges from dark blue (#1500FF) for low values to dark red (#FF0000) for high values.
boxes_plot() function: This is the main function of the library, and it takes the following parameters:
source: an array of floating-point values representing the indicator values to display
name: an array of strings representing the names of the indicators
boxes_per_row: the number of boxes to display per row
offset (optional): an integer to offset the boxes horizontally (default: 0)
scale (optional): a floating-point value to scale the size of the boxes (default: 1)
The function first calculates the screen size and unit size based on the visible chart area. Then, it creates an array of box objects representing each data point. Each box is assigned a color based on the value of the data point using the grad() function. The boxes are then plotted on the chart using the box.new() function.
Example Usage:
In the example provided in the source code, we use the Relative Strength Index (RSI) and the Stochastic Oscillator as the input data for the heatmap. We create two arrays, 'data_1' containing the RSI and Stochastic Oscillator values, and 'data_names_1' containing the names of the indicators. We then call the 'boxes_plot()' function with these arrays, specifying the desired number of boxes per row, offset, and scale.
Conclusion
Heatmaps are a versatile and powerful data visualization tool with a rich history, spanning multiple fields of study. By implementing a heatmap library in Pine Script, we can enhance the capabilities of the PulseWire platform, making it easier for users to visualize and understand complex financial data. The provided library can be easily customized and extended to suit various use cases and can be a valuable addition to any trader's toolbox.
Library "Boxes_Plot"
boxes_plot(source, name, boxes_per_row, offset, scale)
Parameters:
source (float ) : - an array of floating-point values representing the indicator values to display
name (string ) : - an array of strings representing the names of the indicators
boxes_per_row (int) : - the number of boxes to display per row
offset (int) : - an optional integer to offset the boxes horizontally (default: 0)
scale (float) : - an optional floating-point value to scale the size of the boxes (default: 1) Library

Indicator
