Value Shift Ladder [AGPro Series]Value Shift Ladder
🔹 Overview
Value Shift Ladder is a market-structure mapping tool that extracts the most volume-accepted price shelves from a rolling lookback window and arranges them, in creation order, as the rungs of a ladder. Each rung is a volume-weighted zone where the market has recently spent the most time and traded the most contracts. The script then tracks how price interacts with every rung through a full Held → Broken → Reclaimed lifecycle and summarizes the entire chain into one readable ladder state: Rising, Falling, Mixed, Broken, Reclaiming, Building, or Neutral.
The goal is not to predict direction and not to produce buy or sell signals. The goal is to give the chart reader a continuously updated answer to one question: where is the market's current fair-value region, how is that region moving over time, and which prior value shelves are still relevant versus which have been abandoned. This makes the tool useful as a structural reference for volume-profile readers, auction-theory traders, and anyone who builds a bias from accepted-value migration rather than from trend lines or moving averages.
🔸 Unique Edge
Most volume-based tools either draw a single static profile snapshot, or plot every candidate level and leave the reader to filter. Value Shift Ladder does three things differently:
Multi-shelf chronological ladder. Instead of producing one value band, the script maintains a ranked set of up to eight volume-accepted shelves and arranges them in the order they were first registered. This preserves the migration history of accepted value instead of collapsing it into one average.
Proximity-gated visualization. Only shelves within a configurable ATR distance from current price are drawn on the chart, counted in the panel, and fed into the ladder direction state. Distant historical shelves exist in memory but do not clutter the chart or bias the readout — the ladder always reflects the value structure that is actually relevant to the current bar.
Adaptive, confidence-aware breaks. A shelf is not broken on a single close outside its band. Young shelves are strongly protected (3.0 × ATR), maturing shelves require a medium distance (1.5 × ATR), and fully-aged shelves use the user-defined break distance. Shelves that have been re-confirmed multiple times gain a 2× confidence multiplier on top of that, preventing established value regions from being lost to a single volatility spike.
🔸 Methodology
1) Volume Profile Construction
The script divides the rolling lookback window into equal price bins and distributes each bar's volume across every bin it touches, proportional to range coverage. Zero-range bars are assigned to their single bin. This produces a volume-weighted histogram of the lookback period.
2) Shelf Extraction
The top-K bins by volume are selected iteratively. After each pick, the chosen bin and its ATR-neighborhood are zeroed out before the next pick, enforcing a minimum separation between shelves and preventing a single high-volume cluster from dominating every rung. Each surviving bin becomes a shelf, anchored at its bin-center price.
3) Shelf Merging and Confidence
On every refresh, newly extracted shelves are checked against existing ones. If a new shelf falls within the ATR separation of an existing non-broken shelf, the existing shelf's volume is refreshed and its confidence score is incremented. Otherwise a new shelf is registered. Confidence is capped at ten and used downstream to scale break tolerance.
4) Lifecycle State Machine
Each shelf carries one of three states — Held, Broken, or Reclaimed. Held flips to Broken when price closes beyond an adaptive break distance for three recent bars. Broken flips to Reclaimed when price dwells back inside the band for a user-defined number of bars. Reclaimed auto-promotes to Held once the shelf has stabilized past a short age threshold.
5) Ladder Direction
Proximity-filtered active shelves are sorted by creation order. The last one, two, or three rungs are compared to produce a single state: Rising if the sequence is monotonically higher, Falling if lower, Mixed if non-monotonic, plus transient overrides for Broken, Reclaiming, Building, or Neutral conditions.
6) Pruning
Stale broken shelves expire after a timeframe-aware window. A hard cap of ten active shelves is enforced, with broken shelves removed first when the cap is hit.
🔹 Signals and Alerts
The script provides four deterministic state-change alerts, all tied to closed-bar transitions:
— New Ladder Step Formed: fires when a new volume-accepted shelf is first registered.
— Ladder Step Held: fires when an existing shelf is re-confirmed by the rolling profile.
— Ladder Step Broken: fires when a held shelf transitions to broken.
— Ladder Step Reclaimed: fires when a broken shelf transitions back to reclaimed.
These alerts describe structural state changes inside the indicator logic. They are not trade signals and do not imply expected profitability, win rate, or directional certainty.
🔸 Key Inputs
— Profile Mode (Auto / Manual): Auto derives lookback and refresh from the chart timeframe. Manual exposes both for full control.
— Manual Lookback (bars): Size of the rolling window used to build the profile.
— Manual Refresh Interval (bars): How often the profile is rebuilt.
— Profile Resolution (bins): Number of price bins the range is divided into.
— Target Shelf Count: Maximum number of shelves kept active.
— Min Volume Ratio: Minimum fraction of the top-bin volume a bin must hold to qualify as a shelf.
— Min Shelf Separation (ATR): Minimum ATR distance between two shelves.
— Break Distance (ATR): Fully-aged break tolerance.
— Reclaim Dwell Bars: Bars needed inside the band to flip Broken to Reclaimed.
— Max Visible Distance (ATR): Proximity gate for drawing and counting shelves.
— Display options: panel position, panel font size, on-chart label size, alerts toggle.
🔹 How to Use
Value Shift Ladder is designed as a structural reference rather than a signal engine. Typical reading workflows include:
— Bias framing. Read the Ladder state first. Rising or Falling indicates a one-sided migration of accepted value; Mixed indicates balance; Broken or Reclaiming highlights an active transition.
— Dominant reference. The Dominant row in the panel highlights the nearest held or reclaimed shelf within two ATR of price. Use it as the closest structural reference for scenario planning, not as an execution level.
— Proximity discipline. Because shelves more than the configured ATR distance away are not drawn, the ladder always reflects value structure that is currently relevant. When no shelves are visible, the market is between value regions — a context in which mean-reversion assumptions weaken.
— Confluence. The tool is designed to be combined with independent confirmation such as session structure, higher-timeframe bias, or volume analysis. It is not meant to stand alone as a decision source.
🔸 Limitations and Transparency
— Volume profile quality depends on the instrument's volume reporting. On symbols with unreliable or synthetic volume, shelf placement may drift.
— The profile is recomputed on the close of refresh bars. Intrabar readings on the current bar can change until the bar closes; state transitions evaluate the last three bars for breaks and the reclaim-dwell window for reclaims, so fresh transitions can flip until those bars close.
— On extremely illiquid sessions or instruments with frequent volatility spikes, the adaptive-break logic can delay transitions by design. This is a tradeoff in favor of stability.
— Past structural behavior at a shelf does not guarantee future behavior. The tool does not forecast direction and is not a trading strategy.
🔹 Risk Disclosure
This script is a structural visualization tool provided for educational and analytical purposes. It is not financial advice, not a trading strategy, and not a signal service. All trading involves risk of loss. Past market behavior is not indicative of future results. Users are fully responsible for their own trading decisions and for independently verifying the tool's behavior on their chosen instruments and timeframes before relying on it for any purpose. Indicator

Volume Shelf Reaction Map [AGPro Series]Volume Shelf Reaction Map
🔷 OVERVIEW
Volume Shelf Reaction Map is a structural price-action tool that identifies horizontal zones where volume has historically stacked — "volume shelves" — and classifies, in real time, how price reacts each time it returns to them. Instead of showing a static S/R line, it answers a sharper question: when price revisits this level, does it hold, get reclaimed, get rejected, or lose the level entirely? Fresh shelves (never revisited) are visually separated from reused ones, so the chart communicates not just where the levels are, but which ones still carry unused participation behind them.
🧭 UNIQUE EDGE
Most support/resistance and volume tools stop at drawing a zone. This script adds a reaction-state layer on top of shelf detection:
• Five reaction states per shelf: TOUCH, HELD, RECL (reclaimed), REJ (rejected), LOST
• Fresh vs Reused classification — shelves that have already been tested at least once are faded, so untouched structural levels stand out immediately
• Sticky state logic — a shelf keeps its reaction color until a new transition actually occurs, preventing flicker between bars
• Passive-window coloring — shelves whose last reaction is older than the user-defined active window fade to the neutral accent color, keeping old/stale levels visible without dominating the chart
• Strongest-shelf-only reaction tags with cooldown — reaction labels are printed only for the highest-strength shelf and only on actual state transitions, producing a clean chart even on long histories
The result is a volume-aware reaction map rather than a crowded S/R overlay.
🧪 METHODOLOGY
1. Pivot detection — standard pivot highs and lows over a configurable pivot length act as shelf candidates.
2. Volume qualification — each pivot bar is checked against a rolling 20-bar volume average; bars above the Volume Filter multiplier contribute extra weight to shelf strength.
3. ATR-based clustering — candidates within a configurable ATR multiple of an existing shelf are merged using a touches-weighted mean price, stabilizing the shelf location as evidence accumulates.
4. Confirmation — a shelf must reach the Minimum Touches threshold before it is rendered; weak candidates are pruned after one-third of the lookback window.
5. State machine — on every confirmed bar, a shelf's reaction is updated against the prior close's side (support vs resistance context), using an ATR-scaled buffer to distinguish genuine holds and losses from noise.
6. Ranking and rendering — on the last bar, shelves are sorted by strength; only the top N are drawn, with fresh shelves rendered solid and reused shelves rendered thinner and faded.
🔔 SIGNALS & ALERTS
Three alert types, each debounced per shelf so the same state cannot spam consecutive bars:
• Shelf Touched — price range intersects a confirmed shelf for the first time since its last transition
• Shelf Respected — price HELDs, RECLs, or REJs at a shelf (reaction in favor of the shelf)
• Shelf Lost — price closes through a shelf with the required ATR buffer
Reaction tags on the chart (HELD / RECL / REJ / LOST) are printed only for the strongest shelf and only on a true state transition, with a user-adjustable cooldown for historical cleanliness.
⚙️ KEY INPUTS
Shelf Detection
• Lookback Window (bars) — how far back the pivot scan reaches
• Pivot Strength — bars required on each side of a pivot
• Cluster Distance (x ATR) — how tightly nearby pivots merge
• Minimum Touches — confirmation threshold
Filters & Cleanup
• Volume Filter (x average) — participation threshold for strength weighting
• Show Fresh Shelves Only — hide already-revisited shelves
• Max Shelves to Display — cap visible shelves for chart cleanliness
• Fade Reused Shelves — dim reused shelves so fresh ones stand out
• Reaction Sensitivity (x ATR) — ATR buffer used by the state machine
• Active Window (bars) — how recently a reaction must have occurred to show in full color
Visuals
• Label & Panel Size — Tiny / Small / Normal / Large (default: Normal)
• Show Reaction Tags — toggle on-chart state labels
• Tag Cooldown (bars) — minimum bars between tags on the same shelf
Panel
• Show Info Panel, Panel Location (6 anchors), Panel Theme (Dark / Light)
Alerts
• Shelf Touched, Shelf Respected, Shelf Lost
🧰 HOW TO USE
1. Add the indicator to any liquid symbol and timeframe. Volume-aware markets (crypto, index futures, major FX) and timeframes from 15m upward tend to produce the most structured shelves.
2. Start with defaults. The Active Window of 30 bars is a reasonable middle-ground; reduce it on intraday charts (around 20) or raise it on daily/weekly (30–60).
3. Read the panel:
• Active Shelves — how many of the eligible shelves are currently drawn
• Strongest Shelf — the top-ranked shelf by strength
• Current State — live reaction state of the top shelf
• Fresh / Reused — how the displayed shelves split between untested and already-tested levels
4. Use fresh shelves as higher-quality reaction candidates; treat reused shelves as context, not primary triggers.
5. Combine the HELD / RECL / REJ / LOST reactions with your own trigger logic (e.g. break-retest, liquidity sweeps, momentum shifts). This script is a location and reaction tool — not a standalone trade system.
🧱 LIMITATIONS & TRANSPARENCY
• This indicator describes historical structure and live reactions; it does not forecast price direction.
• Pivot-based detection requires the Pivot Strength window to complete on both sides, so fresh pivots appear with a natural lag equal to the pivot length.
• On very low-volume symbols or illiquid timeframes, shelves may be sparse or unstable.
• The state machine is bar-close based; intrabar wicks can temporarily intersect a shelf without changing its state until the bar confirms.
• Max drawing limits (max_lines_count, max_labels_count, max_boxes_count) are set to 120; extremely long histories combined with large lookbacks may drop the oldest drawings.
⚠️ RISK DISCLOSURE
This script is provided for educational and analytical purposes only. It is not a strategy, not a buy/sell signal generator, and not financial advice. Trading involves substantial risk of loss. Past behavior of levels, volume, or reactions does not guarantee future outcomes. Always apply your own risk management, position sizing, and independent judgment. The author and AGProLabs accept no responsibility for decisions made based on this indicator. Indicator

Rejection Block Quality [AGPro Series]Rejection Block Quality
🔹 OVERVIEW
Rejection Block Quality is an ICT-inspired detector that identifies long-wick rejection candles at swept swing pivots and grades each block by objective quality criteria. Unlike Order Block logic — which anchors to the last opposite-direction body before displacement — a Rejection Block (RB) is born from a wick that pierces a prior swing liquidity pool and closes back inside it, with the body confirming displacement on the follow-through bar. The rectangle is drawn from the wick base to the candle body, capturing the exact zone where smart money absorbed the sweep.
🎯 UNIQUE EDGE
Three design choices separate this tool from generic wick or order block indicators:
• Swing-pivot sweep requirement — a rejection is only counted when price sweeps a confirmed swing high or low before the reversal close. Stand-alone wick patterns without liquidity context are filtered out.
• Displacement confirmation window — the candle following the rejection must travel at least 0.6× ATR in the reversal direction, within a 1–5 bar lookahead. No displacement, no block.
• Quality tiering (A / B / C) from three orthogonal factors — wick-to-body ratio, displacement magnitude, and untested freshness. An exceptional wick ratio (≥5× body) promotes a block to A tier regardless of other scores, preserving rare high-conviction rejections.
🛠️ METHODOLOGY
Detection pipeline on every bar:
1. Confirm a pivot sweep using a user-configurable lookback (default 5 bars each side).
2. Check the wick-to-body ratio against a minimum threshold (default 1.8×), with the dominant wick on the sweep side.
3. Queue the candle as a pending block and wait for displacement confirmation.
4. Measure displacement as price travel from the body reference over 1 to 5 bars, normalized by ATR.
5. On confirmation, draw the RB zone from the wick base to the body, record the tier, and begin lifecycle tracking.
Zone lifecycle tracks four events — test (price enters the zone), hold (price exits without a body close through the far edge), break (body close through the far edge), and near miss (price approaches within a configurable ATR band without entering). All events are edge-detected to prevent inflated counts when price lingers near a zone.
📊 SIGNALS & ALERTS
• New block formation label — A / B / C tier plus wick ratio, placed with anti-collision offset.
• Test markers (T) — one per zone entry event, with cooldown to prevent visual clutter.
• Break markers (B) — placed when a zone is invalidated by a body close.
• Wick border highlight — thick colored line on the originating rejection candle.
• Alerts — configurable minimum tier (A, B, or C) fires once per bar close for each qualifying new block.
⚙️ KEY INPUTS
• Detection — Pivot Length, Min Wick-to-Body Ratio, ATR Length, Min Displacement (× ATR), Displacement Confirm Window.
• Zone Management — Max Active Zones per Side, Zone Right Extension, Near-Miss Distance, Near-Miss Cooldown, Break Requires Full Body Close.
• Visuals — Show Zones, Show Tier Labels, Highlight Rejection Wick Border, Show Test / Hold / Break Markers, Zone Fill Opacity, Label Font Size.
• Panel — Show Panel, Panel Location, Panel Font Size, Panel Theme (Dark / Light).
• Alerts — Minimum Tier for Alerts.
🧭 HOW TO USE
Start on a higher timeframe (4H or 1D) to identify macro RB zones, then drill down to execution timeframes for entries. Treat A-tier blocks as the highest-conviction zones, B-tier as situational, and C-tier as context-only. Combine with trend filters, higher-timeframe structure, and risk management — a Rejection Block is a zone of interest, not a standalone buy or sell signal. Use the panel statistics to evaluate how the selected symbol and timeframe have historically respected these zones before committing to them in live decision-making.
⚠️ LIMITATIONS & TRANSPARENCY
This indicator is a structural detector, not a trading strategy. It does not forecast price direction, generate entry or exit orders, or calculate position sizing. The Success Rate statistic reflects how often past tests on detected zones held versus failed within the visible history — it is a descriptive metric, not a performance projection. Zone detection is historical and reactive: a block only appears after the displacement bar closes, so interpretation on live-forming bars is tentative. Performance varies by symbol, timeframe, and market regime.
⚠️ RISK DISCLOSURE
Trading involves substantial risk of loss. Past behavior of any pattern does not guarantee future outcomes. Use this tool as part of a complete analytical framework that includes your own risk management, position sizing, and broader market context. Nothing in this indicator or description constitutes financial advice. Indicator

Double Top / Bottom Quality [AGPro Series]Double Top / Bottom Quality
Double Top / Bottom Quality is a disciplined, rules-based detector for the two most iconic reversal chart patterns: the Double Top (M-shape) and the Double Bottom (W-shape). Unlike basic pattern finders that fire on any two similar swings, this indicator scores every candidate pattern on a transparent 0–100 Quality Score across four independent factors — and only confirms patterns that pass a user-defined minimum. The result is a cleaner chart with fewer, higher-conviction setups.
Every confirmed pattern delivers a full trading lifecycle: a neckline flip S/R zone (resistance → support on a Double Bottom; support → resistance on a Double Top) and a measured-move target projection band. Pending, confirmed, target-hit and invalidated states are all tracked with disciplined cleanup, so the chart never becomes cluttered.
🔹 WHAT THE INDICATOR DOES
It detects classic Double Top and Double Bottom reversal structures using pivot-based swing analysis with ATR-normalised equality, depth and time-window filters. Each valid candidate is then scored on four independent quality factors. Only candidates that exceed the user-defined minimum score and break the neckline on close are confirmed. Once confirmed, the pattern draws its neckline flip zone and target projection band, labels the setup with its letter grade and score, and tracks the outcome until target hit or invalidation.
🔹 UNIQUE EDGE — WHY IT IS DIFFERENT
Most Double Top / Double Bottom scripts simply connect two similar swings and draw a line. This indicator adds a transparent 4-component Quality Score so every setup is rated before confirmation, not just flagged. Three factors that most scripts ignore are treated as first-class inputs here:
• Pattern Symmetry — the left leg and the right leg of the M / W must be comparable in time, or the pattern is penalised
• Break Volume Confirmation — the neckline break bar is compared to its rolling volume average, and thin breaks score lower
• Depth Quality — shallow, flat patterns are filtered out in favour of deep, decisive reversals
The full lifecycle visualisation (pending → confirmed → target hit) and same-region deduplication are also uncommon in this pattern category, and together they produce a chart that reads cleanly even on long history.
🔹 METHODOLOGY
• Pivot detection via ta.pivothigh / ta.pivotlow with user-configurable length
• Equality check: the two peaks (or troughs) must be within a configurable ATR tolerance
• Time-window filter: minimum and maximum bars allowed between the two pivots
• Depth filter: the vertical distance from peaks to neckline must exceed a minimum ATR threshold
• Neckline: lowest low between the two peaks for a Double Top, or highest high between the two troughs for a Double Bottom
• Confirmation trigger: daily close beyond the neckline
• Invalidation: price exceeds the pattern extreme before the neckline break
• Cooldown: after confirmation, new patterns in the same price region are suppressed for N bars to prevent clustering
🔹 QUALITY SCORE (0–100)
Each confirmed pattern receives a transparent score based on four equally-weighted factors (25 points each):
1. Peak / Trough Equality — how close the two extremes are to each other, measured in ATR units
2. Break Volume Confirmation — break-bar volume relative to the 20-bar average
3. Pattern Symmetry — ratio of the shorter leg to the longer leg (time-based)
4. Depth Quality — pattern height relative to ATR (deeper = higher score)
Score → Grade mapping:
• 85–100 = A
• 70–84 = B
• 55–69 = C
• <55 = D
🔹 SIGNALS, ZONES & ALERTS
Once a pattern confirms, the indicator renders:
• A solid neckline that extends to the right edge
• A neckline flip zone (rectangular S/R band at the neckline level)
• A target projection zone at the measured-move price (pattern height projected from neckline)
• A grade label (A / B / C) and numeric score on the pattern
Two alert types are available: "Confirmed Pattern" fires on confirmation, and "Target Hit" fires when the measured-move target is reached.
🔹 KEY INPUTS
• Pivot Length, ATR Length
• Peak / Trough Equality tolerance (ATR)
• Min / Max bars between peaks
• Minimum Pattern Depth (ATR)
• Break Volume Multiplier
• Cooldown bars
• Minimum Quality Score filter
• Show Pending Patterns toggle
• Show Neckline Flip Zone / Target Zone toggles
• Zone Width (ATR)
• Stale Cleanup Distance, Max Active Zones
• Label size, Panel position / theme / size
• Alert toggles
🔹 HOW TO USE
• Choose a liquid market and a timeframe that matches your trading style (4H and 1D are particularly well-suited to classic reversal patterns)
• Watch for Pending patterns (dashed lines) — these mark candidates awaiting a neckline break
• A Confirmed pattern with grade B or higher is the typical entry signal; aggressive traders may use C-grade while conservative traders may filter to A-grade only
• Use the neckline flip zone as a logical stop-loss reference (above it for Double Tops, below for Double Bottoms)
• Use the target projection zone as a take-profit reference based on the classical measured-move rule
• Combine with higher-timeframe trend, volume profile or an independent confluence tool for best results
🔹 LIMITATIONS & TRANSPARENCY
• Pivot-based detection means patterns confirm with a natural lag equal to the pivot length
• No strategy is 100% reliable — Quality Score filters improve average conviction but do not guarantee outcomes
• Very low-liquidity markets may produce unstable pivots; a longer pivot length helps
• Measured-move targets are a classical reference, not a prediction
• Historical statistics shown in the panel are pattern-completion counts on the loaded chart; they are not a guaranteed forward performance estimate
🔹 RISK DISCLOSURE
This script is provided for educational and analytical purposes only. It is not financial advice and does not constitute a recommendation to buy, sell or hold any asset. Trading involves substantial risk of loss; past pattern performance is not indicative of future results. Always perform your own research and use appropriate risk management.
Open-source under the Mozilla Public License 2.0 — contributions and feedback are welcome. Indicator

Trendline Confluence Map [AGPro Series]Trendline Confluence Map
Overview
Trendline Confluence Map automatically draws ascending and descending trendlines from major and minor swing pivots, then maps the zones where two or more of these trendlines intersect with each other or with key horizontal support and resistance levels. Every confluence zone is scored from 0 to 100 based on touch count, line age, trendline angle and volume, so traders can instantly see which reaction levels are backed by the most structural weight. Drawn as long rectangular zones in the classic S/R style, the map stays anchored to current price and hides old, irrelevant levels automatically.
Unique Edge
Most trendline tools either draw a single line or flood the chart with dozens of low-quality lines that never interact with each other. This indicator is built around the opposite idea: confluence is the signal, single lines are just noise. Its three design choices make the difference. First, the script maintains a disciplined pool of only the trendlines whose current projection is on-chart, so a zero-visibility clutter problem cannot happen — the panel count always equals what you actually see. Second, horizontal S/R levels participate as first-class confluence sources alongside trendlines, with a guard requiring at least one real trendline per zone so the tool remains true to its name. Third, every zone label shows a source breakdown such as "2 TL" or "1 TL + 1 SR", giving you immediate insight into why a zone was considered high-probability.
Methodology
Swing pivots are detected at two depths (major and minor) using pivot-high and pivot-low structures, with configurable lookback lengths. Each valid consecutive pivot pair spawns a trendline, and every subsequent bar that wicks into the projected line within an ATR-based tolerance increments its touch count, raising its structural validity. Horizontal S/R levels are extracted from recent major pivots and merged when they fall within 0.4 ATR of each other. On each confirmed bar, the detector builds a combined pool of all on-chart trendline projections plus horizontal levels, then runs a greedy clustering pass using a zone-width-sized tolerance window. Candidate clusters that contain at least one trendline and meet the minimum source count are scored by combining touch strength, line age, slope quality, a rolling volume component and a horizontal S/R bonus. The highest-scoring cluster becomes a confluence zone, drawn as a rectangle whose right edge extends dynamically to the current bar so every active zone stays visually anchored to price. Zones are deduplicated by price and direction, and expire automatically after a configurable age.
Signals and Alerts
Every new confluence zone is announced with a descriptive alert that carries its mid-price, score and source breakdown. A second alert fires when price first crosses into an active zone from outside, helping traders react to the moment a level is tested. Zone colors encode directional bias: green zones indicate support-favored confluence while pink zones indicate resistance-favored confluence, with the bias derived from the dominant trendline direction in the cluster. Labels on the right edge of each zone show the current score, the source breakdown and the bias tag, so at a glance the trader knows which level is strongest and why.
Key Inputs
Major Pivot Length and Minor Pivot Length define the swing-detection depth of the two pivot streams. Max Active Trendlines caps the internal pool, while Min Touches to Validate filters out unconfirmed trendlines from the confluence pass. Touch Tolerance in ATR units controls how generously the script counts interactions. Min Sources for Zone sets the confluence requirement, Zone Width in ATR units determines rectangle thickness, and Zone Forward Extension controls how far each zone reaches to the right. Max Active Zones and Max Zone Age in bars keep the map focused on currently relevant structure. Panel Theme, Panel Location and Font Size cover the full visual customization layer.
How to Use
Start on the timeframe you trade and leave the defaults — they are tuned for 4H crypto and major FX on equivalent timeframes. Scan for zones with a score above 60 in a direction aligned with the higher-timeframe bias. Use the green support-biased zones as pullback entry areas in uptrends and the pink resistance-biased zones as fade or short entry areas in downtrends. Break-and-retest traders can wait for price to pierce a high-score zone and return to its edge; mean-reversion traders can watch for rejection at zones where the source breakdown includes both a trendline and a horizontal level, as those tend to hold more strongly. The panel at the top shows a quick summary of the current map state and the distance to the nearest zone in ATR units, which is useful for position sizing and stop placement.
Limitations and Transparency
This is not a strategy and not a complete trading system. It does not predict price and does not generate buy or sell instructions. Confluence zones are structural context, not entries, and their score is an internal quality estimate derived from visible price action, not a probability of success. The script needs a reasonable amount of historical bars to build a stable trendline pool. Very low timeframes and very illiquid symbols can produce erratic pivot structures and are not the intended use case. Like all pivot-based tools, the indicator reflects past structure, and levels can weaken or become stale as market regimes change. Zones older than the configured age are removed automatically to reduce this risk.
Risk Disclosure
Trading involves substantial risk of loss and is not suitable for every investor. Past performance is not indicative of future results. This indicator is provided for educational and analytical purposes only and should not be interpreted as financial advice, an investment recommendation or a solicitation to trade. Always combine multiple forms of analysis, manage position size responsibly, and never risk capital you cannot afford to lose.
Indicator

Swing Failure Pattern (SFP) Engine [AGPro Series]Swing Failure Pattern (SFP) Engine
────────────────────────────────────────────────────────────
OVERVIEW
────────────────────────────────────────────────────────────
Swing Failure Pattern (SFP) Engine detects high-probability liquidity sweep
events at prior swing highs and lows. An SFP occurs when price pierces a
recent swing level with a long wick but closes back inside the prior range,
signalling failed continuation and potential mean reversion. Each event is
scored on four components, drawn as a mid-sized support/resistance reaction
zone, and tracked through its live cycle — with panel statistics on MFE,
MAE, and hit rate. Designed for visual pattern reading and confluence;
not a buy/sell system.
────────────────────────────────────────────────────────────
UNIQUE EDGE
────────────────────────────────────────────────────────────
Most SFP indicators mark the sweep candle and stop there. This engine treats
each SFP as a living support/resistance band: the zone extends to the right
every bar and only freezes when the swept level is actually broken on close.
That preserves the SR context that traders use in real decisions, without
cluttering charts with zones that never die. A composite score (0-100),
confluence grouping of nearby events within 0.5 ATR, and live MFE/MAE
tracking in ATR units turn a common pattern into a measurable framework.
────────────────────────────────────────────────────────────
METHODOLOGY
────────────────────────────────────────────────────────────
Swing detection uses pivot highs and lows confirmed by a configurable
lookback. An SFP is confirmed on bar close when four conditions are met:
1. The bar wicks beyond a prior unswept swing high (bearish) or swing low
(bullish) within the active lookback window.
2. The close reclaims the prior range by at least the user-defined ATR
distance (default 0.25 ATR).
3. The sweep-side wick represents at least the minimum wick ratio of total
bar range (default 55 percent).
4. Bar volume exceeds its 20-period SMA by the configured multiplier
(optional, default 1.15x).
Composite score (0-100) weights wick ratio (40), reclaim distance in ATR
(30), volume confirmation (15), and swing age (15). Only events above the
minimum score threshold are drawn. Each confirmed SFP removes its swept
swing from the active array to prevent re-triggering on the same level.
Confluence grouping merges same-side events within 0.5 ATR into a single
labelled zone with an x2, x3 count.
────────────────────────────────────────────────────────────
SIGNALS & ALERTS
───────────────────────────────────────────────────────────
Visual signals on chart:
- State-coloured label at the sweep bar reading Bull SFP or Bear SFP with
the composite score (e.g., Bull SFP 74). Confluence-grouped events are
suffixed with the merge count (e.g., Bear SFP 81 x2).
- Rectangular zone spanning the swept level and the SFP close, with a
small ATR buffer. The zone extends right each bar while active and
freezes in neutral grey when the swept level breaks.
- Dotted horizontal line marking the swept swing level.
- Dashed projection line indicating the reversal direction.
Alert conditions:
- Bullish SFP: fires on the confirmation bar of a bullish event above
the score threshold.
- Bearish SFP: same, for bearish events.
- Zone Invalidation (optional): fires when an active zone's swept level
is broken on close.
────────────────────────────────────────────────────────────
KEY INPUTS
────────────────────────────────────────────────────────────
Detection:
- Swing Pivot Length - bars each side of a pivot (default 5).
- Swing Lookback - how far back active swings are tracked (default 120).
- Min Wick Ratio - minimum sweep wick as fraction of bar range (0.55).
- Min Reclaim Distance (ATR) - how far close must reclaim (0.25 ATR).
- Require Above-Average Volume and Volume Multiplier (default 1.15x).
- ATR Length (default 14).
Scoring & Filters:
- Min SFP Score (default 55 of 100).
- Max Active Zones retained on chart (default 8).
- Stats Timeout - bars after which an unresolved event is counted in
averages (default 30). Does not affect zone visibility.
Visuals:
- Zone transparency (default 80), confluence grouping distance (0.5 ATR),
label size, and toggles for zones, swing lines, and reversal projections.
Panel:
- Location (8 options), Dark/Light theme, text size.
Alerts:
- Independent toggles for bullish, bearish, and invalidation alerts.
────────────────────────────────────────────────────────────
HOW TO USE
────────────────────────────────────────────────────────────
Apply the indicator to any chart and timeframe. Higher timeframes (1h and
above) produce cleaner swings; lower timeframes require a higher Min Wick
Ratio and Min Score to filter noise.
Read SFPs as liquidity sweep events, not standalone entries. A bullish SFP
below a prior swing low indicates that sellers failed to extend the move —
often a location where larger participants accumulate. The score reflects
sweep quality; higher scores (70+) generally correspond to cleaner
rejections. Use the zone as a support/resistance reference until it is
invalidated.
Panel statistics describe the observed sample on the loaded chart, not a
backtested system. MFE Hit Rate is the percent of resolved zones that
reached 1 ATR in the SFP direction before the swept level broke — it is a
quality reference, not a win rate for any trading strategy.
────────────────────────────────────────────────────────────
LIMITATIONS & TRANSPARENCY
────────────────────────────────────────────────────────────
- Signals confirm on bar close; intrabar conditions may change until close.
- Pivot detection introduces a natural bars-of-right-context lag equal to
the Pivot Length. This is intrinsic to any pivot-based approach.
- Panel statistics reflect events visible on the current chart load and
will vary with timeframe, symbol, and bar range.
- MFE Hit Rate is not a profit expectation. It measures whether price
moved 1 ATR in the SFP direction before the swept level broke.
- Volume confirmation uses chart volume and may behave differently on
symbols with inconsistent volume data.
- The indicator uses standard Pine Script drawing objects. Chart reload
may reset ephemeral visual states of resolved zones.
────────────────────────────────────────────────────────────
RISK DISCLOSURE
────────────────────────────────────────────────────────────
This indicator is a visualisation and analysis tool. It is not a trading
system, not financial advice, and not a signal service. It does not
predict future price movement. All trading decisions carry risk of loss
and are the sole responsibility of the user. Historical pattern behaviour
does not guarantee future results. Test thoroughly on your instruments
and timeframes before making any decisions. Indicator

Breaker Block Engine [AGPro Series]Breaker Block Engine
Overview
Breaker Block Engine is a dedicated detection and tracking tool for one of the
most misunderstood concepts in Smart Money trading: the Breaker Block. A
breaker block is an order block that has failed and flipped role — a bearish
order block broken upward now behaves as bullish support, and a bullish order
block broken downward now behaves as bearish resistance. The engine does not
just draw them; it validates each break with displacement strength, tracks
every retest, scores how well each breaker has held its role, and surfaces the
dominant bullish and bearish breakers through a clean info panel.
Unique Edge
Most breaker block scripts stop at drawing a flipped zone. This engine goes
further:
- Each break is validated using an ATR-scaled close-based displacement filter,
optionally combined with above-average volume confirmation, to reject weak
wick-based breaks.
- Every retest of a breaker is counted and evaluated as Held or Lost, and the
state label on the chart shows a live retest hold percentage for each
breaker (for example "Bull Breaker | Held x6 (100%)").
- An invalidation buffer prevents single-wick noise from prematurely killing
otherwise healthy breakers, while genuinely violated zones fade into a gray
"Lost" state and are removed from tracking shortly after.
- Intra-side and cross-side confluence grouping automatically clean up
overlapping labels so the chart stays readable even when several breakers
cluster within half an ATR.
- The info panel summarises the whole picture in one glance: dominant side,
active counts per side, nearest breaker distance in both price and ATR
multiples, and overall retest hold percentage.
Methodology
1. Swing Detection. Confirmed pivot highs and pivot lows are identified using
a configurable pivot length. These pivots anchor the search for order
block candidates.
2. Order Block Candidate. For each confirmed pivot high, the script walks
back up to ten bars looking for the last bearish candle — this is the
bearish order block candidate. The symmetrical process identifies bullish
order block candidates around pivot lows.
3. Break Validation. A candidate is promoted to a breaker only when price
closes past the opposite edge of the order block by at least a
user-defined ATR multiple (default 0.75 × ATR). An optional volume
confirmation filter can additionally require the break candle to trade
above its volume moving average.
4. Retest & Hold Scoring. After formation, each breaker is checked every bar.
If price re-enters the zone and the close respects the breaker's intended
direction, a Hold is recorded; otherwise the retest is counted but not
held. A minimum bar spacing prevents consecutive bars of a sustained
retest from inflating the counter.
5. Invalidation. If price closes past the far edge of the breaker by more
than the invalidation buffer (in ATR), the breaker is marked Lost,
visually faded, and removed from active tracking after a short grace
period.
6. Confluence Grouping. On the most recent bar, breakers whose mid-points
sit within max(0.5 × ATR, 0.5 % of price) of each other have their
overlapping state labels resolved: dead labels yield to alive labels,
older labels yield to newer ones. A cross-side pass prevents stale
opposite-side labels from sitting on top of active ones.
Signals & Alerts
The script provides three alert events:
- New Breaker: fires on the bar a bullish or bearish breaker is confirmed.
- Retest Hold: fires when price retests an active breaker and the close
respects the zone direction.
- Invalidation: fires when an active breaker is broken in the opposite
direction beyond the invalidation buffer.
On-chart signals include the zone itself (coloured by side), a small
directional triangle at the break point, and a dynamic state label on the
right edge showing the breaker's test count and hold percentage.
Key Inputs
- Swing Pivot Length: bars on each side used to confirm swings. Higher values
produce fewer but structurally stronger swings.
- Max Active Breakers per Side: hard cap on simultaneously tracked bullish
and bearish breakers; oldest are pruned when the limit is reached.
- Displacement Strength: ATR multiple required for a close-based break to
validate. Higher values produce fewer, stronger breakers.
- Require Volume Confirmation: when enabled, the break candle must trade
above its volume moving average.
- Invalidation Buffer: ATR buffer added beyond the breaker edge before the
breaker is considered invalidated. Prevents wick-based noise kills.
- Min Bars Between Retests: minimum bar spacing between consecutive retests
of the same breaker, keeping counters from inflating on sustained visits.
- Zone Transparency, Colours, Label & Panel Sizes: full visual control.
- Panel Location, Theme, Far Zone Threshold: the info panel can be placed in
any of six positions, switched between Dark and Light theme, and the
threshold for labelling distant zones as "Far" is user-configurable.
How to Use
- On mid-to-high timeframes (15m and up), leave the defaults. The engine is
tuned for 15m to 4h out of the box but works on any timeframe and
instrument.
- Use the state label hold percentage as a quality gauge. A breaker with a
long history of holds (for example "Held x6 (100%)") has demonstrated
institutional interest at that level; a breaker with mixed results deserves
more caution.
- Use the panel to orient quickly. If the dominant side is Bullish and the
nearest bullish breaker sits within a fraction of an ATR, the chart is in
a supportive regime for long bias; if both nearest values show "Far",
price is floating between structures and caution is warranted.
- Combine with higher-timeframe context. A bullish breaker on the 1h that
aligns with a bullish breaker on the 4h is a stronger zone than either
alone.
Limitations & Transparency
- This is an indicator, not a strategy. It draws zones and tracks their
behaviour; it does not generate buy or sell orders, manage positions, or
calculate performance statistics against a price series.
- Pivot-based detection is inherently lagging by the pivot length: a swing
is only confirmed once the configured number of bars have printed past it.
- Results depend on input choices. Different displacement multipliers, pivot
lengths, and retest gaps will produce different breaker sets. The defaults
are a starting point, not a recommendation.
- No indicator can guarantee future behaviour. A breaker that has held ten
times in the past can fail the next time it is tested.
Risk Disclosure
This script is provided for educational and research purposes only. It is not
financial advice and does not constitute a recommendation to buy, sell, or
hold any instrument. Trading carries substantial risk of loss. Users are
solely responsible for their own trading decisions and risk management. Past
behaviour of a breaker, or of any zone shown by this script, does not
guarantee future results. Indicator

Mitigation Block Quality [AGPro Series]OVERVIEW
Mitigation Block Quality grades every order-block retest as A, B, or C based on
the strength, speed, and follow-through of the bounce after price returns to
the block. Instead of just drawing order blocks and leaving you to guess
which ones matter, the script measures each mitigation objectively and keeps
a live scoreboard of how those reactions have been performing.
The result is an order block tool that tells you two things at once: where
the zones are, and how well price has historically respected them on the
symbol and timeframe you are looking at.
UNIQUE EDGE
Most order-block indicators end at detection. This one begins there. Each
time a block is mitigated, the script measures the reaction over a fixed
window and grades the bounce by its ATR-normalized magnitude. That grade
is then reflected everywhere: on the block border, in the on-chart label,
in the dashboard, and in the historical success-rate statistics.
You also get multi-timeframe context, confluence detection, streak tracking,
and a dynamic setup banner that describes the current price-block
relationship in plain English.
METHODOLOGY
1. Detection. Swing pivots are identified using a configurable pivot length.
The last opposite-colored candle before the pivot forms the order block.
2. Mitigation. A block is mitigated when price re-enters the zone.
3. Grading. After a fixed reaction window, the script measures the peak of
the bounce and normalizes it to ATR. Grade A is a strong bounce, B is
solid, C is weak.
4. Invalidation. A body close beyond the block marks it as invalidated.
Invalidated blocks can be hidden or shown as a dotted reference.
5. Retirement. Blocks retire by age, by distance from price, or when the
per-side cap is exceeded.
FEATURES
- A, B, or C grade assigned to every mitigation (ATR-normalized reaction)
- Reaction trail line on Grade A mitigations showing the bounce extent
- Entry marker (diamond) at the exact mitigation bar of Grade A bounces
- Confluence glow when two or more blocks overlap within 0.5 ATR
- Time-based opacity decay so older blocks recede and fresh ones pop
- Optional pulse animation on A/B blocks while price is inside them
- Price-scale labels tagging each active block's grade and side
- Higher-timeframe alignment check against a configurable HTF structural bias
- Dashboard panel with: active count, tested count, success (current),
nearest-block state (Inside / Touching / distance in ATR), all-time
success rate with stacked distribution bar, last-20 success, health
progress bar, current Win/Loss streak, HTF alignment, and a dynamic
setup banner
SIGNALS & ALERTS
Three alert conditions are provided:
- Grade A Mitigation — a premium-quality bounce has been detected
- Grade B Mitigation — a solid bounce has been detected
- Block Invalidation — an active block has been broken
These are alertconditions and can be configured from the PulseWire
Create Alert dialog in the usual way.
KEY INPUTS
- Pivot Length and Lookback: control how blocks are detected and how long
they stay on the chart
- Reaction Window and Grade Thresholds (A, B in ATR units): define what
counts as a premium, solid, or weak bounce
- Invalidation Mode: choose between body close or wick pierce
- Retire Block Beyond (xATR): automatic cleanup when price moves far away
- Max Active Blocks per Side and Max Visible Labels: keep the chart premium
- Premium Visuals toggles: Reaction Trail, Entry Marker, Confluence Glow,
Quality Heatmap row, Setup Banner, Pulse, Time Decay, Price Scale Labels,
HTF Alignment, Streak row
- HTF for Alignment: the higher timeframe used for multi-timeframe confluence
- Panel location and theme
HOW TO USE
1. Add the script to any chart and timeframe.
2. Read the panel top-down:
- Last 20 breakdown tells you the recent quality regime
- Nearest Block tells you how close the closest active zone is
- All-time and Last 20 success tell you how reliable those zones have been
- Streak gives you momentum context
- HTF Alignment tells you if the bigger picture agrees
- Setup banner describes what is happening right now
3. Look at the chart:
- A/B/C labels on mitigated blocks tell you how those tests resolved
- Reaction trails and diamonds highlight the premium Grade A mitigations
- Confluence glows mark zones where multiple blocks agree
4. Use alerts to get notified when a fresh Grade A or Grade B mitigation
occurs, or when an active block is invalidated.
The tool is designed to help with discretionary analysis. It is not a
trading system and does not generate buy or sell signals on its own.
LIMITATIONS & TRANSPARENCY
- Pivots are confirmed after the swing length completes, so block detection
has a small structural lag. This is inherent to any pivot-based method.
- Grades are assigned after the reaction window closes. A very fresh
mitigation will briefly show "Active" before its grade appears.
- HTF Alignment uses a 50-period simple moving average on the chosen higher
timeframe as a structural bias proxy. It is a context filter, not a
predictive signal.
- All metrics are computed from the visible historical data on the current
chart. Loading more bars will change the all-time statistics.
- The script uses Pine Script v6 drawing objects. Extremely long histories
on very low timeframes may hit PulseWire object limits; the built-in
per-side cap and distance-based retire keep this under control in normal
use.
RISK DISCLOSURE
This script is an analysis aid, not financial advice. It does not predict
future price movement and does not generate trade recommendations. Any
decision to enter or exit a position is the responsibility of the user.
Historical grade distributions are descriptive, not predictive. Past
mitigation behavior on a symbol does not guarantee future behavior.
Trade with risk capital you can afford to lose and use appropriate
position sizing and stop placement.
LICENSE
Released under the Mozilla Public License 2.0. The full source is available
on PulseWire via the Open-Source badge. You are free to study and modify
the code subject to the terms of the license. Indicator

Rolling Midpoint Engine [AGPro Series]Rolling Midpoint Engine
### Overview
Rolling Midpoint Engine is an on-chart study that converts the geometric midpoint of the last N bars' high-low range into a living control line. The midline is tracked through three behavioral states — Accepted Above, Accepted Below, and Fight — and a fourth modifier (Strong) highlights high-conviction acceptance beyond an ATR threshold. The goal is to surface how price behaves around a single dominant reference level, not to predict direction or issue trade signals.
### Unique Edge
Most midpoint tools plot a static line and let the user eyeball whether price accepts or rejects it. Rolling Midpoint Engine formalises that observation into a finite state machine that requires consecutive body-closes on one side of the midline before declaring acceptance. This filters single-bar noise and distinguishes casual tags from genuine commitment. The ATR-based Strong modifier adds a second axis of information — how firmly the current side is being held — without multiplying states or cluttering the chart with additional lines.
### Methodology
The midline is computed as the average of the highest high and the lowest low over a user-defined rolling window. Optional light EMA smoothing reduces visual jitter without materially shifting the level; a Strict Reset mode disables smoothing for pure rolling output.
Acceptance is evaluated through two streak counters tracking consecutive closes (or full bars, if the user prefers a stricter rule) on each side of the midline. When a streak reaches the Acceptance Bars threshold, the state transitions to Accepted Above or Accepted Below. If the running streak is positive but below threshold, the state is Fight. A Strong flag activates whenever the current distance from the midline exceeds a configurable ATR multiple.
All logic uses confirmed bar closes. The script does not repaint historical states once a bar has closed.
### States & Alerts
States:
- Fight — price is oscillating around the midline without sustained commitment
- Accepted Above — body-closes above the midline for the required number of bars
- Accepted Below — body-closes below the midline for the required number of bars
- Strong (modifier) — current Accepted state is held beyond the ATR threshold
Alerts:
- Midline Crossed Up / Down — raw price cross of the midline
- Accepted Above / Below — state transitions into acceptance
- Midline Rejection — state flip between Accepted Above and Accepted Below, or collapse from an Accepted state back to Fight
### Key Inputs
- Rolling Length — number of bars defining the range window
- Strict Reset Mode — toggle between pure rolling midline and lightly smoothed output
- Acceptance Bars — consecutive body-closes required for acceptance
- Use Body Close vs. Full Bar — strictness of the side-determination rule
- Strong Threshold — ATR multiple that qualifies an accepted side as Strong
- Label Style / Size — Edge Only, Edge + Transitions, or Off
- Panel Location / Theme / Font Size — four corners plus Middle Right, Dark / Light / Auto themes
- Color Midline by State — toggle state-coloring on the dominant line
### How to Use
Apply the indicator to any symbol and timeframe. The midline acts as a rolling control level; the state label on the right edge summarises the current behavior. Treat Accepted Above / Below as evidence that the midline is holding as support or resistance on the corresponding side. A transition into Strong indicates the holding is well beyond routine noise. A rejection event — the state flipping or collapsing back to Fight — suggests the prior control has been compromised.
This is a contextual reading tool. It does not produce entries, exits, targets, or stops, and should not be read as a recommendation to transact.
### Limitations & Transparency
The midline reflects past price data only and will adapt as new highs or lows enter the rolling window. On illiquid or very low-timeframe charts, the streak-based acceptance logic can feel slow; increasing Acceptance Bars on noisier instruments or lowering it on cleaner ones is expected tuning. The Strong Threshold is volatility-relative via ATR but still an arbitrary cut — defaults are calibrated for typical liquid markets and may need adjustment for thinly traded symbols.
The script uses confirmed closes and does not alter historical state once a bar has closed. Intrabar, the displayed state can update in line with current price, as with any live indicator.
### Risk Disclosure
This indicator is an analytical study. It is not a strategy, not a signal service, and not financial advice. It does not forecast future prices and does not guarantee any outcome. Past behavior of price around the midline does not imply future behavior. Every trading decision is the sole responsibility of the user. Use appropriate risk management and test the tool in a non-committed environment before incorporating it into any workflow. Indicator

Adaptive Volume Concentration Levels + Volume-Price Shift BoxDescription
Adaptive Volume Concentration Levels + Volume-Price Shift Box combines two powerful market analysis concepts into one streamlined tool: adaptive volume-based support and resistance mapping, and a real-time volume-price flow dashboard.
The script identifies the most meaningful price zones based on where volume has concentrated over a chosen lookback range, helping highlight areas where the market has shown strong interest. At the same time, it displays a compact shift box that evaluates price, volume, VWAP, OBV, A/D behavior, and momentum to estimate whether market pressure is currently bullish, bearish, or neutral.
This makes the script useful for traders who want both structural levels and contextual order-flow style bias in a single indicator.
How It Works
The script has two main components:
-Adaptive Volume Concentration Levels
It scans historical price action over a customizable lookback period.
Price is divided into bins, and volume is accumulated into those bins.
The script then selects the highest-volume zones and converts them into horizontal support/resistance levels.
A higher timeframe option and smoothing feature can be used to reduce noise and reveal more stable levels.
Levels can be displayed with custom colors, line styles, transparency, and optional percentage labels.
- Volume-Price Shift Box
The dashboard evaluates several internal conditions:
VWAP trend and price distance from VWAP
OBV trend and OBV acceleration
A/D line trend
Relative volume versus average volume
Price momentum
Weighted bullish and bearish scores are calculated from these components.
The final shift score determines whether the current state is:
Bullish
Bearish
Neutral
The box then displays key readings such as shift strength, volume vs average, VWAP distance, shift duration, and OBV state.
Key Features
Adaptive volume-based support and resistance detection
Dual SR logic for identifying important high-volume price zones
Optional higher timeframe processing for cleaner structure
Price smoothing to reduce noise in level calculation
Customizable level count, bin density, transparency, labels, and styling
Real-time shift box with bullish, bearish, or neutral bias
Weighted scoring model using VWAP, OBV, A/D, volume, and momentum
Shift strength readout for quick bias confirmation
Shift duration tracking to show how long the current condition has persisted
Clean visual layout that combines structure and flow into one script
How to Use
Start by applying the indicator to your chart and adjusting the level settings based on your trading style.
For the volume concentration levels:
Increase the lookback if you want broader, more established levels.
Increase the number of bins for finer price granularity.
Use the minimum volume filter to remove weaker levels.
Turn on the higher timeframe option if you want more stable zones from a broader market perspective.
For the shift box:
Use the default settings first, then adjust sensitivity and component weights to better match your market and timeframe.
Watch for bullish or bearish shifts when price approaches one of the plotted volume levels.
Use the strength reading to judge whether the bias is weak or decisive.
Monitor duration to see whether the current directional pressure is fresh or extended.
A practical workflow is:
Use the horizontal levels as reaction zones
Use the box to judge whether current pressure supports continuation or rejection from those zones
Combine both with your existing entry and risk management rules
How It Helps
How It Helps
This script helps simplify decision-making by combining where price is likely to react with how price and volume are behaving right now.
The volume concentration levels help traders identify:
likely support and resistance
potential reaction zones
areas of prior market agreement or interest
The shift box helps traders evaluate:
whether buyers or sellers currently have control
whether momentum and volume are aligned
whether market pressure is strengthening or fading
Used together, the tool can help with:
trade location
directional confirmation
filtering weak setups
improving timing around important price zones
It is especially useful for traders who want a clearer view of both market structure and current flow conditions without cluttering the chart with multiple separate indicators.
Disclaimer
This indicator is provided for informational and educational purposes only. It does not constitute financial advice, investment advice, trading recommendations, or an offer or solicitation to buy or sell any financial instrument.
All indicator outputs, classifications (including bullish, bearish, or neutral states), and visual elements are derived from historical market data using user-defined parameters. These outputs are interpretive in nature and do not predict future market performance or guarantee any specific result.
Trading financial instruments involves substantial risk, including the risk of loss exceeding initial capital. Market conditions may change rapidly due to factors outside the scope of this indicator, including but not limited to economic events, news releases, liquidity conditions, execution quality, and slippage.
The developer assumes no responsibility or liability for any trading decisions, losses, or damages arising directly or indirectly from the use of this indicator. Users are solely responsible for evaluating the suitability of this tool for their own trading objectives, risk tolerance, and market conditions.
Past performance, indicator behavior, or historical alignment of signals does not guarantee future results. Use of this indicator constitutes acceptance of these terms.
Indicator

AG Pro Daily Open Acceptance Map [AGPro Series]AG PRO DAILY OPEN ACCEPTANCE MAP
OVERVIEW
AG Pro Daily Open Acceptance Map is an intraday overlay built to track how price behaves around the current daily open and to present that behavior in a clean, rules-based structure. Instead of treating the daily open as a passive reference line, this script evaluates whether price is being accepted above it, accepted below it, or repeatedly failing around it.
The core design goal is clarity. Many traders use the daily open as a contextual anchor, but in practice it is often shown as only a simple line with no structured interpretation. This script is designed to go one step further by turning that level into a mapped decision framework. The result is a chart that helps users read whether the market is holding one side of the daily open with acceptance, drifting into indecision, or failing to maintain directional control.
This tool is intentionally narrow in scope. It is not built as a full market structure engine, a session model, a prior high/low dashboard, a VWAP tool, or a moving average framework. Its role is much more specific: to organize the behavior of price around the daily open and to express that behavior through a compact state model, visual reference lines, and confirmed state transitions.
Because the daily open resets every trading day, the script also produces a recurring intraday reference that can be reused across many symbols and market conditions. This makes it useful for users who prefer repeatable visual anchors instead of highly discretionary chart interpretation.
WHAT IT DOES
This script identifies the current daily open and treats it as the primary intraday reference level. From there, it evaluates whether price is holding above the level, holding below the level, or still testing the area without confirmation. It also tracks the first reclaim event when enabled, allowing users to see whether the market has recovered one side of the level after losing it earlier in the day.
The overlay is structured so the current daily open remains the main visual anchor, while the previous daily open can be shown as a lighter secondary context level. Acceptance areas and state mapping are kept as supporting elements rather than replacing the open itself. This keeps the chart readable while still preserving a visual record of how the market behaved around the level throughout the session.
In practical terms, the script helps answer a simple but important question: is price truly holding one side of the daily open, or is it only rotating around it without meaningful acceptance?
HOW THIS DIFFERS FROM OTHER AG PRO TOOLS
This script is intentionally separated from the logic families used in other AG Pro tools.
It does not rely on VWAP behavior.
It does not build decisions from EMA or moving average relationships.
It does not classify price by prior day or prior week high/low structures.
It does not depend on sweep, stop hunt, liquidity trap, or session-kill-zone logic.
It does not function as a structure label, breakout, or order-flow style engine.
The purpose here is much more focused. AG Pro Daily Open Acceptance Map is a daily-open behavior tool. Its main question is not whether a breakout happened, whether liquidity was taken, or whether a trend indicator flipped. Its main question is whether the market is accepting or rejecting one side of the current daily open.
That narrow positioning is deliberate. It helps keep the chart logic cleaner, the visual language simpler, and the use case easier to understand.
UNIQUE EDGE
The unique edge of this script is not the presence of a daily open line by itself. Many tools can plot a daily open. The distinctive part of this indicator is the state framework built around that line.
Instead of only drawing the level, the script evaluates market behavior around it and converts that into a practical overlay language. The chart can therefore communicate whether the market is in bullish acceptance, bearish acceptance, or unresolved testing, rather than forcing the user to interpret every interaction manually.
The script also separates the current daily open from the previous daily open in a clear visual hierarchy. The current open is treated as the primary live anchor, while the previous open is optional secondary context. This helps users compare the active intraday reference against the prior session without turning the chart into a multi-level dashboard.
Another advantage is that the visual model remains compact. The script is designed to offer information density without becoming visually noisy, which is especially important on publish screenshots and on charts where traders prefer a clean price-first layout.
METHODOLOGY
The script starts by identifying the current daily open and, when enabled, the previous daily open. The current daily open becomes the main reference for all live state calculations.
From there, the script measures whether price is sustaining closes above the level, sustaining closes below the level, or remaining in a testing state around the level. The filter mode can be adjusted to make the interpretation more responsive or more selective. In more permissive settings, state shifts can appear earlier. In stricter settings, price generally needs cleaner confirmation before a state is recognized.
When reclaim logic is enabled, the script also monitors whether one side of the daily open is recovered after being lost earlier in the day. This is not treated as a separate prediction model. It is simply an additional contextual event that can help users understand whether the market is recovering control around the open after temporary failure.
The acceptance area, open zone, and state ribbon are visual support layers. They are not intended to replace price or overwhelm the chart. Their purpose is to make the interpretation easier to read while keeping the current daily open as the main anchor.
SIGNALS AND ALERTS
The script supports confirmed-bar style logic so that state changes can be tracked in a more stable way. Depending on the enabled settings, users can monitor:
Bullish acceptance conditions
Bearish acceptance conditions
Testing or unresolved behavior around the daily open
First reclaim context when enabled
General state transitions when the market changes side or loses control
These alerts and visual states are intended for chart organization and condition awareness. They should not be interpreted as guaranteed trade outcomes, guaranteed continuation signals, or automated execution instructions.
KEY INPUTS
FILTER MODE
Users can switch between stricter and more responsive behavior depending on how selective they want the state model to be.
HOLD / CONFIRMATION SETTINGS
These controls affect how much sustained price behavior is required before the script recognizes an accepted state.
TOLERANCE AND OPEN ZONE SETTINGS
These help define how tightly or loosely the script interprets price behavior around the daily open area.
FIRST RECLAIM SETTINGS
These controls determine whether reclaim events are tracked as part of the daily open behavior model.
DISPLAY SETTINGS
Users can control whether the current daily open, previous daily open, acceptance area, ribbon, labels, and panel elements are shown.
VISUAL SIZE SETTINGS
Panel and label sizing can be adjusted depending on symbol volatility, screen resolution, and chart density preferences.
LIMITATIONS AND TRANSPARENCY
This script is not a forecasting engine. It does not predict where price must go next. It evaluates how price is behaving relative to the current daily open and displays that information in a structured way.
It is also not a substitute for complete market analysis. It does not include broader trend context, liquidity analysis, volume profile logic, macro structure interpretation, news impact, or instrument-specific catalysts unless the user applies those separately.
Different symbols and timeframes can also produce different daily open behavior. In some instruments the daily open may act as a very strong intraday reference, while in others price may rotate around it more loosely. Because of that, the script should be interpreted as a contextual decision aid rather than a universal standalone solution.
The previous daily open is included only as optional secondary context. It does not drive the main state model. The main live logic is built around the current daily open.
RISK DISCLOSURE
This script is provided for market analysis, chart organization, and educational use. It does not provide financial advice, investment advice, or guaranteed trade signals. No indicator can remove market risk, and no visual state model can ensure a profitable result.
Traders should use their own judgment, position sizing rules, and risk management process before making any decision. This tool can help structure chart interpretation, but execution responsibility always remains with the user.
Indicator

EAB: Multi-Timeframe Moving AveragesEAB: Multi-Timeframe Moving Averages is a clean and customizable indicator designed to display key moving averages across multiple timeframes in a single chart.
It allows traders to visualize short, medium, and long-term trends using a consistent and structured framework, aligned with a professional trading workflow.
Features
Multi-timeframe support: Intraday, Daily, Weekly and Monthly
Fully customizable moving averages (type, length, source, color and visibility)
Label system displayed directly on the chart (e.g., EMA 10, MA 50)
Optional moving average cloud between key averages
Weekly moving average overlay on the daily chart for higher timeframe context
How to use
Enable or disable moving averages from each timeframe section.
Configure type (EMA, SMA, etc.) and length according to your strategy.
Use EMA 10 and EMA 20 for short-term trend direction.
Use MA 50 and MA 200 for structure and key support/resistance levels.
Combine multiple timeframes to confirm trend alignment.
Notes
Labels are displayed only on the last visible bar to keep the chart clean.
Each timeframe can be configured independently.
Moving average clouds can be enabled or disabled for better visual clarity. Indicator

Indicator

AG Pro Equal High / Equal Low Sweep Engine [AGPro Series]AG Pro Equal High / Equal Low Sweep Engine
Overview / What it does
AG Pro Equal High / Equal Low Sweep Engine is a price-action overlay designed to detect equal highs (EQH) and equal lows (EQL), track the liquidity pools that form around those levels, and highlight sweep events when price briefly trades through them and then closes back with confirmation. The script focuses on one specific market behavior: clustered highs and lows that tend to attract liquidity, followed by rejection-style sweeps that can mark failed continuation attempts, trap conditions, or local reaction points.
Instead of treating every wick through a prior level as equally important, the script separates untouched pools from already swept pools, applies a configurable tolerance model for defining EQH/EQL structures, and adds close-based confirmation logic so users can filter out weaker events. Short liquidity lines, band-style zones, trap labels, and a compact summary panel are used to keep the information visible without turning the chart into a large box-based map.
This tool is built for traders who want a structured view of repeated highs/lows and the liquidity behavior around them. It is not intended to label every possible swing event on the chart. Its purpose is narrower and more deliberate: identify equal-high / equal-low liquidity pools, monitor whether they remain intact or get swept, and display the sweep in a visually organized way.
Unique Edge
The main distinction of this script is that it does not attempt to map all forms of stop runs or all types of liquidity events. It concentrates specifically on EQH/EQL liquidity pools and the sweep lifecycle around those pools. That narrower scope allows the chart objects to remain more readable while still showing useful structure.
The script also distinguishes between untouched and swept states. This matters because a fresh liquidity pool and a previously swept pool do not represent the same chart condition. Untouched pools can still act as active draw-on-liquidity zones, while swept pools become part of recent context and may be interpreted differently depending on the user's framework.
A second differentiator is the combination of equal-pool detection, close confirmation, and optional quality scoring. Equal highs and equal lows are first identified using pivot logic and a user-defined tolerance percentage. Then, when price trades through the pool, the script can require either any wick, a reclaim close, or a stronger rejection close before confirming the sweep. An optional quality bonus can further weight events when relative volume and rejection characteristics are more supportive.
The visual model is also intentionally selective. Instead of using large generalized rectangles across the whole chart, the script uses shorter liquidity lines and band zones tied directly to the detected pool. This keeps the visuals anchored to the detected structure rather than creating broad areas that may overstate precision.
Methodology
1) Equal High / Equal Low Detection
The script uses pivot highs and pivot lows to build candidate swing points. When two highs or two lows form within the user-defined tolerance threshold and within the required bar spacing, they are treated as an equal-high or equal-low liquidity pool. Multiple nearby pools can optionally be merged into a cleaner combined structure.
2) Liquidity Pool Lifecycle
Once a pool is created, it is tracked as active until one of two things happens: it is swept by price, or it expires after its configured lifetime. The script maintains state so pools can be shown as untouched, swept, or removed when they are no longer relevant.
3) Sweep Confirmation
A sweep is not limited to price piercing the level. The script can require:
- Any Wick: any trade-through qualifies.
- Reclaim Close: price must close back through the level after the sweep.
- Strong Rejection: a stricter close-position filter is applied.
This helps users decide how sensitive or selective they want the engine to be.
4) Quality Logic
When enabled, the script calculates a quality score using rejection characteristics, close position, relative volume behavior, pool freshness, and pivot clustering. This is not a predictive score or a probability model. It is a contextual ranking layer intended to help compare sweeps on the same chart.
5) Visual Presentation
The script can draw:
- short horizontal liquidity lines
- band-style EQH/EQL zones
- optional reaction boxes after selected sweeps
- trap labels on confirmed events
- a summary panel showing current pool and sweep status
Signals & Alerts
The script includes alert conditions for:
- new EQH pool detected
- new EQL pool detected
- EQH sweep confirmed
- EQL sweep confirmed
- any sweep confirmed
These alerts are event-based and depend on the current settings used for confirmation and filtering. If stricter filters are selected, the number of confirmed events will naturally decrease.
Key Inputs
Pivot Strength
Controls how swing highs and lows are confirmed. Higher values usually produce fewer, more structurally significant pools.
EQH / EQL Tolerance %
Defines how close two highs or lows must be to qualify as equal. Lower values make the script stricter. Higher values allow broader matching.
Min / Max Bars Between Pivots
Controls the acceptable spacing between the two pivots that define a pool.
Sweep Close Filter
Lets the user choose between wick-only behavior and more selective reclaim/rejection confirmation.
Quality Bonus
Adds an optional scoring bonus when the sweep also shows stronger contextual characteristics.
Liquidity Line / Zone Length
Controls how far the liquidity structures extend on the chart.
Panel and Visual Settings
Allow the user to tune panel position, label size, color theme, and display density for different chart styles and timeframes.
Limitations & Transparency
This script identifies equal highs and equal lows using pivot-based rules and a configurable tolerance model. Because of that, results depend on the chosen settings, the symbol, the timeframe, and the chart's volatility profile.
A confirmed sweep should not be interpreted as a guaranteed reversal or a complete trade setup by itself. In some market conditions, price can sweep a pool and continue in the same direction. In other conditions, a sweep may mark only a short-lived reaction. The script highlights structural events; it does not forecast outcome.
The quality score is a contextual ranking aid, not a performance promise, win-rate estimate, or statistical edge claim. Different users may prefer different thresholds depending on market regime and execution model.
Band zones and reaction areas are visual approximations derived from the detected pool and post-sweep behavior. They are designed to improve chart readability, not to define exact institutional order blocks or guaranteed execution zones.
Risk Disclosure
This script is an analytical charting tool for studying equal-high / equal-low liquidity behavior and sweep confirmation. It does not provide financial advice, investment advice, or trade recommendations. All trading decisions remain the user's responsibility.
Like any technical tool, it should be used with broader market context, risk management, and independent judgment. No indicator can eliminate uncertainty, and past chart behavior does not guarantee future results.
Indicator

AG Pro Liquidity Heatmap [AGPro Series]AG Pro Liquidity Heatmap
Overview / What it does
AG Pro Liquidity Heatmap is a visual liquidity-mapping tool designed to project areas where resting stop interest is more likely to be concentrated. Instead of focusing on a single pattern or a one-bar signal, this script builds a forward-looking heatmap from clustered pivot behavior and displays that information as persistent horizontal liquidity bands on the chart.
The core idea is simple: repeated reactions around similar price levels often create zones where traders place stops, breakout orders, or defensive exits. When those levels begin to cluster, they can become structurally important. This script converts that clustering behavior into a heat score and renders it as layered Fire / Ice bands so traders can quickly identify where liquidity concentration may be building above or below current price.
The script is not built as a prediction engine, and it does not attempt to claim where price must go next. Its purpose is to help traders organize the chart, monitor the nearest active liquidity bands, and understand which nearby levels appear more saturated, more persistent, or already mitigated. In that sense, it is best used as a market-structure context tool rather than as a standalone entry model.
This script is also intentionally different from traditional support/resistance overlays, breakout detectors, and liquidity sweep labels. It does not merely mark recent highs and lows. It clusters pivot-derived levels, weights them into a dynamic heat score, extends them cleanly to the right side of the chart, and then updates or extinguishes them as price interacts with those zones.
Unique Edge
The unique edge of this script is that it treats liquidity as a developing field rather than a static line. A normal horizontal level script may show one prior high or one prior low. AG Pro Liquidity Heatmap instead tracks repeated pivot concentration, merges nearby levels into composite zones, scores those zones, and then visualizes the result as a layered heat structure.
A second differentiator is the lifecycle logic. Once a band has been interacted with, the script does not leave every level unchanged forever. Depending on the selected behavior, a zone can fade or be removed after liquidity is taken. This helps reduce visual clutter and keeps the chart focused on currently relevant liquidity structures rather than a permanently accumulating archive of old levels.
A third differentiator is presentation. The script is designed to produce a clean forward projection area with right-extending heat bands, readable labels, Fire / Ice theme control, a functional heatmap panel, and an optional EQ Magnet line that tracks the balance area between the nearest active upper and lower liquidity bands. The goal is not only analytical clarity, but also a chart layout that remains readable during live use.
Methodology
1) Pivot detection
The script first identifies pivot highs and pivot lows using user-defined left and right pivot lengths. These pivots are treated as candidate liquidity reference points.
2) Cluster merging
If a new pivot forms close enough to an existing level, based on an ATR-driven merge distance, the script merges that information into the existing zone rather than creating unnecessary duplication. This allows nearby pivots to accumulate into a stronger composite band.
3) Heat scoring
Each zone receives a heat score. Repeated clustering increases that score. When volume weighting is enabled, pivots formed with relatively stronger volume can contribute more heavily to the final score. This does not reveal actual order book liquidity, but it can provide a useful proxy for where market attention and stop concentration may be stronger.
4) Layered rendering
Each active zone is rendered as a multi-layer horizontal band. The band thickness and saturation scale with heat score, which makes stronger zones visually heavier than weaker ones. This helps the chart communicate intensity without requiring the user to read every value manually.
5) Liquidity lifecycle
When price reaches a zone, the script can either fade it or remove it depending on the selected extinguish mode. Optional mitigation tracking can leave a visual reminder of where liquidity was taken. This behavior is important because it keeps the heatmap adaptive rather than static.
6) Balance tracking
When both upper and lower active liquidity bands are available, the script can display an EQ Magnet line between the nearest bands. This is not a target call. It is a contextual balance reference that can help visualize the midpoint of the currently nearest active liquidity field.
States & Visual Elements
- Fire bands represent upper liquidity concentration derived from pivot highs.
- Ice bands represent lower liquidity concentration derived from pivot lows.
- Stronger zones become visually denser and more prominent as heat score rises.
- Zone labels display side, heat score, and price information in either compact or detailed mode.
- The Heatmap Panel summarizes active band count, nearest zones, strongest zones, heat balance, last sweep information, and the current extinguish behavior.
- The EQ Magnet line highlights the midpoint between the nearest active upper and lower bands when enabled.
- Optional mitigation tracks can remain on the chart after liquidity is taken.
How to use it
This script is generally most useful as a context layer.
Many traders may choose to use it in one of three ways:
- to map where price may interact with nearby liquidity concentration,
- to judge whether the closest active field is above or below current price,
- to avoid taking impulsive decisions directly into dense opposing liquidity.
The script can also be useful for chart organization. Traders who already use trend tools, structure tools, or trigger models may use the heatmap as a location filter. For example, a setup forming directly into a strong opposing liquidity band may deserve more caution than a setup developing in cleaner space.
Key Inputs
Pivot Left / Right Bars
Controls how pivots are detected. Smaller values can produce more frequent zones; larger values can make the structure more selective.
Cluster Merge Distance (ATR)
Defines how close pivots must be to merge into the same liquidity band. Lower values keep zones more separated; higher values create broader clustering.
Volume-Weighted Mode
Allows higher-volume pivots to contribute more strongly to heat score. This is a proxy weighting mechanism, not direct order-flow confirmation.
Minimum Heat Score To Show
Filters out weaker zones from the visual display.
Visual Saturation Score
Controls how quickly the visual intensity reaches its maximum appearance.
Base Band Height and Horizontal Band Density
Shape the visual footprint of each zone and determine how rich or minimal the rendered band structure appears.
Label controls
Allow the user to choose label mode, font size, theme, label offsets, and label density.
Panel controls
Allow the user to change panel visibility, location, theme, and font size.
Liquidity Taken Behavior
Determines whether mitigated zones fade or are removed.
Limitations & Transparency
This script does not access order book data, exchange liquidation feeds, or hidden liquidity information. The displayed heatmap is derived from chart-based pivot clustering and optional volume weighting. For that reason, the bands should be understood as technical liquidity proxies rather than direct measurements of real resting orders.
The heat score is also relative to the script's own internal logic. It is a ranking mechanism inside this model, not an absolute market-wide score. A higher score means a zone has accumulated more structural weight within the selected settings; it does not guarantee a reaction.
Like any chart tool based on pivots, the behavior of the script depends on the chosen timeframe, the selected sensitivity inputs, and the structure of the instrument being analyzed. Lower timeframes can create more noise, while higher timeframes can produce fewer but broader zones.
The EQ Magnet line is a contextual midpoint reference only. It should not be interpreted as a fixed target, a required destination, or a directional forecast.
Risk Disclosure
This script is a visual analysis tool for chart study and trade planning. It is not financial advice, not an execution system, and not a promise of future price behavior. Liquidity zones can fail, be overrun, or be ignored by price entirely.
No indicator should be used in isolation. Traders should consider market structure, volatility, risk management, execution quality, and their own process before making trading decisions. Always test settings carefully and use position sizing appropriate to your own risk tolerance.
Indicator

AG Pro PDH PDL PWH PWL Engine [AGPro Series]AG Pro PDH PDL PWH PWL Engine
Overview / What it does
AG Pro PDH PDL PWH PWL Engine is a price-reference overlay built to track prior day, prior week, and prior month high / low levels in a clean and structured way. The script can display PDH, PDL, PWH, PWL, and optionally PMH / PML, together with midpoint equilibrium levels for the selected ranges.
The main purpose of the script is not to predict direction, generate guaranteed entries, or replace a complete trading plan. Its role is narrower and more practical: it helps traders keep important prior-period reference levels visible on the chart, distinguish which levels remain active, and identify which ones have already been traded through. In many markets, prior highs and lows are widely monitored as liquidity, reaction, and reference areas. This script organizes those areas into a format that is easier to read in live conditions.
A core design goal of this tool is chart hygiene. Many prior-level indicators become visually noisy when several daily, weekly, and monthly references are drawn together. This script was designed to keep the structure readable by using a minimal label system, right-extended lines, a swept / unswept state model, and an optional dashboard that summarizes the nearest active daily, weekly, and monthly levels.
The result is a workflow-oriented overlay that helps with context. Instead of forcing interpretation through aggressive signals, it presents a structured map of where important prior-period levels are located, whether they are still untouched, and whether current price is approaching one of them. That makes it suitable for traders who want an objective level engine rather than a directional prediction tool.
Unique Edge
The script focuses on presentation quality and state clarity rather than simple level plotting. Prior highs and lows are not rare concepts, but the practical usefulness of such levels depends heavily on how they are filtered, displayed, and maintained on the chart. This script aims to improve that usability in several ways.
First, it separates active levels from swept levels. This matters because a previously untouched level and a level that has already been traded through do not carry the same contextual value for many traders. By visually differentiating unswept and swept references, the overlay can help reduce ambiguity when reviewing current structure.
Second, it combines multi-period references in one coherent engine. Daily, weekly, and optional monthly levels can all be displayed together, while preserving a relatively clean visual hierarchy. This is particularly useful for traders who want to see whether current price is interacting with short-term references inside larger higher-timeframe ranges.
Third, it includes proximity logic. The script can highlight levels when price is near them using a threshold defined in ticks, percentage, or ATR terms. This does not imply a trade signal by itself. Instead, it acts as a situational awareness feature that helps traders notice when price is entering a predefined level zone.
Fourth, the script offers session and timezone controls. That allows the user to adapt the level-building logic to the exchange clock or to a chosen session definition. For traders who care about session-based construction and consistency across instruments, this can be an important operational detail.
Finally, the panel is designed as a compact summary rather than a decorative feature. It reports the nearest active daily, weekly, and monthly references, shows counts for active and swept levels, and keeps session / timezone / label mode settings visible. The goal is to reduce chart scanning time and make the script easier to use during live analysis.
Methodology
The engine tracks highs and lows from completed prior periods and then projects those values forward as reference lines. Depending on the enabled settings, it can build:
- Previous Day High and Previous Day Low
- Previous Week High and Previous Week Low
- Previous Month High and Previous Month Low
- Optional equilibrium midpoints for each enabled range
Each level is created only after the relevant source period is completed. In that sense, the level itself is based on completed historical range data. Once created, the line is monitored for its state. If price trades through a high reference or a low reference, the script marks that level as swept and changes its visual treatment accordingly.
The script also maintains historical periods up to the number defined in the settings. This makes it possible to preserve a limited amount of recent structure without keeping an unlimited number of stale objects on the chart.
The equilibrium option adds the midpoint of the corresponding prior range. Some traders use these 50% areas as balance references or as secondary context between the prior high and low. Because that midpoint is optional, the user can keep it visible when needed or disable it for a cleaner chart.
The proximity engine measures how close current price is to an active level using one of three methods:
- Tick distance
- Percentage distance
- ATR-based distance
This feature is meant to flag nearness, not to define trade quality on its own. A prior level being near price does not automatically make the setup actionable. It only states that price is close to a tracked reference according to the selected threshold logic.
States / Signals / Alerts
This script is primarily a level-state and context tool. It is not a directional forecasting model. Its most important outputs are state-based:
1) Active level
A level is considered active when it has been created from a completed prior period and has not yet been traded through by price.
2) Swept level
A level is considered swept when price trades through that reference. Visually separating swept levels from active ones helps the chart communicate which prior references remain untouched.
3) Near-level condition
When enabled, the script can highlight active levels that are close to current price according to the user-defined threshold method. This can help traders focus attention on nearby reference zones without scanning the entire chart manually.
4) Compact dashboard state
The panel summarizes the nearest active daily, weekly, and monthly levels, along with active count, swept count, near count, selected timezone, session configuration, and label mode.
The included alert conditions are intentionally simple and state-based:
- Price is near one of the active levels
- At least one tracked level was swept on the current bar
These alerts are meant to support monitoring. They are not, by themselves, a complete trading trigger. Users should interpret them together with structure, volatility, session context, confirmation rules, and their own risk process.
Why this script can be useful
This script can be useful because prior highs and lows often matter most when they are easy to monitor and hard to misread. In practice, traders do not only need the raw numbers; they need a chart presentation that allows those numbers to remain readable during fast market conditions.
A clean prior-level map can help in several common situations:
- Evaluating whether price is approaching an untouched daily or weekly reference
- Checking whether a local move is happening inside a larger higher-timeframe level framework
- Distinguishing still-relevant references from already-tested ones
- Monitoring potential reaction zones without crowding the chart with excessive objects
- Organizing reference structure across intraday and swing workflows
The script is also designed to remain practical over time. Instead of drawing everything with equal visual importance, it uses state logic and summary logic to keep the display more structured. That can make the tool easier to integrate into a routine where prior-period references are part of the trader's contextual process.
Another useful aspect is that the script stays objective. It does not attempt to label every market move with a strong opinion. It shows completed prior-period levels, their current state, and whether price is approaching them. Many traders prefer this kind of neutral reference framework because it can be combined with other methodologies without forcing one interpretation.
Key Inputs
Timezone
The script can use the exchange timezone or a selected timezone. This affects how period transitions are interpreted.
Use Custom Session Filter
When enabled, highs and lows are built only from bars inside the selected session. This allows the user to adapt the range construction to a chosen session framework.
Session
Defines the custom session window when session filtering is enabled.
Show Previous Day / Week / Month Levels
Each group can be enabled or disabled independently so the user can decide how much structure to display.
Show Equilibrium Midpoints
Adds the 50% midpoint of each enabled prior range.
Historical Periods to Keep
Controls how many past periods remain visible on the chart for each enabled level family.
Proximity Threshold Type
Lets the user define nearness by ticks, percentage, or ATR.
Threshold Value / ATR Length
Controls the sensitivity of the proximity logic.
Highlight Levels When Near
Allows visual emphasis when price approaches an active level.
Line Style and Extension Settings
Controls the appearance of unswept and swept lines and whether active lines extend to the right.
Minimal Label Mode
Allows labels to be turned off, restricted, or shown for active levels, depending on the user's preferred chart cleanliness.
Panel Controls
The dashboard can be enabled or disabled and its size, position, and colors can be adjusted.
Example use cases
This script can be used in different ways depending on the trader's workflow.
Intraday context mapping:
A trader may monitor PDH and PDL together with PWH and PWL to understand whether intraday price is moving into untouched daily liquidity while still operating inside a broader weekly range.
Reaction-zone awareness:
A trader may use near-level highlighting to notice when price is approaching an unswept prior high or prior low and then look for separate confirmation with their own method.
Structure filtering:
A trader may ignore swept references and focus mainly on active levels that remain intact, especially when trying to simplify the chart during live sessions.
Session-based reference building:
A trader who prefers a specific session logic can use the session filter so the constructed ranges better match their market framework.
Dashboard monitoring:
A trader may use the panel as a quick situational summary to identify which daily, weekly, or monthly reference is closest without manually reading every line.
Limitations & Transparency
This script does not know why price interacts with a level. It only identifies prior-period references and tracks whether they are active, near, or swept according to the rules defined in the code.
A prior level is not automatically support or resistance in every market condition. Some reactions are meaningful, some are shallow, and some levels are passed through with little response. For that reason, the script should be treated as a structured reference map rather than a self-sufficient trade decision engine.
The near-level logic depends on user-defined thresholds. Different threshold types and values can materially change how often levels are classified as near. Traders should calibrate these settings according to instrument volatility and their own workflow.
Session and timezone choices also matter. The same market can produce different prior-period values depending on how the session is defined. Users should select settings that match the way they analyze the instrument.
Historical object limits, chart timeframe, and chart compression can influence how dense the display appears. A setting that looks clean on one instrument or timeframe may feel crowded on another. The script provides controls to manage that, but users should still adapt it to their own use case.
The midpoint equilibrium lines are optional because not every trader uses 50% references the same way. Their inclusion does not imply that the midpoint has universal predictive value. It is simply provided as an additional structural reference.
This script is intentionally conservative in what it claims. It does not claim to detect institutional intent, hidden order flow, or guaranteed reversals. It displays prior completed reference levels and their current state on the chart.
Risk Disclosure
This script is for chart analysis and educational use. It does not provide financial advice, investment advice, or trade recommendations.
Prior-period highs, lows, and midpoint references can be useful market context, but they are not guarantees of reaction, reversal, continuation, or liquidity behavior. Market conditions can change quickly, and price can move through any level without producing a tradable setup.
Users should combine this tool with their own confirmation process, execution rules, position sizing framework, and risk management. No indicator should be used as the sole basis for entering or exiting a trade.
Before using any chart tool in live markets, it is important to understand how its settings affect output, how it behaves on the instrument being traded, and how it fits into a broader decision process.
AG Pro PDH PDL PWH PWL Engine is designed to help organize prior-period level information in a cleaner and more operational format. Its value comes from clarity, state tracking, and context support, not from predictive certainty.
Indicator

AG Pro Auto Supply & Demand Zones [AGPro Series]AG Pro Auto Supply & Demand Zones
Overview / What it does
AG Pro Auto Supply & Demand Zones is an overlay that automatically detects supply and demand areas by combining compact base structures with directional displacement. The script is designed to help traders track where price left an area with enough urgency to justify keeping that zone on the chart for future reference, while also showing how that zone evolves over time.
Instead of plotting every possible reaction area, the script applies a structured lifecycle model. A newly created zone begins as Fresh, can transition to Tested after a qualifying retest, and can later become Expired when it no longer meets the active criteria selected by the user. This state-based approach makes the chart easier to interpret because zones are not treated as static drawings. They are continuously re-evaluated as price interacts with them.
The script also distinguishes between proximal and distal boundaries so users can see both the near edge and the full depth of each zone. A built-in active-zone limit helps keep the chart under control, and older zones gradually fade through time-based opacity reduction. This allows recent and decision-relevant areas to remain visually stronger while historical context becomes lighter.
A light higher-timeframe overlay is included for users who want broader context without turning the chart into a dense multi-timeframe map. The goal is not to overwhelm the screen with background structure, but to add a subtle layer of alignment when higher-timeframe supply or demand remains relevant to the current price area.
Unique Edge
The distinctive feature of this script is that it does not stop at zone creation. It manages the full visual and logical lifecycle of a zone. Fresh, Tested, and Expired states are tracked in an explicit way, which makes the output more practical than a simple box-drawing tool.
A second differentiator is the same-side merge logic. When a newly detected zone forms too close to an existing zone on the same side, the script can refresh or merge that area instead of stacking nearly identical layers on top of one another. This helps reduce redundancy and produces a cleaner, more readable structure map.
Another important edge is the visibility architecture. Users can choose between All, Balanced Focus, and Smart Focus modes. This allows the chart to stay informative without becoming overloaded. Nearest active zones can be emphasized, distant context can be softened, and labels can be kept minimal, balanced, or fully expanded depending on the preferred workflow.
Methodology
The script uses a base-plus-displacement framework.
1. Base detection
A candidate zone begins with a compact base cluster. The script evaluates the total base range relative to ATR and can also apply a clean-wick filter so that noisy or overly volatile bases are filtered out.
2. Displacement confirmation
After the base, the script looks for directional expansion. The displacement candle must satisfy body-size conditions relative to ATR and must close with sufficient directional conviction. This is intended to avoid weak breaks that do not clearly separate from the base.
3. Zone construction
For demand zones, the script builds the area using the base body high as the proximal reference and the base low as the distal boundary. For supply zones, it uses the base body low as the proximal reference and the base high as the distal boundary. This gives the user both the near decision line and the full zone range.
4. Lifecycle tracking
A zone is initially Fresh. Once price revisits it under the selected confirmation mode, it can become Tested. If retests exceed the permitted limit, or if the user enables distal close-break invalidation, the zone can transition to Expired.
5. Zone maintenance
The script can merge overlapping same-side zones, cap the total number of active zones, reduce opacity as zones age, and selectively hide distant context based on the selected visibility profile.
6. Light higher-timeframe context
When enabled, the script projects a restrained higher-timeframe supply and demand layer onto the current chart. This is intended as context, not as a replacement for the active zones detected on the chart timeframe.
Signals & Alerts
This script includes alert support for key state events:
- New Demand Zone
- New Supply Zone
- Fresh Demand Touched
- Fresh Supply Touched
- Demand Zone Expired
- Supply Zone Expired
These alerts are designed to follow the script's zone-state logic rather than subjective interpretation. Users can enable or disable zone-creation alerts, fresh-touch alerts, and expiration alerts independently.
Key Inputs
Detection
Base Bars controls how many candles are used to form the base.
Base Range ATR Factor defines how compact the base must remain relative to ATR.
Max Single Base Candle ATR Factor limits oversized candles inside the base.
Displacement Body ATR Factor controls the minimum strength required for displacement.
Displacement Close Location checks whether the displacement candle closes with directional commitment.
Use Clean Base Wick Filter helps reduce noisy base formations.
Zone Management
Merge Nearby Same-Side Zones helps avoid repeated stacking of almost identical zones.
Minimum Same-Side Separation ATR defines how close a new zone can be to an existing same-side zone before merge logic becomes relevant.
Minimum Zone Overlap Ratio requires stronger overlap before two nearby zones are treated as one structure.
Lifecycle
Max Active Zones limits how many active zones remain on the chart.
Max Tests Before Expire controls how many qualified retests a zone can absorb before it expires.
Test Confirmation offers Touch, Penetration, and Close Inside modes.
Min Test Penetration Ratio refines how deep price must move into a zone when Penetration mode is selected.
Expire On Distal Close Break can invalidate a zone when price closes beyond the distal boundary.
Visuals
Show Proximal Line and Show Distal Line let users control boundary visibility.
Zone Visibility allows All, Balanced Focus, or Smart Focus workflows.
Keep Nearest Active Zones Per Side helps preserve immediate context.
Highlight Nearest Zones strengthens the most decision-relevant zones.
Label Mode, Label Size, Label Right Offset Bars, and Label Spacing ATR control how zone labels are displayed.
Light MTF View
Enable Light MTF View activates higher-timeframe context.
MTF Timeframe selects the higher timeframe.
MTF Fill Transparency and MTF Context Bars help keep the overlay subtle.
Panel
The summary panel can be shown or hidden.
Panel Theme, Panel Location, and Panel Font Size allow adaptation to different chart layouts and visual preferences.
How to use it
Many users will treat this script as a context and reaction map rather than as a standalone entry model.
A common workflow is:
- identify the nearest active demand and supply zones,
- check whether the zone is Fresh or already Tested,
- observe whether current price is approaching the proximal boundary or already trading deeper inside the zone,
- use the light higher-timeframe layer for context,
- then combine the zone information with personal confirmation tools such as structure, momentum, candle behavior, or risk rules.
Fresh zones may be more interesting when they align with trend context or with a relevant higher-timeframe area. Tested zones can still matter, but their interpretation should usually be more selective because the zone has already been revisited.
Limitations & Transparency
This script detects supply and demand zones through a rules-based base and displacement model. It does not claim to identify every meaningful reaction area on a chart, and it does not attempt to label institutional intent, order flow, or smart-money behavior as a certainty.
The quality of a zone depends on the selected settings, the volatility profile of the market, and the timeframe being analyzed. A more permissive configuration will naturally surface more zones, while a stricter configuration will produce a cleaner but narrower map. No single setting profile is optimal for every instrument.
The higher-timeframe overlay is intentionally lightweight. It is designed to provide context, not to replace full top-down analysis. Likewise, a Fresh or Tested label should not be treated as a guarantee of reaction. It is simply the script's state classification based on the selected confirmation logic.
This tool is best understood as a structured charting aid. It helps organize zone detection, lifecycle tracking, and visual prioritization. It does not remove the need for trade selection, confirmation, execution discipline, or risk management.
Risk Disclosure
This indicator is for chart analysis and educational use only. It does not provide financial advice, investment recommendations, or guaranteed outcomes. Markets can move through supply and demand zones without reacting, can partially react and fail, or can produce false confirmations. Always test settings carefully, evaluate the script in the context of your own process, and use proper risk management before making trading decisions.
Indicator

AG Pro Pin Bar Quality Filter [AGPro Series]AG Pro Pin Bar Quality Filter
Overview / What it does
AG Pro Pin Bar Quality Filter is a price-action overlay built to detect pin bar candles and then separate higher-quality rejection candles from weaker or noisier ones.
The script does not treat every long-wick candle as equally meaningful. Instead, it evaluates the internal candle structure first, then applies a compact quality framework around volume, recent momentum, and local support/resistance context. The result is a filtered pin bar workflow designed for traders who want cleaner chart annotation rather than a raw pattern dump.
This tool focuses on one specific job: identifying rejection candles with a measurable structure and presenting them with a readable quality label directly on the chart. It is intended to help users inspect potential reaction points, not to replace broader market context or execution rules.
The visual design is intentionally simple at the core: pin bar body highlighting, wick emphasis, directional markers, and compact quality labels. This makes the script suitable for traders who want candle-based context without converting the chart into a full market-structure dashboard.
Unique Edge
The distinctive feature of this script is that it does not stop at pattern detection.
A standard pin bar script often marks candles only because they have a long wick. This script goes further by checking whether the wick is large enough relative to the body, whether the body itself is small enough relative to the full candle range, and whether one wick clearly dominates the other. That combination helps reduce ambiguous candles that visually resemble pin bars but do not express clean rejection.
After the structural test, the script applies a three-part quality model:
- volume confirmation
- momentum context
- support/resistance proximity
This creates a practical quality hierarchy rather than a binary pattern label. In other words, the script is not only asking “Is this a pin bar?” but also “How much contextual support does this pin bar have?”
An optional piercing check is also available for users who want stricter validation. This adds another layer of selectivity by requiring the candle body to show stronger positional behavior relative to the prior bar.
Methodology
The script starts by measuring the current candle:
- candle body size
- full candle range
- upper wick length
- lower wick length
- dominant wick versus body ratio
A raw pin bar candidate requires:
- a minimum wick/body ratio
- a maximum body percentage of full range
- directional wick dominance
This helps define whether the candle is a legitimate bullish or bearish rejection structure.
Bullish pin logic is based on lower-wick dominance.
Bearish pin logic is based on upper-wick dominance.
Once a raw pin bar is detected, the script evaluates three contextual filters.
1) Volume filter
The current volume can be compared against a moving average of volume. This helps identify candles that form with relatively stronger participation.
2) Momentum confirmation
The script can check whether recent candles were moving in the opposite direction of the current pin bar. For example, a bullish pin bar becomes more meaningful when it forms after short-term downward pressure, while a bearish pin bar becomes more meaningful after short-term upward pressure.
3) Support / resistance proximity
The script tracks pivot-based reference levels and checks whether the pin bar forms close to a recent local support or resistance area, using an ATR-based distance threshold.
Each passed filter contributes to the final quality score. This produces a compact tiered output instead of a single undifferentiated signal stream.
Signals & Alerts
The script can identify:
- bullish pin bars
- bearish pin bars
- higher-quality pin bars based on the selected minimum score
Visual elements may include:
- body highlighting on detected pin bars
- wick emphasis
- directional arrow markers
- quality labels with contextual details
- an information panel summarizing the active state
The quality label can display the signal tier and relevant confirmations such as:
- wick/body ratio
- volume confirmation
- momentum confirmation
- support/resistance proximity
Alert conditions are available for:
- bullish pin bars
- bearish pin bars
- prime-quality pin bars
- any valid pin bar that meets the selected score threshold
This allows users to align alerts with their own strictness settings rather than monitoring every possible candle manually.
Key Inputs
Important user controls include:
- minimum wick/body ratio
- maximum body percentage of full range
- wick dominance threshold
- optional piercing requirement
- volume filter enable/disable
- momentum filter enable/disable
- support/resistance filter enable/disable
- minimum quality score
- label size
- panel display
- maximum number of displayed signals
These settings make the script adaptable across different instruments and chart styles. Users who prefer a broader scan can lower the strictness, while users who want fewer but cleaner signals can raise the thresholds.
Limitations & Transparency
This script is a rule-based candle-quality filter. It is not a market prediction engine, and it does not attempt to classify broader trend structure, liquidity behavior, or macro regime by itself.
A pin bar can still fail even when all filters pass. A visually strong rejection candle is not automatically a durable reversal. Context such as higher-timeframe structure, trend state, volatility regime, session behavior, and instrument-specific character still matters.
Support and resistance detection in this script is pivot-based and proximity-based. It is designed as a practical contextual filter, not as a complete structural mapping model.
Volume behavior also varies by asset and market type. On some instruments, especially where centralized volume data is limited or interpreted differently, the volume filter should be treated as a supplementary input rather than a universal truth test.
The momentum check is intentionally compact and local. It is meant to improve candle context, not to replace broader directional analysis.
For these reasons, the script is best used as a chart-reading assistant within a larger process, not as a standalone decision framework.
Risk Disclosure
This script is provided for technical analysis and chart annotation purposes only.
It highlights selected pin bar conditions based on user-defined structural and contextual rules. It does not provide financial advice, investment advice, or guaranteed trade outcomes. Markets can remain irrational, trend continuation can invalidate rejection candles, and false positives can occur in all timeframes and asset classes.
Users should validate the script on their own instruments, timeframes, and risk models before relying on it in live conditions. Position sizing, stop placement, execution discipline, and overall trade management remain the responsibility of the user.
In summary, AG Pro Pin Bar Quality Filter is designed to help traders study rejection candles with more structure, more selectivity, and cleaner on-chart presentation than a basic pin bar marker, while remaining transparent about what the script does and does not do.
Indicator

AG Pro Engulfing Candle Quality [AGPro Series]AG Pro Engulfing Candle Quality
Overview / What it does
AG Pro Engulfing Candle Quality is a price action overlay designed to detect bullish and bearish engulfing candles and then grade them through a structured quality framework instead of treating every engulfing event as equally important.
Rather than marking all engulfing candles with the same visual weight, this script evaluates whether the candle shows characteristics that may make the event more meaningful in context. The goal is to reduce low-value pattern noise and help the user focus on engulfing candles that display stronger internal structure and better surrounding conditions.
The script can color qualifying candles, display score labels directly on the chart, add optional background emphasis, and summarize recent signal state through an information panel. This makes it suitable for traders who want a cleaner way to review engulfing behavior without turning the chart into a generic pattern map.
In practical use, the script is not intended to predict direction on its own. It is designed as a filtering and chart-reading aid for users who already work with structure, liquidity, support/resistance, trend context, or discretionary execution rules.
Unique Edge
Many engulfing tools stop at pattern detection. This script takes a different approach by treating engulfing candles as a quality event rather than a binary event.
Its core difference is the scoring model. Each qualifying candle is evaluated through a multi-factor framework that can include relative volume behavior, body-to-range efficiency, prior directional context, engulf strength, and optional support/resistance proximity. This creates a 1-10 quality score that helps separate weaker engulfing events from stronger ones.
The result is a more selective workflow:
- detect the pattern,
- evaluate the candle quality,
- display only the events that meet the user’s threshold,
- and keep the chart focused on higher-interest formations.
This makes the script different from simple engulfing markers, basic candlestick libraries, or broad pattern collections. Its purpose is not to label everything. Its purpose is to rank and filter.
Methodology
The script identifies bullish and bearish engulfing conditions using configurable detection logic. Users can choose a stricter close-based interpretation or a broader wick-based interpretation depending on how selective they want the pattern engine to be.
Once an engulfing candle is detected, the script evaluates the event with a weighted quality framework. The conceptual components include:
1. Relative volume
The candle is compared against a moving average of volume. A candle that forms with stronger-than-normal participation can receive a higher quality contribution than one forming on ordinary or weak activity.
2. Body efficiency
The candle body is evaluated relative to the full range. A larger, more decisive body may indicate stronger commitment than a candle with excessive wick noise and a relatively small real body.
3. Prior directional context
The script reviews recent directional pressure over a user-defined lookback window. This helps distinguish engulfing candles that appear after a more meaningful opposing move from those that form in flatter or less informative conditions.
4. Engulf strength
The script can incorporate how convincingly the current candle overtakes the prior candle structure, adding another layer beyond simple pattern recognition.
5. Optional support/resistance proximity
Users can enable an additional contextual bonus when the engulfing event forms near pivot-derived support or resistance areas.
These components are normalized into a score from 1 to 10. The score is then used for chart display, filtering, and alerts. This means the script is not simply asking whether an engulfing candle exists. It is asking whether the engulfing candle appears to have enough internal and contextual quality to deserve attention.
Signals & Alerts
The script can display:
- bullish engulfing events,
- bearish engulfing events,
- candle coloring for qualified signals,
- optional score labels,
- optional background highlights,
- and a chart panel summarizing recent signal state.
Alerts are deterministic and based on confirmed rule conditions inside the script. Users can create alerts for:
- bullish engulfing events,
- bearish engulfing events,
- high-quality bullish engulfing events,
- high-quality bearish engulfing events,
- or any engulfing event that meets the selected minimum score threshold.
As with any chart tool, users should understand that alerts reflect the script’s rules, not an outcome guarantee. An alert means the selected condition has been satisfied according to the methodology. It does not imply that the next market move will be favorable.
Key Inputs
The script includes several controls so users can adapt the tool to different symbols and timeframes.
Important inputs include:
- minimum score required for display,
- label cooldown to reduce visual clustering,
- trend-strength lookback,
- strict close-based or broader wick-based engulf logic,
- bullish and bearish visibility toggles,
- optional support/resistance bonus,
- support/resistance pivot length,
- ATR-based proximity setting,
- scoring weights for volume, body efficiency, trend context, and engulf strength,
- volume average threshold,
- body/range threshold,
- color controls for bullish, bearish, and score states,
- label size,
- background highlight toggle,
- candle-coloring toggle,
- score label visibility,
- panel visibility, position, font size, and theme,
- and minimum score required for alerts.
These inputs allow the user to keep the script conservative and selective, or make it more permissive when reviewing more active charts.
Limitations & Transparency
This script is a rule-based visual analysis tool. It does not know future price action, and it does not confirm trade quality on its own.
Several points are important:
- An engulfing candle is still a local pattern. It can fail, especially in noisy or low-liquidity environments.
- Strong scores do not guarantee continuation or reversal.
- The support/resistance context is approximate and derived from pivot logic, not from a universal market map.
- Volume behavior can vary across markets and data feeds.
- Different timeframes can produce very different signal density and quality distribution.
- The script is designed for confirmation and filtering, not for fully automated decision-making.
Users should treat the score as a structured quality estimate, not as a promise. In many workflows, the script is most useful when combined with broader context such as market structure, trend bias, higher-timeframe levels, session behavior, or risk management rules.
Risk Disclosure
This script is provided for chart analysis and educational use. It is not financial advice, not an execution system, and not a guarantee of performance.
All trading and investing involve risk. Market conditions can change quickly, and any pattern, score, or alert can fail. Users are responsible for their own analysis, entries, exits, and risk controls.
Use the script as a decision-support tool, not as a substitute for judgment.
Indicator

AG Pro ORB Quality [AGPro Series]AG Pro Opening Range Breakout Quality
OVERVIEW / WHAT IT DOES
AG Pro Opening Range Breakout Quality is a session-structure indicator built to evaluate how price behaves around the Opening Range rather than treating every early breakout as equally meaningful.
The script defines an Opening Range from a user-selected session window, locks that range when the session window ends, and then tracks whether price breaks above or below that range with constructive follow-through, delayed expansion, weak continuation, retest acceptance, or failure back into the range.
Instead of acting like a simple breakout marker, this tool is designed to help organize the sequence that often matters most after the range is formed:
range construction, first directional break, follow-through quality, retest behavior, acceptance, and failed continuation.
This makes it more useful for traders who want a structured way to study whether the market is truly accepting price outside the Opening Range, or only probing beyond it temporarily.
UNIQUE EDGE
Most Opening Range tools focus mainly on drawing the range and marking the first break.
This script is designed to go one step further by grading the quality of that break and the quality of post-break behavior.
Its main edge is not the box itself. Its edge is the attempt to classify whether the move is:
clean,
good but delayed,
weak,
accepted after retest,
or rejected back into the range.
That makes the script conceptually different from a generic breakout overlay and also different from a broad market-structure or break-retest map. This indicator is specifically anchored to the Opening Range and to the behavior that follows that range.
METHODOLOGY
1) Opening Range Construction
The script builds an Opening Range from the chosen session window and stores:
- range high
- range low
- optional midpoint
2) Break Detection
After the range is locked, the script scans for the first qualified directional break within a defined search window.
3) Quality Engine
Once a break appears, the script evaluates it using a rules-based scoring framework. The score can incorporate factors such as:
- displacement beyond the range
- body efficiency versus wick behavior
- timing of the break relative to the range lock
- optional relative volume context
- directional alignment versus a moving average reference
- post-break extension quality
- retest depth and retest acceptance
4) State Transition Logic
The script then maps price behavior into structured states such as:
- Building Range
- Watching Break
- Bull Break Detected
- Bear Break Detected
- Bull Acceptance
- Bear Acceptance
- Failed Back In
- Range Expired
5) Visual Organization
The chart can display the Opening Range, the active acceptance zone, and projected target levels so that the user can visually compare the range location, the active accepted area, and nearby expansion references.
SIGNALS & ALERTS
The script can generate alerts for:
- break events
- acceptance events
- failure events
These alerts are intended to notify the user when a defined state transition occurs under the script's internal rules.
They should be treated as workflow events, not as standalone trading instructions.
KEY INPUTS
Opening Range
- Session Label
- Opening Range Session
- Timezone
- Engine Timeframe
- Range Extension Bars
- Show Midline
Quality Engine
- Late Break Threshold
- Acceptance Confirmation Bars
- Break Search Window
- Failure Tolerance
- Relative Volume Length
- Use Volume in Score
Projected Targets
- Show Targets
- T1 / T2 / T3
- Target Multipliers
- Target Ray Width
- Target Label Style
Style
- Theme
- State Labels
- Background Tint
- Label Size
- Label Mode
- Hero OR display
- Acceptance Ribbon
- Minimal OR Tag
- Right-side layout controls
Panel
- Panel Position
- Panel Font Size
- Score Meter
HOW THIS SCRIPT IS DIFFERENT
This script is not meant to be a general-purpose support/resistance map, and it is not meant to be a broad break-retest engine applied to every chart structure.
Its scope is narrower by design.
The entire logic is centered on the Opening Range and what happens immediately after that range is established. Because of that, the script is more session-specific and more sequence-specific than many broader structure tools.
It is also not a plain "Opening Range breakout = signal" overlay. A break can still be weak, late, accepted after retest, or rejected back into the range. That distinction is the core of the script.
LIMITATIONS & TRANSPARENCY
This is a rules-based interpretation tool, not a predictive model.
The score is an internal quality estimate derived from the script's selected factors and thresholds. It should not be treated as an objective market truth.
Opening Range behavior can vary significantly by instrument, volatility regime, session participation, and timeframe. A configuration that is useful on one symbol may not behave the same way on another.
Projected targets are reference expansions based on the script's range logic. They are not guarantees, forecasts, or required destinations.
Retest and acceptance behavior are also dependent on the selected engine timeframe. Lower engine timeframes may capture more detail, while higher ones may smooth some intrabar behavior.
Users should review settings carefully and test the script on the instruments and sessions they actually follow.
WHAT IT IS NOT
This script is not:
- a guarantee of breakout continuation
- a promise that every accepted break will trend
- a substitute for independent risk management
- a standalone reason to enter or exit a trade
- financial advice
RISK DISCLOSURE
This indicator is provided for educational and analytical use.
All trading involves risk. Markets can reverse quickly, fail to follow through, or invalidate a setup even when a breakout initially looks constructive.
Use the script as a structured chart-reading aid, not as a certainty engine. Position sizing, stop placement, execution quality, liquidity conditions, and broader market context remain the user's responsibility.
If you use alerts, projected targets, or the quality score in a workflow, they should be interpreted within a broader decision process rather than in isolation.
Indicator

Confluence Order Blocks | ProjectSyndicateConfluence Order Blocks automatically identifies and validates high-probability, non-repainting Order Blocks. It filters for structural quality using displacement, normalizes all zone heights for consistency, and embeds a live multi-timeframe confluence engine inside every zone to provide a quantifiable, data-driven edge.
🧠 Live Multi-Timeframe Engine — This is not a single-timeframe tool. Every OB zone displayed on the chart is the result of a live, proximity-based confluence engine scanning three independent higher timeframes (e.g., M15, M30, H1) simultaneously. Each label shows exactly how many timeframes confirmed the zone, its composite strength rating (0-10), the session it formed in, its age, and its exact pip height, giving you an instant structural edge.
🎯 Displacement-Confirmed OBs — The engine doesn't just mark swing points. It validates each OB on the higher timeframes by requiring a powerful move away from the candle — a "displacement" — that is a user-defined multiple of the zone's range. This filters out weak or insignificant zones and focuses only on OBs that have demonstrated true market-moving intent before they are even considered for merging.
🎨 ATR-Normalized Zones — Eliminates visual noise from inconsistent zone sizes. This feature forces every merged OB zone to a uniform, ATR-based height (e.g., 0.75x ATR). This provides a clean, consistent chart and allows for a more objective analysis of price interaction with zones of equal visual weight, preventing massive tower blocks from distorting the chart.
📊 Proximity-Based Merging — Timeframes rarely align perfectly to the pip. The confluence engine uses an intelligent ATR-based proximity tolerance (e.g., 2.0x ATR) to detect when order blocks from different timeframes are clustered in the same price territory. It then mathematically merges them into a single, high-probability "Confluence Zone," ensuring you don't miss valid setups due to minor price discrepancies across timeframes.
✅ Chart-Timeframe Independent — The engine's credibility comes from its architectural stability. Unlike standard MTF indicators that repaint or shift zones depending on the chart you are viewing, this engine runs a completely stateless detection algorithm. The merged zones you see on an M1 chart are mathematically identical to the zones you see on an M5 or M15 chart.
🔧 Fully Customizable — Control every aspect of the engine, including the 3 target timeframes, the Minimum Timeframe Confluence threshold (e.g., require 3 out of 3 TFs), the Proximity Tolerance multiplier, the Minimum Strength Filter, and the colors/visibility of Bullish and Bearish zones.
🔬 Why this algo is unique: Standard Order Block indicators are subjective — often just drawing boxes on the current timeframe's last up/down candle before a swing, with no proof of higher-timeframe alignment. The Confluence OB Engine transforms this subjective tool into an objective, multi-dimensional trading instrument. It doesn't just show you a zone; it proves that the zone is backed by institutional intent across multiple timeframes, merging them into a single, undeniable area of interest on the exact chart you are viewing.
🌐 Apply to Gold (XAUUSD), Indices (US30, NAS100), Forex Majors, and Crypto on M1 or M5 execution timeframes while tracking M15, M30, and H1 structures. The engine is designed for assets that exhibit clear swing structures and respect deep supply/demand dynamics.
🗂️ How to use this? The most critical metric is the Timeframe Confluence Count and the Strength Rating. A zone confirmed by 3 timeframes with a Strength of 8.0+ indicates a massive structural edge. Consider only taking trades from these high-confluence zones that align with the prevailing higher-timeframe trend. The embedded label also shows the exact "pips away" distance, allowing for precise limit order placement.
⚙️ IMPORTANT NOTICE: This indicator is a professional-grade tool designed to identify structural confluence. It should NOT be used as a standalone signal for entering trades blindly. Always use it in conjunction with your own trading strategy, price action analysis, and strict risk management to confirm trade setups. Indicator

Bastion Level Sentinel [JOAT]Bastion Level Sentinel
Introduction
The Bastion Level Sentinel is an open-source dynamic support and resistance overlay that derives price levels from EMA rounding, then builds conviction scores through touch-based strength analysis with optional volume confirmation. Rather than drawing static horizontal lines at arbitrary prices, BLS rounds an EMA to a configurable price increment (e.g., 500, 1000) to identify the institutional-grade price rails that the market naturally gravitates toward. Each time price interacts with a rail, the indicator counts and classifies the touch — validated (with above-average volume) or unconfirmed (low volume) — and uses these counts to build a conviction score that drives the visual intensity of the level through color gradients.
Most support/resistance indicators either use fixed pivot points that become stale, or they require manual drawing. BLS automates the process by anchoring levels to a moving EMA foundation, resetting touch counts when levels shift, and providing a complete lifecycle view of each level — from nascent (newly formed) through seasoned to ancient. The conviction engine ensures that levels with more validated touches appear visually stronger, giving traders an immediate sense of which levels carry the most institutional weight.
Core Engine: Level Derivation
The level calculation is straightforward but effective:
float emaVal = ta.ema(close, emaLen)
float topLvl = roundVal * math.ceil(emaVal / roundVal)
float botLvl = roundVal * math.floor(emaVal / roundVal)
The EMA provides a smoothed price anchor. Rounding up to the nearest increment gives the ceiling rail (resistance), and rounding down gives the floor rail (support). The grid increment is fully configurable — use 500 for crypto, 50 for stocks, 10 for forex — allowing the indicator to adapt to any instrument's natural price structure.
A stability check ensures that levels are only considered active when they remain unchanged from the previous bar. This prevents false touch counts during level transitions.
Conviction Engine (Touch-Based Strength Scoring)
The conviction engine is the heart of BLS. Every time price enters a rail's proximity zone (defined by a configurable tolerance fraction of the level gap), a touch is registered. Touches are edge-triggered — only the first bar of each interaction counts, preventing a single extended visit from inflating the score.
When volume confirmation is enabled, touches are classified into two categories:
Validated Touches: Price interacts with the rail while short-term volume exceeds the configurable threshold (default 1.2x average). These carry 70% weight in the conviction score.
Unconfirmed Touches: Price interacts with the rail on below-average volume. These carry 30% weight — they still count, but with reduced conviction.
The conviction score scales from 0% to 100% based on the number of touches relative to the saturation threshold (default 5 touches for 100%). When levels shift (the EMA moves enough to change the rounded level), all touch counts reset to zero, and the lifecycle begins fresh.
Level Lifecycle and Maturity
Each rail tracks its age in bars since the last level shift:
NASCENT: Fewer than 50 bars old — newly formed level, conviction still building
SEASONED: 50-200 bars old — established level with meaningful touch history
ANCIENT: Over 200 bars old — long-standing level that has persisted through extended price action
Ancient levels with high conviction scores represent the strongest support/resistance zones — they have been tested repeatedly over a long period and have held.
Visual Architecture
Primary Rails: Ceiling and floor levels plotted with conviction-driven color gradients. Low conviction = neutral purple, high conviction = vivid red (resistance) or green (support). The color intensity directly communicates level strength.
Proximity Halos: Tolerance zone boundaries around each rail, filled with transparency that scales with conviction. Stronger levels have more visible halos.
Equator Line: The midpoint between ceiling and floor — a natural equilibrium reference.
Tertiary Gridlines: 25% and 75% sub-levels between the rails, providing additional structure within the grid.
Proximity Aura: Subtle background tint when price enters a rail's tolerance zone — immediate visual alert that price is near a significant level.
Grid Tint Candles: Candles colored by their position within the grid — red tones near the ceiling, green tones near the floor, purple at the equator.
Signal Architecture
BLS generates five distinct signal types, all confirmed-bar and edge-triggered:
RAIL LOCK (Validated Touch): Price interacts with a rail on confirmed volume. The label includes the running touch count. These are the highest-confidence interaction signals.
ECHO (Unconfirmed Touch): Price interacts with a rail but volume is below the confirmation threshold. The interaction is noted but flagged as lower confidence.
BREACH: Price closes beyond a rail — a potential breakout (ceiling) or breakdown (floor). These are edge-triggered crossover/crossunder signals.
APPROACH: Price enters a rail's proximity zone for the first time — an early warning that an interaction is imminent.
Conviction Pulse: Periodic labels on the rails (every 20 bars) showing the current conviction percentage, providing at-a-glance strength information without cluttering the chart.
// Edge-triggered touch detection
bool topTouchEdge = topTouch and not topTouch
bool botTouchEdge = botTouch and not botTouch
Command Panel (Dashboard)
An 11-row monospace dashboard displays:
CEILING: Current resistance rail price
C CONV: Ceiling conviction — validated/total touches with percentage (e.g., "3v/4t (85%)")
FLOOR: Current support rail price
F CONV: Floor conviction — validated/total touches with percentage
EQUATOR: Midpoint price between ceiling and floor
NEAREST: Which rail price is closest to, with distance as a percentage
GRID POS: Price position classification (Ceiling Zone, Upper Grid, Equator, Lower Grid, Floor Zone)
MATURITY: Lifecycle stage of each rail (Nascent, Seasoned, Ancient)
LOCKED: Whether each rail is currently stable (unchanged from previous bar)
FLUX: Current volume confirmation ratio — values above the threshold indicate "hot" volume
Input Parameters
Fortress Grid:
Lattice Anchor: EMA period for level derivation (default 21)
Grid Increment: Price rounding value (default 500) — adjust for your instrument
Proximity Radius: Fraction of level gap used as tolerance zone (default 0.15)
Tertiary Gridlines: Toggle 25%/75% sub-levels
Conviction Engine:
Conviction Saturation: Touches needed for 100% conviction (default 5)
Flux Validation: Require above-average volume for validated touches (default on)
Flux Threshold: Volume ratio required for validation (default 1.2x)
Optics Layer:
Individual toggles for: Primary Rails, Proximity Halos, Equator Line, Command Panel, Proximity Aura, Breach Flash, Conviction Pulse, Approach Beacon, Grid Tint Candles
How to Use This Indicator
Adjust the Grid Increment to match your instrument — 500 or 1000 for BTC, 50 or 100 for stocks, 10 or 25 for forex pairs. The goal is to identify the round-number levels that institutional orders cluster around.
Pay attention to conviction scores — rails with 80%+ conviction and SEASONED or ANCIENT maturity are the strongest levels. Expect significant reactions when price approaches them.
RAIL LOCK signals with high touch counts indicate levels that have been tested and held multiple times. These are prime candidates for bounce trades.
BREACH signals mark potential breakouts. A breach of a high-conviction rail is more significant than a breach of a low-conviction one.
Use APPROACH signals as early warnings to prepare for potential level interactions. They give you time to assess the setup before the actual touch occurs.
The Grid Position metric in the dashboard tells you where price sits within the current structure — useful for bias determination and risk assessment.
Limitations
EMA-derived levels are inherently lagging — they reflect where the market has been, not where it is going. Levels shift when the EMA moves enough to change the rounded value.
The rounding approach works best on instruments with natural round-number psychology (crypto, indices, large-cap stocks). It may be less effective on instruments without clear round-number clustering.
Touch counts reset when levels shift, which means conviction history is lost during transitions. This is by design (stale counts on new levels would be misleading) but means newly formed levels always start at zero conviction.
Volume confirmation depends on reliable volume data. Instruments with inconsistent volume reporting may produce unreliable validation classifications.
The indicator identifies levels and measures their strength but does not predict whether price will bounce or break through. That decision requires additional context.
Originality Statement
This indicator is original in its conviction-based level strength scoring approach. While EMA-derived support/resistance and touch counting are known concepts individually, BLS is justified because:
The conviction engine differentiates between volume-validated and unconfirmed touches, weighting them differently to produce a more meaningful strength score than simple touch counting.
Level lifecycle tracking (Nascent/Seasoned/Ancient) provides temporal context that static level indicators lack.
Conviction-driven color gradients using color.from_gradient create an immediate visual hierarchy where stronger levels are visually more prominent.
The proximity halo system with conviction-scaled transparency provides zone-based level visualization rather than single-line levels.
Edge-triggered touch detection with stability checks prevents false counts during level transitions and extended visits.
The comprehensive dashboard presents level prices, conviction breakdowns, maturity, grid position, and volume state simultaneously.
Five distinct signal types (Rail Lock, Echo, Breach, Approach, Conviction Pulse) provide a complete interaction vocabulary for level-based analysis.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Support and resistance levels describe historical price interaction zones but do not guarantee future reactions. Levels can and do break. Always use proper risk management and conduct your own analysis before making trading decisions. The author is not responsible for any losses incurred from using this tool.
-Made with passion by officialjackofalltrades
Indicator

AG Pro Volume Profile Acceptance Ladder [AGPro Series]AG Pro Volume Profile Acceptance Ladder
Overview / What it does
AG Pro Volume Profile Acceptance Ladder is a volume-structure indicator designed to monitor whether price is building acceptance, holding acceptance, or losing acceptance inside a rolling volume-defined band. Instead of treating volume profile as a static reference snapshot, this script tracks acceptance as a progressive process. The goal is not to predict where price must go next, but to help the user read whether the market is spending enough time and participation inside a value zone to justify calling that area accepted.
The script builds a rolling profile window, estimates the active acceptance band, and then classifies current behavior into states such as Probe, Build, Accept, Shift Watch, Shift Confirmed, and Fail. This creates a ladder-style framework for reading when the market is stabilizing within one value region and when that acceptance may be migrating toward another region. In practice, that makes it useful for users who want a structured way to distinguish temporary interaction from more durable volume-based acceptance.
A key design goal of this script is to separate acceptance progression from simple attraction-to-level logic. Some tools are built around whether price is pulled back toward a reference such as a POC or another central level. This script focuses on a different question: is the market actually building and holding acceptance inside a rolling value zone, and is that acceptance stable enough to be treated as an active auction area rather than a temporary touch.
Because of that framing, the indicator is best read as a market-structure context tool. It maps an evolving acceptance zone, estimates a directional ladder bias, and provides state transitions that can be used to organize chart reading, scenario planning, or alert workflows. It is not an execution engine, not a broker-grade order book product, and not a substitute for independent trade management.
Unique Edge
The distinguishing feature of this script is that it treats acceptance as a staged process rather than a single level event. The output is not limited to a profile center or a value-area drawing. Instead, the script evaluates how price behaves relative to a rolling volume-defined band and converts that behavior into a progression model.
That matters because a market can interact with a value area in very different ways. It can briefly probe it, begin building around it, hold it in a more stable manner, shift acceptance upward or downward, or fail to maintain acceptance altogether. By organizing those conditions into a ladder of states, the script attempts to make the auction process easier to read in real time.
This also makes the indicator materially different from a standard POC-centered interpretation. The emphasis here is not on magnetic pull toward one volume reference. The emphasis is on whether acceptance is forming, strengthening, or migrating. In that sense, the script is better understood as an acceptance progression map than as a simple volume anchor display.
Methodology
The script uses a rolling lookback window and distributes bar-based volume across a defined number of bins in order to approximate a local volume profile. From that rolling profile it derives the active central reference, the current acceptance band, and the relative participation of that band within the profile window.
Using those profile components, the script calculates several internal measures. These include how often price remains inside the band over a recent hold window, how often price re-enters the band after leaving it, how stable the band center is relative to recent values, and whether the active center appears to be migrating in a meaningful way. These measures are then blended into an aggregate acceptance score and a ladder bias.
The state engine uses those components to classify behavior into the following progression states:
- Reject
- Probe
- Build
- Accept
- Shift Watch
- Shift Confirmed
- Fail
These states should not be read as guarantees of continuation or reversal. They are condition labels describing how the script currently interprets interaction with the active acceptance band.
Signals & Alerts
The script includes deterministic state-based alerts so users can build workflows around changes in acceptance conditions.
Available alert events:
- Acceptance Building
- Acceptance Confirmed
- Upward Ladder Migration Confirmed
- Downward Ladder Migration Confirmed
- Acceptance Failed
- Acceptance Lost
These alerts are designed to reflect state transitions inside the indicator logic. They do not imply expected profitability, win rate, or directional certainty.
Key Inputs
- Profile Window: Defines the rolling lookback used for the local profile estimate.
- Bin Count: Controls the profile resolution.
- Value Area %: Defines how much of the rolling profile volume is used to construct the active acceptance band.
- Migration Sensitivity: Controls how easily the script classifies center shifts as migration activity.
- Probe Band Multiplier: Expands the outer interaction zone around the active acceptance band.
- Hold Lookback: Defines the window used for hold and re-entry style calculations.
- Theme / Panel Location / Panel Font Size / Label Font Size: Presentation controls for chart readability.
- Show Previous Acceptance Band / Show State Markers / Forward Extension Bars: Visual controls for context and labeling.
Limitations & Transparency
This script does not use exchange-native tick-by-tick volume profile data. It uses a bar-based approximation built from the information available to Pine Script on the chart. As a result, the acceptance band and profile structure shown by the indicator should be interpreted as a model of local volume distribution, not as a perfect reconstruction of exchange-level auction detail.
The ladder states are also model outputs, not objective market facts. Small changes in lookback, resolution, or volatility regime can influence how the script classifies the same area. Users should therefore treat the states as structured analytical context rather than as standalone instructions.
The indicator is also not intended to replace broader market analysis. Trend structure, liquidity conditions, volatility regime, higher-timeframe context, and instrument-specific behavior can all affect how useful an acceptance reading is in practice.
Risk Disclosure
This script is for chart analysis and educational use only. It does not provide financial advice, investment advice, or trade recommendations. All markets involve risk, and no indicator can guarantee outcome, timing, or future performance. Users should apply independent judgment, test settings carefully, and use risk management appropriate to their own methodology.
What this script is not
- It is not a promise of continuation or reversal.
- It is not a broker-grade volume profile engine.
- It is not a substitute for execution planning or risk control.
- It is not a claim that acceptance automatically leads to trend persistence. Indicator
