Supply & Demand Zones - Zone Forge [AFD]
Two zones on your chart. One came from a four-bar coil that price left in a single decisive candle. The other took twenty bars to go nowhere and slid out the bottom. Your indicator drew them identically.
That difference is measurable at the moment each zone forms - how tight the base was, how hard price left it - and it is measurable from the same two numbers the tool already had to compute in order to find the zone at all. Almost every zone tool computes them on the way past and throws them away.
Zone Forge keeps them. Every zone is scored on how it was constructed, and the score is painted rather than printed: a well-built zone carries more glow and deeper fill, a marginal one recedes into the background. No letter, no number, nothing to decode. The chart sorts itself.
Why it matters
A supply or demand zone is a fussy construction pretending to be a simple one. It needs a short, tight cluster of bars - the base - that price then left decisively in one direction. Both halves are measurable, and the ratio between them separates a coil that broke from a range that drifted. This describes how an area formed, and says nothing about what price does next.
At a glance
Four patterns, each switchable - rally-base-drop and drop-base-drop become supply; drop-base-rally and rally-base-rally become demand. Turn off the ones you do not trade.
A grade on every zone - built from two ratios the engine already computes, tiered Strong, Standard and Weak, and shown as vividness rather than as a label.
A one-way lifecycle - Fresh, Tested, Broken. A broken zone never returns to fresh, and a tested zone steps further back with each additional test.
Detection in one click - Scalp, Intraday or Swing set base length, tightness and departure strength together. Custom exposes all three.
Measured against your chart's own volatility - base height and departure distance are both in ATR(14) units, so one setting means the same thing on a $4 stock and a $400 one.
Nine colour themes - Signature, Neon, Muted, Mono, Terminal, Midnight, Ocean, Ember, and Paper for light charts, plus Custom. Three appearance presets over the top - Signature, Clean and Minimal - plus a Custom that leaves every control acting on its own.
Four alert conditions - new demand zone, new supply zone, zone tested, zone broken, as four separate entries in the alert dialog rather than one.
Three Data Window values for screening - distance to the nearest demand zone, distance to the nearest supply zone, and whether price is inside one.
How a zone is built
A base is a run of bars whose whole height fits inside Base tightness x ATR(14). A departure is a bar that CLOSES beyond that base by at least Departure strength x ATR(14) - the close, never the high or the low, so a spike that closes back inside draws nothing.
Both halves must be complete. A zone is created from a finished base and a finished departure, and appears on the bar that closes the departure, not before.
Two rules that change what you see:
A tight run LONGER than Base max length is rejected as a range. It is not trimmed to its last few bars and admitted anyway.
The departure is measured against the PREVIOUS bar's ATR, so the departure bar's own range cannot inflate the threshold it has to clear.
The grade, stated plainly
grade score = (departure distance / required distance) / max(base height / height limit, 0.50)
A zone that cleared the departure requirement by 3x off a base using half its allowed height scores well above one that cleared it by 1.1x off a base that used all of it. Only just qualifying on both counts scores 1.0x.
Weak, Standard and Strong are fixed thresholds on that score, and the tier is decided on the bar that creates the zone.
The score is computed once and is never recomputed. A zone already on your chart does not restyle itself later.
Grade emphasis sets how far apart the three tiers LOOK, from nearly identical to a wide visual split. It changes appearance only, never which tier a zone is in.
The tiers describe construction. They are not a ranking of what is likely to happen at a zone, and no tier is presented as the one to trade.
The lifecycle
Fresh - price has not come back yet. Brightest.
Tested - price traded into the zone and it held. The fill and glow step back, and each further test steps them back again up to a fixed limit, so an area that has been worked repeatedly recedes on its own rather than vanishing.
Broken - price closed through it. Hidden by default, because showing them roughly triples what is on the chart.
You choose what counts as each. Break rule is close-through or wick-through; Test rule is wick-touch or close-inside. Break beats test on the same bar, and the lifecycle only ever runs one way - a broken zone never becomes fresh again.
Flip broken zones, off by default, draws a fresh zone of the OPPOSITE type at the same levels when a zone breaks. The broken zone stays broken - this creates a new zone rather than reversing an old one, so nothing already on your chart changes what it claims to be. One generation only.
How it differs from a standard zone tool
The grade is a consequence of the construction, not a bolt-on - a swing-pivot band inflated by a fixed ATR width has no tightness to measure, and a fair-value gap has no base at all. Only something that finds a consolidation and THEN measures the move away from it has the two numbers to divide.
Strength is the visual language - the ranking is carried by glow and fill depth, so the chart is read at a glance instead of decoded. No letter appears on the box unless you ask for one.
The chart is kept bounded on purpose - a cap per side, a maximum age, broken zones hidden, and an overlap rule that will not admit a new zone sitting on top of a live one.
A theme system, not a colour picker - nine curated palettes, one of them built for a light chart, and three appearance presets over the top.
Nothing about the grade is hidden - the score is one division, the two thresholds it divides are the same ones detection already applied, and every constant is a named value in source you can read. A trust signal, not the pitch: what you are here for is the zones.
The visuals
Layered glow, not a flat rectangle - concentric halo boxes off a single Glow intensity control, with a floor so no layer is ever invisible. Glow spread sets how far the halo reaches.
Fill, border and edges are independent - each carries its own colour, width and style, and each can be switched off. Border off leaves the fill and the glow; fill off leaves an outline.
Emphasise nearest zone - thickens the border of the zone closest to price on each side.
50% line - the midpoint mitigation level, off by default, with its own colour and style.
Labels - Type, Type + age, Type + grade, Type + touches or Age; four positions, four sizes, a bar offset; worded Supply/Demand, the full pattern name or the trade shorthand. Every label carries a hover breakdown: pattern, span, state, age and grade.
Zone count table - a small optional panel counting what is on the chart.
Master opacity - fades every colour together in one control, without touching any individual setting.
Alerts
New demand zone
New supply zone
Zone tested
Zone broken
Create these from PulseWire's alert dialog. How often an alert re-fires while its condition holds is set in that dialog, not in the script. A running alert keeps the inputs, symbol and timeframe it was created with - recreate it after changing any of them.
How to use it
Pick a detection style first - Scalp, Intraday or Swing. It is the only setting that changes WHAT gets found; everything else changes how what was found looks.
Works best on a 5-minute chart or lower - a zone needs a completed base and a completed departure to print, and that pattern completes far more often per session on a fast chart than a slow one, so a 5-minute-or-lower timeframe gives you more zones to read.
Read the fresh zones first - they are the brightest, and they are the areas price has not returned to.
Read the grade as build quality - a Strong zone came from a tight base and a decisive departure, a Weak one only just cleared both tests. Both are drawn, because knowing which is which is the point.
Watch a zone dim - each test steps it further back. A zone tested three times looks like what it is.
Set the look once - Preset gives you the vivid default, a clean one and a minimal one in a click, or Custom to set everything yourself; Colour theme gives nine palettes; Master opacity fades the lot. Then leave it alone.
Hover anything unclear - all 63 inputs carry a tooltip, and every zone label carries a breakdown.
What it deliberately does not do
It reads the open, high, low, close and volume of the chart you have open, and nothing else. There are no request.security() calls, no other symbol, no higher-timeframe import, and no options or order-book data of any kind.
So it does not know about order flow, dealer positioning, or where anyone's orders actually are. Supply and demand here name where a price move ORIGINATED. They do not name a measured book, and the words that would imply otherwise are kept out of every string this script ships.
It draws no entries, exits, targets or arrows, and makes no accuracy, reliability, profitability, probability or future-result claim of any kind. The grade describes an area built from bars that have already printed: a construction score establishes neither future direction nor the quality of any trade. Educational chart context only - not financial advice.
Data, timeframes and what to check yourself
Zones are created from confirmed bars only - a completed base and a completed departure. Once created, a zone's geometry does not move: its top, bottom and left edge are fixed, and only its lifecycle state changes, one way, on closed bars. Confirm it with the bar-replay tool on your own symbol and timeframe before relying on it - a description of mechanism is not that check, and nothing here claims to be.
The three Data Window values read the live close - the two distances and the inside-zone flag. They create, test, break and prune nothing.
The zone count is bounded by Pine's drawing limits - the source declares budgets of 500 boxes, 500 lines and 100 labels, and every glow layer, edge line and label spends from them. Max zones per side and Max zone age are the controls that keep you inside.
Standard time-based candles - on Heikin Ashi, Renko or Range the engine measures those synthetic values rather than traded prices, so the bases it finds are not the bases on your price chart.
Base tightness is not a strictness dial - the zone count peaks in the middle of its range and falls away at both ends, which is why the range stops where it does. Loosening it past the peak draws FEWER zones, not more.
Detection needs history - ATR(14) must exist before anything can be measured against it, so the opening bars of a chart produce nothing.
Originality and credit
Supply and demand zones are old ground. What is new is that the construction is measured, and the measurement is what you see: base tightness and departure distance resolved into one score, that score frozen on the bar that creates the zone, and the ranking expressed as glow and fill depth rather than as a label to decode.
Open source under the Mozilla Public License 2.0. (c) Auction Foundry.
Indicator

Trade Wzrd - Tide [Rampage Series]✨ TRADE WZRD - TIDE ✨
Every price level has an owner. Not a metaphor - a measurement.
Tide splits the range's volume row by row into buy mass and sell mass , finds the levels one side owns outright, and draws them as living lines on the chart - with a graveyard of the levels that came before.
⚡ THE RAMPAGE SERIES ⚡
Tide is a release in the Rampage Series - a growing family of volume-and-levels tools built by Trade Wzrd. Every Rampage script ships with the same built-in automation layer: signals don't just paint, they speak. One alert, one webhook, and every entry, exit and fill fires a plain-text order string.
⚡ THE OWNERSHIP ZONES (THE HERO) ✨
Every bar's volume is divided by who won the close - bars that closed high are buyers' mass, bars that closed low are sellers' mass - then spread across the price rows it touched. When one side owns 65%+ of everything traded at a row (your threshold), that row is a SHELF. Tide paints the two that matter right now as ownership ZONES : the highest buyer shelf below price as a soft cyan field, the lowest seller shelf above it in red - the exact band one side owns, a glow bed under a bright edge, and the ownership printed right inside the zone: "78% OWNED BY BUYERS" . A tag at the right edge carries the price and the percentage; hover it for who owns it, since when, and exactly where it dies. A zone stays alive until price closes clean through it - then it dies where it fell, no ghost, because a failed level is just a line.
⚡ THE FOSSILS (THE HISTORY) ✨
When a shelf is replaced - not broken, just handed off to the next level - it fades into a fossil: a dotted ghost in its owner's color, frozen at the bar it was born. Fossils stay on the chart until the market mitigates them: price trades through a ghost and it's erased. What's left is the archaeology of the setup - every level that used to matter, still standing where it stood, until the market itself takes it down. Cap the graveyard or turn it off in the Fossils group.
⚡ THE POOLS (THE LIQUIDITY) ✨
Equal highs and equal lows are not coincidences - they're where the stops rest. Tide clusters swings within a tolerance you set into liquidity POOLS, and draws them as gold levels: the exact price, the touch count that built them (×3 = three equal highs worth of stops), dashed while the liquidity rests. Then the raid comes: a wick through the pool that closes back = the sweep. The chart stamps it in gold, the pool marks itself TAKEN in dots, and it dies honestly when price consumes it or time forgets it. And here's the fusion: a fresh sweep near a shelf fuels the defense - conviction rises, and the chip's hover tells you exactly why: "the sell stops are already taken." The dashboard's POOLS row names the nearest pool each side with its touches and distance in ATR.
⚡ THE CROWN & THE CENTER ✨
The dashed white line is the Point of Control - the row where the most mass traded in the range, price tagged at its end. The optional volume-center line is the 50/50 magnet every defense aims for. The full ownership numbers - undertow, POC, shelf count, balance - live on the dashboard, one glance away.
⚡ THE DEFENSE (THE SIGNAL) ✨
Price returns to a shelf and the owners defend it: a dip into a buyer shelf that closes back above = BUY · DEF. A poke into a seller shelf that closes back below = SELL · DEF. One defense per shelf per touch - a fired shelf releases only when price escapes it cleanly, so fresh touches can defend again but wick-spam cannot. Stops frame the shelf's far edge: if price trades through the shelf, the defense failed, honestly. Targets default to the VOLUME CENTER - the 50/50 magnet of the range's mass - capped at 3R with an R-multiple fallback.
⚡ THE UNDERTOW ✨
Beneath the rows, one number: the range's net delta. BULL +18% means the mass leans long; BEAR -12% means it leans short; BALANCED means the tide is slack. It's the dashboard's top row because it's the context every defense swims in.
⚡ CONVICTION & THE DATABASE ✨
Every defense carries one compact number - CONVICTION. Underneath: this chart's own live database, defenses bucketed by the shelf's dominance (owned / dominated / ruled) . That tier win rate is the base - then the score bends with the scenario: how owned the shelf is, balance alignment (defending from the side of value), kinetic fuel, absorption. Fused into one grade from 5 to 95. Hover any chip: the shelf's exact price band, who owns it and by how much, the tier's win rate and sample depth, balance, undertow, fuel. Nothing hidden.
⚡ THE SCHEDULE ✨
Every closed trade is filed by session - Asia, London, New York, off hours - and the dashboard learns which hours the defenses hold on this chart, with this logic. When the schedule has enough receipts, BEST SESSION names the shift.
⚡ BUILT-IN AUTOMATION ⚡
One alert ("Any alert() function call") + your webhook URL, and Tide speaks Trade Wzrd order strings:
⚡ Entries with SL/TP prices attached
⚡ Optional opposite-signal close prepended to new entries
⚡ TP/SL-hit close alerts that mirror the on-chart trade box
The same readable comma syntax drives automation across 7+ platforms - percent-risk or fixed-volume sizing, magic numbers, order comments. No lock-in: plain text, any endpoint.
✨ HOW TO READ IT ✨
⚡ Cyan zone below price = the band buyers own, defending longs - ownership % printed inside, price + % on the edge tag
⚡ Red zone above price = the band sellers own, defending shorts - same receipts
⚡ A zone that vanishes without a ghost = it broke: price closed clean through it. Failed levels leave no fossils
⚡ Dotted colored ghosts = fossils: shelves that handed the job off, standing until the market mitigates them
⚡ Gold dashed levels = liquidity pools: equal highs/lows where stops rest - tag shows price × touches
⚡ Gold POOL ×3 stamps = the raid: stops swept and rejected; the pool goes dotted TAKEN until it dies
⚡ A defense firing right after a sweep = the strongest setup Tide knows - conviction gets the fuel, hover says why
⚡ Dashed white line = the Point of Control, price tagged - where the most mass traded in the range
⚡ BUY · DEF 68 / SELL · DEF 71 chips = a shelf defended itself - the number is conviction
⚡ Gold diamonds = absorption: climax volume, no progress - someone ate the book right there
⚡ Dashboard: undertow, POC, shelf count, who's defending, database, best session, record, fuel
⚡ HOW TO USE ⚡
⚡ Drop it on any liquid symbol with volume, 15m to 4H - ownership maps everywhere
⚡ Let it run. The database and the session schedule start empty - they grow teeth from this chart's own history
⚡ Watch the tiers: if ruled shelves (90%+ ownership) earn more than owned ones, raise Shelf Dominance and let the weak ones go
⚡ Set Min Win Probability once the tiers have samples - cold tiers filter themselves out
⚡ Turn on Balance Alignment to defend only from the side of value
⚡ Wire one alert when you're ready to automate
✨ LIMITATIONS ✨
⚡ Buy/sell mass is estimated from where each bar closed inside its range - a proven approximation, not exchange order-flow. On symbols without volume, the profile, undertow and conviction stand down
⚡ Conviction starts from this chart's own history , tiered - a sample, not a promise. Small samples lie confidently; the hover tells you when a tier is young
⚡ The database resets when you change symbols, timeframes, or core settings - every context earns its own track record
⚡ Shelves defend best in rotation; in runaway breakouts price doesn't come back to defend anything - that's what the trade box's stop is for
Rift maps WHERE the volume traded. Tide knows WHO OWNS EVERY PRICE - and watches them defend it. Null Range knows WHERE THE VOLUME NETS TO NOTHING.
Educational shell. Not financial advice. Not a signal service.
Indicator

Zone Flow S/R StrategyZone Flow S/R Strategy
📌 Strategy Overview
Zone Flow is a multi‑timeframe support/resistance strategy that uses dynamic pivot‑derived zones to identify high‑probability reversal and breakout setups.
Unlike static support/resistance lines, this 9‑level zone system (R4–R1, P, S1–S4) automatically adapts to market structure changes at each new period (Daily/Weekly/Monthly). Each zone has a configurable width (Percentage, ATR, or Fixed) to account for volatility, and a breakout threshold to filter out minor wicks.
# Unique Synergy
Most pivot strategies treat levels as static lines, leading to false breakouts. Most engulfing strategies ignore the bigger picture, catching falling knives. This strategy solves both problems by combining these components in a specific sequence:
1- Dynamic Zones + Gap State Machine (The Context)
Instead of just drawing lines, we create zones (R1-R4, P, S1-S4) with adaptive width. More importantly, the Gap State Machine tracks which gap price sits in (e.g., between R1 and Pivot). This tells us exactly where we are in the market structure. If price moves from upper Gap to lower Gap, the strategy instantly switches sentiment from Bullish to Bearish.
- Why this matters: It prevents the strategy from trading blindly; it only trades when price is transitioning between structural levels, and price retrace to the zone drastically reducing false signals in the middle of nowhere.
2- Pin Bar Sweep + Engulfing Combo (The Momentum Trigger)
A standard pin bar alone is a weak reversal signal. A standard engulfing pattern alone is common. However, when a Pin Bar sweeps the N-bar high/low (proving a breakout attempt failed) and is immediately followed by an Engulfing pattern on the next candle, this combo represents a "double confirmation" of exhaustion.
Crucially, this specific combo overrides the EMA confirmation.
- Why this matters: Strong momentum sweeps often happen against the short-term EMA trend. By allowing this specific combo to bypass the EMA, the strategy captures powerful reversals that pure trend-following strategies miss.
3- Dynamic Zone Width (The Volatility Adaptation)
Instead of using fixed support/resistance, the zone width changes based on the selected Period's ATR or Percentage.
- Why this matters: This ensures the strategy scales perfectly across any asset (Gold, Crypto, Forex) without manual width adjustments, making it robust across different volatility regimes.
4- Selective Zone Activation (The Manual Override)
Unlike standard pivot systems that force trades on every level, the Zone Selection inputs allow users to disable specific zones (e.g., turn off R3 if price often fakes out there or turn off S4 market is always get exhausted lower probability trade).
- Why this matters: This turns the strategy from a rigid algorithm into a customizable framework where the user can apply their own discretion based on historical price behavior.
5. Hierarchical EMA Architecture (The Structural Governor)
This strategy does not treat all EMAs equally. It uses a two-tier EMA system with a strict hierarchy:
Lower TF EMA (Optional & Overrideable): The Lower TF EMA on the current timeframe acts as a micro-trend filter. However, as explained above, the Pin Bar Sweep + Engulfing Combo can override this filter. Why? Because strong institutional reversals often happen against the short-term trend, and we want to capture them.
Higher TF EMA (Absolute & Non-Negotiable): Higher TF EMA on the selected Higher Timeframe acts as an "Absolute Structural Governor." Unlike the lower EMA, this filter cannot be overridden by any pattern.
For Long entries: Price must be above this HTF EMA.
For Short entries: Price must be below this HTF EMA.
Most strategies either ignore the HTF entirely. By making the HTF EMA absolute and the LTF EMA overrideable, this strategy achieves the perfect balance:
The HTF EMA prevents catastrophic drawdowns by keeping you on the right side of the bigger trend.
The LTF EMA override allows you to catch sharp, high-probability reversals within that trend without being delayed by a slow-moving micro-filter.
6. Optional Risk Architecture (The Management Layer)
The strategy includes a built-in partial-take-profit and breakeven module. By default, this module is disabled to provide a clean, straightforward 1:3 risk-reward backtest without the complexity of multiple exit orders.
This default setting allows users to evaluate the core entry logic (zones + patterns) without interference from partial exits.
However, for traders who want to reduce psychological pressure or manage Gold's notorious retracements, they can enable Allow Breakeven and Allow Partial TP. When activated, the strategy closes a percentage of the position (e.g., 50%) at a lower R:R threshold (TP1) and moves the remaining position to breakeven—locking in early profits while letting the rest of the trade run.
# Zone Calculation
The strategy calculates 9 zones using a modified pivot point formula from the selected period (Daily, Weekly, Monthly, Quarterly, Yearly):
The pivot formula can be one of 5 methods: Classic, Fibonacci, Woodie, Camarilla, or DM.
The Classic Pivot (shown below) is the most widely used and serves as the default:
Pivot (P) = (H + L + C) / 3
R1 = (2 × P) – L
S1 = (2 × P) – H
R2 = P + (H – L)
S2 = P – (H – L)
(R3, R4, S3, S4 are logical extensions of this same principle)
Additional Methods (Briefly Explained):
Fibonacci: Uses the golden ratio multipliers (0.382, 0.618, 1.000, 1.618) to place support/resistance levels between the pivot and the high/low range.
Woodie: Gives extra weight to the closing price (Formula: P = (H + L + 2C) / 4), making it more sensitive to the current session's momentum.
Camarilla: Uses multipliers based on the previous range to place levels very close to the current price, ideal for range-bound trading and scalping.
DM: Adjusts the pivot formula conditionally based on whether the close was higher or lower than the open, making it adaptive to daily sentiment.
From these, the strategy derives:
- 4 Resistance Zones (R4, R3, R2, R1) – above the pivot
- 1 Pivot Zone (P)
- 4 Support Zones (S1, S2, S3, S4) – below the pivot
Each zone is expanded by a Zone Width to create a buffer, making the levels more practical.
# Zone Width Calculation
Three modes:
- Percentage – zone width as a percentage of current price
- ATR Multiplier – width = ATR × Multiplier
- Fixed – fixed price distance
# Gap Index Mapping (0–9):
Gap 0 – Above R4 → Aggressive (no trades)
Gap 1 – Between R4 and R3 → Bearish near R4, Bullish near R3
Gap 2 – Between R3 and R2 → Bearish near R3, Bullish near R2
Gap 3 – Between R2 and R1 → Bearish near R2, Bullish near R1
Gap 4 – Between R1 and Pivot → Bearish near R1, Bullish near Pivot
Gap 5 – Between Pivot and S1 → Bearish near Pivot, Bullish near S1
Gap 6 – Between S1 and S2 → Bearish near S1, Bullish near S2
Gap 7 – Between S2 and S3 → Bearish near S2, Bullish near S3
Gap 8 – Between S3 and S4 → Bearish near S3, Bullish near S4
Gap 9 – Below S4 → Aggressive (no trades)
Based on the gap index and price action, the strategy sets allowLong or allowShort – and displays the status on the info table.
Market Status Displayed:
- Bullish – near support zones; long trades allowed
- Bearish – near resistance zones; short trades allowed
- Waiting – new period started; zones recalculating; no trades
- Aggressive – above R4 or below S4; no trades
- Zone disabled – manually disabled zone; no trades
# Entry Signals
1. Engulfing Patterns
Detects bullish and bearish engulfing with filters:
- Body Only – if true, only bodies must engulf (not full range)
- Min/Max Range – can be Percentage, ATR Multiplier, or Fixed
- Gap Allowance – max price gap between previous close and current open
- Previous or Prior Candle – at least one of the last two candles must be the opposite. color (bearish for bullish engulf; bullish for bearish engulf).
This is not a random condition. The strategy only considers trades when price is near a strong structural zone (support/resistance). Because the zone itself provides the primary context for a potential reversal, the immediate previous candle does not need to be strictly opposite in color.By relaxing the requirement to "at least one of the last two," the strategy captures valid reversals at key levels that a strict, textbook rule would miss—while remaining highly selective because it only trades near strong zones.
2. Pin Bar + Engulfing Combo (EMA Override)
Identifies hammers/shooting stars with:
- Wick/Body Ratio (Wick 3× body)Requires a clearly defined pin bar with a very small body.
- Max Body/Range (Body is at most 20% of range) Ensures the body is genuinely small relative to the total range. This is the textbook definition of a pin bar/hammer. Captures true rejection candles.
- Min Wick/Range (70% of range) This is the classic pin bar definition. A 70%+ wick means price aggressively rejected the level and reversed.
- Sweep Lookback – bullish pinbar must break the lowest low of the previous N bars;
bearish must break the highest high
a pin bar that sweeps a recent extreme (lookback) and the very next candle forms an engulfing pattern in the same direction. This combo overrides the Lower TF EMA confirmation – a unique feature that captures strong momentum after a sweep.
Combined Entry Requirements
All of the following must be true:
1. Valid engulfing or pin+engulf combo
2. Pattern occurs near a zone (open inside zone boundaries or crossing it)
3. Market status aligns with trade direction
4. Daily trade limit not exceeded (default: 2)
5. Relevant zone is enabled
6. Price is on the correct side of EMAs (unless overridden by combo)
7. HTF EMA confirms (if enabled)
8. RSI not overbought/oversold (if enabled)
9. Not within the no‑trade window (if enabled)
-----------------------------------------------------
# Confirmation Filters
Current TF EMA – ensures micro‑trend alignment. Overridden by pin+engulf combo.
Higher TF EMA (default 150 on 1H) – filters out counter‑trend moves in the bigger picture.
RSI – prevents buying above 70 and selling below 30.
Bollinger Bands – blocks trades when volatility is too low (BB width below threshold).This filter is specifically designed for assets that range heavily—choppy, sideways markets.
No‑Trade Window – avoids end‑of‑day volatility (active only for timeframes ≤15min).
# Risk & Position Management
1- Position Sizing:
- Risk per trade – percentage of equity for first trade, separate for second
- Position size = (Account Risk) / (Entry – SL distance).
- Second trade does not increment the daily trade counter:
This is a deliberate design choice. The daily trade counter tracks new trade initiations, not total positions. The second trade (pyramiding) is considered a continuation of the existing position, not a new independent decision. This ensures the strategy can scale into strong trends without consuming the daily limit, while still respecting the maximum number of new entries per session.
2-Stop Loss Options:
- Low-High – entry bar low/high ± buffer Tight, reactive stops. Best for scalping or when you want the SL to follow the immediate price action of the entry candle.
- Swing high/low – N-bar low/high ± buffer Broader, structural stops. Ideal for swing trading or when you want the SL to respect recent market structure rather than a single bar.
- Zone – zone boundary ± buffer Structural stops aligned with pivot levels. Best when you want the SL to be placed exactly at the structural support/resistance level that defines the trade.
- Fixed distance – fixed price distance Simple, static stops. Useful when you know your exact risk tolerance in dollar/pip terms and want a consistent SL distance regardless of volatility.
- ATR Multiplier – entry ± (ATR × multiplier) Volatility-adaptive stops. Best for Gold's changing volatility—widens during news/high volatility, tightens during calm periods.
3- Take Profit:
- Main R:R ratio – main R:R ratio (default 1:3), plus optional partial TP and breakeven at a lower R:R ratio.
- Partial TP – close a percentage of position at a lower R:R (TP1)
- Breakeven – optionally move stop to entry at TP1
4- Trade Counter Reset:
- For TF ≤ 15m: resets at NY (9:30 AM) and London (3:30 AM) starts (configurable)
This aligns with Gold's session-specific volatility and allows fresh participation in each session while preventing over-trading within a single session.
- For TF > 15m: resets once per day at session start (Every new day) Session-specific behavior is less relevant on higher timeframes, and a simple daily cap is more appropriate for swing trading.
5- No‑Trade Window:
- Avoids high‑volatility periods (e.g., end of day)
- Active only for TF ≤ 15m (16:00 PM – 18:30 PM NY time, configurable) End-of-day volatility spikes can cause excessive slippage and erratic price action on short timeframes. on TF > 15 The window is too short to be meaningful; higher timeframe traders are less affected by brief volatility spikes.
6- Session Close:
- TF ≤ 15m: can close at day end and/or week end (configurable). Scalping trades on 1m–15m charts typically last minutes to a few hours. These trades are highly sensitive to Overnight gaps, Weekend gaps
- 15m < TF ≤ 10h: only week end. Swing trading on 30m–4H charts typically lasts hours to several days.
- TF > 10h: feature disabled. Position trading on daily+ charts lasts days to weeks. These trades aim to capture large macro moves.
# Chart Display
- Zone boxes – semi‑transparent red/pink with labels (R4…S4), auto‑cleanup (max 55 periods)
- Trade management lines – entry (white), SL (red), TP (green), TP1/breakeven (dashed),
with green/red fills; auto‑cleanup ((4) * max 125)
- Info table (top‑right) :
1. shows Market Status(Bullish/Bearish/Aggressive/Waiting).
2. EMA confirmations.
3. Zone Width, Breakout threshold.
4. Engulf range max min.
5. SL settings(SL refrence, sL bufer)
- EMA plots – light blue (lower TF) and light red (higher TF)
- Signal shapes – hidden by default (can be enabled via style settings)
- arrowdown shapes - "Reset trade counter"
- Background 1 color – yellow during no‑trade window
- Background 2 color – white close all position on week/day end.
UI Note: Inputs are hidden from the status line to keep your chart clean. All settings (zones, EMAs, risk, patterns) remain fully adjustable in Settings → Inputs.
# Default Settings – Optimized for XAUUSD (Gold)
All default values have been calibrated specifically for Gold's typical volatility and intraday structure.
(Setting : Default : Why This Works for Gold)
----------------------------------------------------------------------------------------
Period : Daily : Gold respects daily highs/lows as key structural levels.
-----------------------------------------------------------------------------------------
Pivot Type : Classic : Most widely used and reliable for Gold.
-----------------------------------------------------------------------------------------
Zone Width : ATR (0.053× ATR(14)) : ATR(14) provides a stable, week-to-week view of Gold's volatility (roughly two trading weeks of data).Adapts to Gold's daily volatility (Zone Width often $4–$10 range).
-----------------------------------------------------------------------------------------
Breakout Threshold : 7% of zone width : Zone width ≈ $3.00–$10.00 (Daily ATR × 0.053). 7% ≈ $0.21–$0.70 (21–70 ticks)—filters noise wicks, captures genuine breaks.Prevents false transitions caused by standard stop-hunting wicks
-----------------------------------------------------------------------------------------
Engulfing Range : ATR(14) (0.375× – 2.5×) : ATR(14) sits in the "sweet spot"—responsive enough to capture shifts in Gold's volatility relatively quickly, yet long enough to smooth out the daily noise and provide a reliable, consistent measure. Captures meaningful moves $3–$15—ensures candle has enough size to be meaningful, rejecting tiny $0.30–$0.50 noise patterns, while filtering out massive blow-off spikes (> $20–$25 on 15m).
-----------------------------------------------------------------------------------------
Pin Bar Sweep : 12 bars : 12 bars – Calibrated for Gold's 3-hour intraday cycle and session transitions. Long enough to capture genuine liquidity grabs, short enough to avoid outdated levels.
-----------------------------------------------------------------------------------------
Risk per trade : 2% (1st), 1% (2nd) : Balances risk with Gold's occasional false breakouts. For Gold's volatile nature, 2%-1% provides the best balance between survival and growth.
-----------------------------------------------------------------------------------------
Risk:Reward : 1:3 : Gold routinely moves 1.5–2× its ATR in a single directional push. A 1:3 target is well within Gold's typical daily range.
-----------------------------------------------------------------------------------------
Stop-Loss Reference : ATR Multiplier : For Gold's volatile nature, a static stop-loss (Fixed or Low-High) cannot adapt to changing volatility. ATR-based SL scales with market conditions—widening during high volatility (news, session opens) and tightening during calm periods. This ensures the stop-loss is always "fair" relative to current market conditions, preventing premature stops during normal volatility spikes
-----------------------------------------------------------------------------------------
Stop-Loss Multiplier : 1.8× ATR(14) : A 1.8× ATR(14) stop-loss represents 1.8 times Gold's average 14-period range. Why 1.8× and not 2.0× or 1.5×? Backtesting revealed that 1.8× is the "sweet spot"—wide enough to survive Gold's normal volatility spikes without being stopped out by noise, yet tight enough to limit losses
-----------------------------------------------------------------------------------------
Current TF EMA : 21 (Enabled, Overrideable) : On 15m chart = 5.25 hours—perfectly captures Gold's average intraday move length. Can be overridden by Pin Bar + Engulfing Combo to catch institutional reversals that occur against the short-term trend.
-----------------------------------------------------------------------------------------
Higher TF EMA : 150 on 1H : On Gold, a 150-period EMA on a 1H chart represents roughly 6.5 days (one full trading week) of data. By making this filter absolute, the strategy guarantees it will never take a counter-trend trade against the weekly macro-structure.trend.
-----------------------------------------------------------------------------------------
Filter (RSI) : length 12 : Most traders default to RSI(14), but RSI(12) is intentionally faster for Gold's volatile intraday moves. Gold often spikes into overbought/oversold territory and reverses quickly. A 12-period RSI reacts ~15% faster than RSI(14), catching these reversals earlier while remaining smooth enough to avoid excessive whipsaws.
-----------------------------------------------------------------------------------------
Filter (Bollinger Bands) : Disabled by default : Gold is historically a trending asset with strong directional moves. A low-volatility filter would unnecessarily block valid entries during these trends. Designed for range-bound assets (choppy crypto, certain forex crosses)—enable it only if your market consolidates heavily.
-----------------------------------------------------------------------------------------
These values are a starting point – you may adjust them for other assets or personal risk tolerance.
# Important Notes on Backtest Realism
- Commission – Most ECN/raw-spread brokers charge $3.00–$3.50 per side (round-turn commission of $6.00- $7.00) for 1 standard lot (100 oz) of XAUUSD. Standard accounts usually build the fee into a wider spread instead of charging a separate cash. This strategy deducts $3.50 per entry and $3.50 per exit ($0.035 × 100 oz)round-turn commission of $7.00. Adjust this to match your broker's exact fees.
- 4 ticks Slippage - For XAUUSD, 1 tick = $0.01 per ounce. 4 ticks = **$0.04 per ounce (unit)**. Accounts for real-world price . Prevents overly optimistic backtest equity curves.
Always adjust the commission value to your broker's exact fee structure before relying on the results.
"A backtest without realistic commission and slippage is a fantasy. A backtest with realistic commission and slippage is a truthful reflection of what you can expect when trading live."
- Intra-Bar Execution: The strategy uses calc_on_every_tick = true, meaning it recalculates on every price tick during real-time trading. This allows the breakeven and partial TP logic to trigger immediately when price hits TP1, protecting the trade from intra-bar reversals.
Note: Backtests use OHLC data only, so intra-bar fills and breakeven triggers cannot be perfectly simulated. Real-time performance may differ from backtest results due to this limitation
# The Core Innovation (Why This Isn't Just a Mashup)
This strategy is built on a three-layer validation system. Each layer solves a specific problem that the other layers cannot solve alone.
Layer 1 (The Structure): Dynamic Pivot Zones
Layer 2 (The Trigger): Pin-Bar Sweep + Engulfing Combo
Layer 3 (The Execution): Gap State Machine
Here is how they interdepend to create a unique edge:
1. Adaptive Pivot Mathematics (The "Regime Matching" Logic)
Instead of offering multiple pivot types just for the sake of it, this strategy provides them so the trader can match the mathematical formula to the market's current behavioral regime:
Why this matters: Most strategies lock you into one formula. This strategy acknowledges that price dynamics change, and it gives you the mathematical weapon to adapt without rewriting the entire code.
2. The "Liquidity Grab" Trigger (Sweep + Engulfing Combo)
This is the most critical edge of the strategy. A standard Engulfing pattern is common. A standard Pin Bar is common. But when they occur sequentially—a Pin Bar that sweeps the 12-bar extreme, immediately followed by an Engulfing candle—it represents a textbook institutional "liquidity grab."
- The Logic: Large players often push price to sweep obvious stop-losses (above highs or below lows) before reversing the trend.
- The Override: Crucially, this specific combo overrides the Lower TF EMA confirmation.
- Why this is a breakthrough: Standard trend-following strategies with a hard EMA filter will miss these reversals because price is moving against the EMA in the short term. By programming this specific override, the strategy captures the exact moment of institutional reversal—catching the move before the EMA flips and the trend-followers finally enter.
3. The Gap State Machine (Dynamic Sentiment Tracking)
Unlike static support/resistance scripts that just plot lines and wait for touches, this strategy features a state machine that tracks which of the 9 gaps (between R4-R1, Pivot, S1-S4) the price currently occupies.
- The Mechanism: A Breakout Threshold (default 7% of zone width) acts as a "dead-zone" filter. Price must exceed this threshold to officially transition from one gap to another.
- The Alpha: This prevents the strategy from whipsawing during minor noise. When price crosses from Gap 4 (between R1 and Pivot) into Gap 3 (between R2 and R1), the strategy instantly and autonomously switches market status from "Bearish" to "Bullish" or vice versa.
4. Selective Zone Activation (Strategic Discretion)
- This strategy allows the user to completely disable specific zones (e.g., turn off R3).
- The Value: By disabling a weak level, the user forces the strategy to wait for the next stronger level, instantly increasing the win rate and filtering out historically weak signals without altering any other code.
5. Non-Invasive Risk Architecture (Clean Defaults)
For traders who want to reduce psychological pressure or optimize for Gold's notorious retracements, they can enable these modules. When activated, the strategy closes % of the position at a lower R:R threshold and moves the remaining position to breakeven—locking in profits while letting the rest run.
In Summary: The "Mashup" Justification
This is not a random collection of indicators.
1. The State Machine provides the structural context.
2. The Pin+Engulf combo provides the high-conviction trigger that overrides slow-moving filters.
3. The Selectable Pivot Types provide the mathematical adaptability to different assets.
4. The Selectable Zones provide the manual discretion to avoid historical losing levels.
5. The Disabled TP/BE by default provides a clean baseline for evaluating the core logic.
Author: Awab_Hassan
Strategy

Indicator

Day Trade Setup - CRT Session Range ModelDay Trade Setup - CRT Session Range Model
Day Trade Setup - CRT Session Range Model is a session-based market framework designed to identify important intraday reference ranges and combine them with liquidity sweeps, M15 imbalance gaps, market structure levels, and supply or demand zones.
The script is designed to help traders organize intraday price action around selected H1 session ranges. Instead of displaying isolated signals, it creates a structured map of the current setup, including the range high, range low, 50% midpoint, nearby liquidity events, and relevant M15 reference areas.
Core Concept
The indicator analyses predefined H1 trading periods and selects the most significant candle within each session window using a weighted candle score.
The score considers:
Candle body size
Upper and lower wick size
User-defined body weighting
User-defined wick weighting
The selected candle becomes the active session range. Its high, low, and 50% midpoint are then projected across the chart as reference levels.
The most recent valid session setup automatically becomes the active model.
Session Range Models
The indicator supports three session groups:
Dawn Range
The Dawn Range evaluates the H1 candles formed between 1:00 AM and 5:00 AM.
The script compares the five candles and selects the candle with the highest weighted body-and-wick score as the active range.
Morning Range
The Morning Range compares the 8:00 AM and 9:00 AM H1 candles.
The candle with the stronger weighted score becomes the active range.
Evening Range
The Evening Range compares the 8:00 PM and 9:00 PM H1 candles.
The stronger candle is selected as the active range.
Users can display one session model individually or enable all available sessions.
Active Range Display
When a new setup is selected, the indicator displays:
Session Range High
Session Range Low
50% midpoint
Session and hour label
Continuously extending reference lines
The 50% level helps divide the selected range into upper and lower halves, providing a visual reference for premium and discount areas within the setup.
The script replaces the previous active range when a newer valid session setup is confirmed.
Liquidity Sweep Detection
The indicator includes an optional liquidity sweep module that monitors price interaction with the active range high and low.
A potential bearish liquidity sweep may be identified when price:
Trades above the active range high
Returns and closes below the range high
Meets the selected volatility, body, and upper-wick requirements
A potential bullish liquidity sweep may be identified when price:
Trades below the active range low
Returns and closes above the range low
Meets the selected volatility, body, and lower-wick requirements
The liquidity sweep filter also includes a cooldown period to reduce repeated labels appearing within a short number of bars.
These markers represent potential liquidity-rejection events and are not automatic entry signals.
M15 Imbalance Gap
The script can locate a recent bullish or bearish M15 imbalance gap that formed before the active session setup.
The imbalance module:
Searches the latest M15 gaps
Considers only gaps formed before the active setup
Supports bullish, bearish, or both gap types
Filters gaps using ATR-based minimum size
Can restrict results to gaps near the session range
Locks the selected gap when a new setup appears
Displays the gap boundaries and midpoint
Only a qualifying gap whose midpoint is outside the active session range is displayed.
This helps traders identify nearby price imbalances that may act as reaction areas or potential liquidity objectives.
M15 Structure Levels
The indicator identifies previously confirmed M15 swing highs and swing lows using pivot-based market structure.
For each new session setup, the script searches for:
A confirmed structure high above the session range
A confirmed structure low below the session range
Only structure points that formed before the active setup are considered.
The selected levels are extended across the chart and labelled as:
STRUCT-HIGH
STRUCT-LOW
These levels may be used as external liquidity references, breakout levels, or potential price objectives.
M15 Supply and Demand Zones
The indicator also includes a simplified M15 supply and demand zone module.
A potential demand zone is identified from a bearish candle followed by a bullish displacement above that candle’s high.
A potential supply zone is identified from a bullish candle followed by a bearish displacement below that candle’s low.
The script applies body-strength and optional ATR range filters before accepting a zone.
For a bullish session setup, the script searches for a qualifying demand zone positioned above the session range.
For a bearish session setup, the script searches for a qualifying supply zone positioned below the session range.
Only zones formed before the active setup are considered.
The selected zone is displayed with:
Zone boundaries
50% midpoint
M15 zone label
Automatic right-side extension
Multi-Timeframe Structure
The model combines information from multiple timeframes:
H1 for session-range selection
M15 for imbalance gaps
M15 for structure highs and lows
M15 for supply and demand zones
Current chart timeframe for liquidity-sweep confirmation and display
The M15 modules are intended for charts between 1 minute and 15 minutes. Their drawings are hidden automatically on timeframes above 15 minutes.
Alerts
The indicator includes alerts for:
A newly selected session setup
A qualifying M15 structure high
A qualifying M15 structure low
A selected demand zone
A selected supply zone
The new setup alert identifies the symbol, selected model, and setup hour.
Suggested Workflow
A possible workflow is:
Identify the active H1 session range.
Observe whether price is trading above or below the 50% midpoint.
Wait for price to interact with the session high or low.
Look for a qualifying liquidity sweep.
Review nearby M15 imbalance gaps.
Check external M15 structure levels.
Use the selected supply or demand zone as additional context.
Apply independent entry confirmation and risk management.
The script is intended to organize market context. It does not automatically calculate an entry price, Stop Loss, Take Profit, position size, or trade outcome.
Customization
Users can adjust:
Light or dark visual theme
Active session model
Candle body and wick weighting
Line width and label size
Range projection length
Liquidity-sweep quality filters
Sweep cooldown period
Gap direction and ATR filter
Gap proximity to the setup
Structure pivot length
Supply and demand zone strength
Zone distance from the setup
These settings allow the model to be adapted to different symbols, volatility conditions, and trading styles.
Limitations
The session model uses fixed H1 time windows based on the symbol’s exchange or chart time context. Users should verify that the displayed hours match their intended trading session.
Pivot-based structure levels require candles on both sides of the pivot before confirmation. As a result, structure levels appear after the turning point has already formed.
Liquidity sweeps, imbalance gaps, and supply or demand zones do not guarantee a price reversal or continuation.
The script displays selected technical reference areas only. It does not account for spread, commission, slippage, economic news, liquidity conditions, or broker execution.
Because the script uses multiple timeframe calculations, some elements may update only after the relevant H1 or M15 candle has completed.
Disclaimer
Day Trade Setup - CRT Session Range Model is provided for technical analysis and educational purposes only.
It does not constitute financial advice, investment advice, trade recommendations, or guaranteed trading results. The displayed ranges, sweeps, gaps, structure levels, and zones are technical reference areas and should not be used as standalone entry signals.
Users are responsible for independently evaluating market conditions and applying appropriate risk management before trading with real funds. Indicator

CDC Action Zone+TrueMarket Mean (BTC Focus) By Beckte## Overview
This indicator is a macro-focused trend following and cyclical value tracking tool, specifically designed for Bitcoin (BTC) long-term investors. It combines the momentum logic of the well-known **CDC Action Zone** with a mathematical simulation of the On-Chain **Realized Price** model.
The main purpose of this script is to identify high-probability, macro-generational accumulation zones while filtering out early or false bottom signals during aggressive downtrends.
---
## Key Components
### 1. CDC Action Zone (Trend & Momentum)
Based on the classic EMA 12 and EMA 26 crossover logic, this component colors the candlesticks to reflect the market's current momentum:
- 🟢 **Bright Green:** Strong Bullish Momentum (Hold / Trend is up)
- 🔵 **Blue:** Early Bullish Sign / Potential Reversal (Watch closely or start accumulation)
- 🔴 **Bright Red:** Strong Bearish Momentum (Stay in cash / Wait)
- 🟠 **Orange:** Early Bearish Sign / Technical Rebound in Bear Market
### 2. Realized Price Proxy (The Cyclical Floor)
In on-chain analysis, the **Realized Price** represents the average cost basis of all aggregate Bitcoin supply moving on-network, without omitting lost or dormant coins.
Since native on-chain data requires external API subscriptions on PulseWire, this script utilizes a specialized long-term statistical proxy (**730-day SMA with custom logarithmic offsets**) to simulate this ultimate cyclical floor. Historically, major bear market bottoms (2015, 2018, 2022) have strictly formed near or slightly below this baseline.
---
## How it Works & Entry Strategy (The Anti-Doi Mechanism)
To avoid catching falling knives during a capitulation event, this script enforces a strict double-confirmation rule:
1. **Value Zone Check:** The current market price must correct down to within **10% of the Realized Price Proxy** (the light blue line). This ensures you are buying Bitcoin at an extreme discount relative to historical network value.
2. **Momentum Trigger:** Once inside the Value Zone, the script waits for the **CDC Action Zone to flip from Red/Orange to Blue or Green**.
When both conditions are met, a **"REALIZED BUY"** label will plot beneath the candlestick, signaling a safe, low-risk entry spot with a highly compressed downside.
---
## Disclaimer & Credits
- **Credits:** The trend-following logic is inspired by the legendary "CDC Action Zone" concept popularized by Piriya Sambandaraksa. The valuation floor is based on the Realized Price on-chain metric conceptualized by the crypto-asset research community.
- **Disclaimer:** This indicator is designed for high-timeframe spot accumulation (recommended: 1D or 4H charts). It is not a financial advisory tool or a guarantee of future profits. Past performance does not indicate future results. Always practice proper risk management. Indicator

Confluence Zone Engine [CZE]# Confluence Zone Engine
A structural analysis indicator that identifies support and resistance zones by clustering Anchored VWAPs and Anchored Volume Profile levels across the chart timeframe and up to three higher timeframes. Each zone is rated 1 to 5 stars based on how many independent sources cluster at the level and how diverse those sources are.
This is a structural analysis tool. It marks where multiple independent technical references agree at a price. It does not place trades or suggest entries, exits, targets, stops, or position sizes.
---
## What this script does
The engine runs a six-stage pipeline on every confirmed bar:
**Stage 1 — Pivot detection.** Detects pivot highs and pivot lows at Fibonacci-spaced lengths (3, 5, 8, 13, 21, 34, 55, 89). Each pivot becomes an "anchor" point. Default enabled tiers are 8, 21, and 34 — selected to give fast / medium / slow coverage without redundancy. The full Fibonacci set is configurable.
**Stage 2 — Per-anchor calculations.** For every anchor, the engine maintains:
- An Anchored VWAP (volume-weighted average price since the anchor bar)
- An Anchored Volume Profile, which produces a Point of Control (POC = most-traded price since anchor) and a Value Area (VAH and VAL = upper and lower edges of the 70% volume zone)
So a single pivot generates up to 4 contributor levels: AVWAP, POC, VAH, VAL.
**Stage 3 — Higher-timeframe replication.** The same pipeline (stages 1 and 2) re-runs on up to three configurable higher timeframes via non-repainting `request.security` calls. This produces a multi-timeframe view of structural anchors — pivots and AVWAPs from a 1H chart inform what the 5m engine treats as a higher-timeframe reference.
**Stage 4 — Cluster building.** All contributor levels from all enabled timeframes are collected. The cluster builder walks them in price order, merging any that fall within a configurable tolerance (default 0.08% of current price; preset-adjusted per asset class). A cluster with at least the minimum-count threshold becomes a candidate zone.
**Stage 5 — Star rating.** Each zone is rated 1 to 5 stars based on:
- Total contributor count
- Source-type diversity (how many of the 4 source categories — PH-AVWAPs, PL-AVWAPs, POCs, VAH/VAL — are present)
- HTF agreement (whether contributors from multiple timeframes align)
A "Premium" tier flag fires when top stars combine with HTF agreement.
**Stage 6 — State machine.** Each zone is tracked through a lifecycle:
- **Active** (forming, amber): the zone is currently accumulating contributors
- **Pending** (blue): contributor activity has paused; waiting for price to resolve the level
- **Resolved Support** (green), **Resistance** (red), or **Chop** (gray): determined by whether price moved decisively up, decisively down, or stayed range-bound after the zone activated
- **Tested** (dashed border): price entered the resolved zone but has not closed past the defending edge
- **Broken** (dashed orange + "Broken" label): price has closed past the defending edge
- **Flipped**: if a Broken state confirms over multiple closes past a threshold, the zone repaints to the opposite role (broken Resistance becomes Support, broken Support becomes Resistance)
---
## Why this indicator is original (not a simple mashup)
This is not "AVWAP indicator + Volume Profile indicator + multi-timeframe wrapper." Three design choices distinguish it from existing public indicators:
**1. Anchored at every Fibonacci pivot, not at a single user-selected point.** Standard AVWAP indicators require the user to manually click an anchor point. Standard Volume Profile indicators use either a fixed session or a single anchor. This engine automatically detects pivots at multiple Fibonacci lengths and runs an AVWAP + Volume Profile from each one. The number of active anchors at any time is typically 6 to 20, generating 24 to 80 contributor levels — far more than a manually-anchored tool can produce.
**2. Cross-timeframe clustering, not separate per-timeframe overlays.** The engine does not draw 5 separate AVWAPs from a 1H chart, plus 5 from a 4H, plus 5 from a daily. Instead, levels from all timeframes are collected into one pool and clustered in price space. A 1H AVWAP at 23,720 and a daily POC at 23,718 merge into a single zone marked as "two contributors from two timeframes." This produces structural information neither timeframe shows alone.
**3. Compositional bias from the contributor mix.** The cluster builder records *which type* of contributor formed each zone — pivot-high AVWAPs (trapped sellers' breakevens), pivot-low AVWAPs (trapped buyers' breakevens), POCs (acceptance), VAH or VAL (fair-value edges). The directional implication of each type is summed into a "compositional bias" score. A zone built mostly from PL-AVWAPs and VAL contributions leans support; one built from PH-AVWAPs and VAH contributions leans resistance. This is an analytical lens not present in standard S/R indicators, which generally treat all levels as direction-agnostic.
---
## Mashup justification — how the components work together
The four classes of technical analysis used (pivots, AVWAP, Volume Profile, multi-timeframe analysis) are not chosen arbitrarily. Each contributes a dimension the others do not, and the value comes from how they interact:
**Pivots provide the anchors.** Without pivots, AVWAP needs a manual anchor and Volume Profile needs an arbitrary session. Pivots at multiple Fibonacci lengths give the engine *automatic structural anchors* spanning timescales — short-term swings, intraday swings, session-level swings. The Fibonacci spacing (3, 5, 8, 13, 21, 34, 55, 89) ensures the anchors are non-redundant: each tier has a different bar requirement and catches different swings.
**AVWAP measures participant breakeven from each anchor.** This is the "where might trapped participants defend" dimension. An AVWAP from a pivot high is the volume-weighted breakeven for everyone who entered after that high (mostly net-short positions). An AVWAP from a pivot low is the breakeven for everyone who entered after that low (mostly net-long). When price returns to one of these AVWAPs, structurally those participants are at breakeven and have incentive to act.
**Volume Profile measures acceptance from each anchor.** This is the "what price has been most-accepted by volume" dimension. POC is the most-traded price; VAH/VAL are the edges of the 70%-volume range. AVWAP and POC measure different things — average price vs most-accepted price — and frequently disagree. When they *do* agree at a level, that's two independent signals saying "this price matters."
**Multi-timeframe replication tests for structural agreement.** A zone that exists only on the chart timeframe is one-timeframe noise. A zone where chart-TF contributors *agree with* higher-TF contributors at the same price is structural — the same level shows up no matter which timescale you measure from. The engine treats HTF agreement as a primary input to the star rating: HTF-aligned zones can earn an extra star (capped to prevent inflation).
**The clustering is where the value emerges.** Individually, none of these components produce reliable levels. AVWAP gets broken constantly. POC migrates. Pivot levels get violated. But when the engine sees that the 21-pivot AVWAP, the 34-pivot POC, the 8-pivot VAL, and a 1H AVWAP all land within 0.08% of each other at the same price, that's a confluence of independent references measuring different things — and that *coincidence* is what produces structural significance. The star rating quantifies how much agreement is present.
This is the mashup's purpose: not to combine indicators for their own sake, but to use convergence as a filter that turns individually noisy components into a rated structural signal.
---
## How to use the indicator
**Step 1: Apply to any chart timeframe.** All settings have sensible defaults. The asset-class preset (NSE Index Futures, NSE Stock, US Future, US ETF, US Stock, Commodity, Crypto, or Custom) auto-adjusts cluster tolerance and pivot defaults. Auto-selected higher timeframes scale with the chart — a 5m chart defaults to 15m/60m/240m HTFs, while a daily chart defaults to weekly/monthly HTFs.
**Step 2: Read the status panel (bottom-right).** This is the actionable summary:
- "Sup" row: nearest resolved Support below current price, with point distance
- "Res" row: nearest resolved Resistance above current price, with point distance
- "Top zone": the highest-rated zone overall
- "Data": indicator health (OK / Degraded / Critical) — if the underlying volume data is sparse, ratings are capped
**Step 3: Scan the chart for "Broken" labels.** Any zone in dashed orange with a "Broken" label is currently being violated. Watch for either recovery (border returns solid) or polarity flip confirmation (zone repaints to opposite role).
**Step 4: Find the active amber zone.** This is the current forming confluence. Look at the triangle shape: ▲ means the composition leans support, ▼ means it leans resistance, ◆ means neutral. The number next to the triangle is the star rating. A premium "★" prefix means HTF agreement is present.
**Step 5: Use the Major S/R lines as forward references.** Bold horizontal lines mark the top 2 strongest support levels below current price and top 2 strongest resistance levels above. Labels show price, stars, and distance.
**Step 6: Use the Range band as context.** The translucent aqua band marks the recent trading envelope (default last 50 bars). A narrow band means consolidation; a wide band means trending.
**Step 7: Hover any element for the full breakdown.** Every box, triangle, and line has a tooltip showing total contributors, type counts, HTF alignment, state, and history.
---
## How NOT to use the indicator
- **Do not treat the bias arrow as a trade signal.** It is a compositional description of contributors, not a directional forecast. A zone with a ▲ bias can still resolve as resistance.
- **Do not treat a "Broken" label as a trade trigger.** It tells you a known level is failing — not that you should enter a position in either direction.
- **Do not assume higher stars mean higher profit probability.** Stars measure the diversity and density of contributors, not historical performance or expected return.
- **Do not rely on it for low-volume instruments.** If the data-health badge shows "Degraded" or "Critical," the engine has capped ratings and may suppress zones entirely. This is a feature; the indicator is most accurate on liquid, volume-rich instruments (index futures, large-cap stocks, major crypto).
---
## How to read the star rating
Stars are a descriptive summary of confluence quality. They are not a probability of profit.
- 1 to 2 stars: minimum cluster; one or two source types. Background context.
- 3 stars: at least 5 contributors with 2 or more source types. Recurring intraday levels.
- 4 stars: at least 7 contributors with 3 or more source types, OR 3-star with HTF agreement.
- 5 stars: at least 10 contributors with all 4 source types present. Often boosted by HTF alignment.
By default, only 4-star and 5-star zones get triangle markers and qualify for Top-N or Major S/R lines. This is adjustable.
---
## Visual primitives
- **Confluence zones** — colored boxes marking each cluster. Boxes recolor as zones resolve. Border style indicates compromised state.
- **Triangle markers** — ▲ ▼ ◆ at each formation bar. Shape encodes direction. Color encodes lifecycle state.
- **Top-N S/R lines** — top 4 resolved zones by strength and recency project forward.
- **HTF confluence bands** — semi-transparent bands per higher timeframe (cyan, purple, orange).
- **Major S/R lines** — bold lines for top 2 supports below and top 2 resistances above current price.
- **Range band** — translucent band marking recent trading range with HI / LO labels.
- **Current price line** — thin dotted line at current price.
- **Status panel** — bottom-right summary.
---
## Technical notes
- Pine Script v6
- Non-repainting: all `request.security` calls use `barmerge.lookahead_off`
- Asset-class presets adjust cluster tolerance and pivot defaults
- Built-in data-integrity layer caps ratings when volume data is sparse or stale
- Seven alert conditions: new zone formed, high-quality (4 to 5 star) zone, HTF aligned, price entered support, price entered resistance, data health degraded, polarity flip
---
## Important risk disclosure
This indicator is provided for educational and informational purposes only and is not financial advice. Trading and investing involve substantial risk of loss, including the possible loss of all invested capital. The zones, ratings, bias shapes, and lines are descriptive summaries of structural confluence — they are not predictions of future price movement, indications of profitability, win rate, or expected return.
No backtested or hypothetical performance is claimed or implied. Past zones identified by the indicator are not indicative of future results.
You are solely responsible for any decisions you make. Consult a qualified, licensed financial advisor before trading. Past performance does not guarantee future results.
Indicator

Indicator

Supply Demand Flip Planner [AGPro Series]Supply Demand Flip Planner
🧠 Core Idea
Has an old supply or demand zone changed role and started acting as the opposite side of the market?
📌 Overview / What it does
Supply Demand Flip Planner is a role-change price action tool designed to identify when a prior supply zone turns into demand, or when a prior demand zone turns into supply.
The script detects pivot-based supply and demand zones, monitors breaks through those zones, maps the active flip zone, evaluates retest acceptance, and displays a structured 0-100 score. It also shows invalidation shelves, target rails, centered zone text, labels, and a compact AG Pro dashboard.
It does not predict future price movement, automate trades, or provide guaranteed buy/sell signals. It is a visual decision-support framework for reading supply-demand flip behavior.
🎯 Purpose & Design Philosophy
This script was built for traders who watch support/resistance role reversal but want a cleaner way to separate meaningful flips from ordinary breaks.
Many zones break and never matter again. Some zones break, retest, and start acting as the opposite side of the market. This planner focuses on that role-change moment.
The design supports a structured workflow: map supply and demand, wait for break, monitor retest, evaluate acceptance, then track invalidation.
⚡ Why This Script Is Different
Most supply and demand tools draw zones and leave interpretation fully manual.
This script does NOT simply flood the chart with historical zones.
Instead, it focuses on the active role-change zone, measures retest quality, scores acceptance, and presents the result through a clear READY / MONITOR / WAIT / INVALIDATED framework.
⚙️ Methodology
1. Context Detection
The script detects pivot-based supply and demand zones using configurable left/right pivot confirmation.
2. Reference Mapping
It maps source supply and demand shelves, then converts a broken zone into an active flip zone.
3. Reaction Evaluation
When price retests the flip zone, the script evaluates break strength, retest depth, wick response, body quality, source-zone quality, freshness, and relative volume.
4. Visual Output
The active flip zone is shown with centered text, invalidation shelf, target rails, right-side tags, labels, and an AG Pro panel.
🗺️ How to Read the Chart
Supply zones represent pivot-based resistance shelves.
Demand zones represent pivot-based support shelves.
Demand Flip means old supply has been broken and is being evaluated as new demand.
Supply Flip means old demand has been broken and is being evaluated as new supply.
READY FLIP labels mark retests that pass the selected acceptance score.
Invalidation shelf marks where the flip context weakens or fails.
The AG Pro panel summarizes Flip State, Acceptance, Retest, Failure Risk, and Action.
🚦 Signals & States
• DEMAND → pivot-based demand zone mapped.
• SUPPLY → pivot-based supply zone mapped.
• DEMAND FLIP → old supply was broken and is being watched as new demand.
• SUPPLY FLIP → old demand was broken and is being watched as new supply.
• FLIP RETEST → price is interacting with the active flip zone.
• READY FLIP → retest acceptance reached the required score threshold.
• INVALIDATED → the active flip lost its invalidation edge.
• READY → qualified flip acceptance is active.
• MONITOR → the flip zone is active or retesting.
• WAIT → no qualified flip acceptance is active.
🔔 Alerts Logic
Demand Flip Locked triggers when price breaks above a prior supply zone.
Supply Flip Locked triggers when price breaks below a prior demand zone.
Demand Flip Acceptance Ready triggers when a bullish flip retest reaches the score threshold.
Supply Flip Acceptance Ready triggers when a bearish flip retest reaches the score threshold.
Supply Demand Flip Retest triggers when price interacts with the active flip zone.
Supply Demand Flip Invalidated triggers when the flip loses its invalidation shelf.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The strongest flip contexts appear when break strength, retest depth, wick response, close quality, source-zone quality, freshness, and relative volume align.
When a broken zone is retested cleanly and accepted from the opposite side, the score improves and the panel shifts toward a stronger action state.
📊 When to Use
• Support/resistance role reversal
• Breakout retests
• Trend continuation after zone breaks
• Failed range boundaries that become new reaction zones
• Markets with clear swing structure
⚠️ When NOT to Use
• Extremely noisy markets with weak pivot structure
• Very low liquidity symbols
• Markets with large spread or unreliable candles
• News spikes where zones break and fail too quickly
• Timeframes where pivot zones are too dense or too sparse
🎛️ Key Inputs
• Pivot Left / Right Bars → control how strict the source zone detection is.
• Zone Depth ATR → controls the thickness of supply and demand shelves.
• Break Buffer ATR → requires price to break beyond the source zone by a volatility-adjusted amount.
• Retest Window Bars → controls how long the flip remains relevant.
• Acceptance Buffer ATR → defines how much confirmation is required after retest.
• Invalidation Buffer ATR → controls the failure shelf beyond the flip zone.
• Minimum Ready Score → sets how strict READY labels should be.
• Visual Settings → control zones, labels, centered zone text, target rails, and right-side tags.
• Panel Settings → control panel visibility, location, theme, and font size.
🖥️ Interface & Visual Design
The interface is designed to make role-change structure readable without overwhelming the chart.
The active flip zone uses centered text so the purpose of the zone is immediately visible. Source zones are subtle, while READY labels and target rails stand out only when a valid acceptance context appears.
The panel gives a quick summary of the current flip state and risk context.
🧪 Practical Usage Workflow
1. Identify the latest supply and demand zones.
2. Wait for a zone to break and become a flip candidate.
3. Watch for retest interaction inside the flip zone.
4. Check the READY FLIP label and acceptance score.
5. Compare price with invalidation shelf and target rails.
6. Confirm broader trend, volatility, and liquidity before making decisions.
🔍 Interpretation Guidelines
A high acceptance score means the role-change reaction is cleaner according to the script's rules.
A pending retest means price has returned to the zone but has not yet shown enough acceptance.
A failed flip means price lost the invalidation edge and the role-change context should be treated as weakened.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not financial advice.
It is not an automated trading system.
It does not guarantee entries, exits, profits, or outcomes.
⚠️ Limitations & Transparency
Pivot-based zones are confirmed after the selected right-side bars, so source zones appear after confirmation.
Different timeframes can create very different supply and demand structures.
High volatility can cause quick break-and-fail behavior around zones.
No rule-based script can fully account for news, liquidity shocks, or sudden market structure changes.
🧠 Market Context Notes
Supply-demand flips are a form of role reversal.
Old resistance can become new support after acceptance. Old support can become new resistance after acceptance.
The script is strongest when used with broader market structure, trend context, liquidity, and volatility analysis.
🧾 Use Case Examples
When price breaks above a supply zone, returns to the zone, and holds above it with clean reaction quality, the script may mark a Demand Flip acceptance.
When price breaks below a demand zone, retests it from below, and rejects cleanly, the script may mark a Supply Flip acceptance.
🧱 System Philosophy
Supply Demand Flip Planner follows the AG Pro Series approach: transform a common market concept into a structured decision map with context, score, risk reference, and clean visuals.
The goal is not to replace judgment. The goal is to make role-change analysis easier to read.
🔐 Non-Promise Statement
No script can provide certainty.
No signal should be treated as guaranteed.
Outputs should always be interpreted with independent analysis and responsible risk control.
📉 Risk Disclosure
Trading involves risk.
Market conditions can change quickly.
Users are responsible for their own decisions, risk management, and trade execution.
This script is for educational and analytical purposes only and does not provide financial advice.
📚 Educational Note
This script is designed to help traders study how supply zones, demand zones, breakout retests, and role-change acceptance behave across different market conditions.
Indicator

Weekly Open Reaction Map [AGPro Series]Weekly Open Reaction Map
🔹 OVERVIEW
Weekly Open Reaction Map is a focused weekly open overlay built for traders who use the current weekly open as a higher-timeframe anchor.
The weekly open is one of the simplest and most widely watched reference levels on a chart. Many traders mark it manually, but a plain horizontal line does not show whether price is accepting above it, losing it, reclaiming it, or repeatedly reacting through the same area. This script turns the weekly open into a structured reaction map.
The script plots the current weekly open, builds an adaptive reaction band around it, detects accepted behavior above or below the level, marks selective reclaim and loss events, and summarizes the active state in a compact dashboard.
The goal is clarity:
How is price reacting around the current weekly open?
This is not a broad level engine. It is not a full weekly range dashboard. It is not a prior high or prior low tool. It is not a session-open model. It is a single-anchor weekly open reaction framework designed to keep the chart clean while adding practical context.
🔹 WHAT MAKES IT DIFFERENT
Weekly Open Reaction Map is built around one level only: the current weekly open.
Instead of plotting a large set of reference prices, the script focuses all of its logic on the active weekly open and asks whether price is above it, below it, reclaiming it, losing it, or still testing the reaction area.
Key differentiators:
• Single-anchor design centered only on the current weekly open
• Adaptive reaction band instead of a fragile one-tick line
• Acceptance-side model using sustained closes beyond the band
• Reclaim and loss labels designed to stay selective by default
• Concept-native rectangular reaction zones around confirmed weekly open behavior
• Compact panel showing distance, acceptance side, active-week reaction count, weekly bias, and last event
• Cleaner default visual mode tuned for 1H, 4H, and 1D public-chart presentation
• Optional initial acceptance events for users who want more context
The script is intentionally restrained. It does not try to become a full market structure suite. Its value comes from making one simple, popular, and highly searchable level more readable.
🧭 WHY THIS DOES NOT OVERLAP WITH OTHER AGPRO TOOLS
This script was designed to stay separate from existing AGPro public concepts.
It does not overlap with Daily Open Acceptance Map because this script does not reset around the daily open. The weekly open carries context across several trading days, so the logic is built around a multi-day weekly anchor rather than an intraday daily reference.
It does not overlap with Reference Price Operating Map because this script does not compare multiple reference prices. There is no multi-reference framework here. The weekly open is the only operating level.
It does not overlap with Session Reaction Map because this script does not evaluate Asia, London, New York, or session-start behavior. It continuously follows the active week and reads how price behaves around the weekly open over time.
It does not overlap with PDH PDL PWH PWL Engine because this script does not plot previous day highs, previous day lows, previous week highs, previous week lows, or active range corridors. It avoids becoming a prior-period high/low engine.
It does not overlap with generic support and resistance scripts because its boxes are not derived from swing pivots, historical ranges, or broad supply-demand zones. The reaction zones exist only when weekly open behavior is confirmed.
The scope is narrow by design:
Current weekly open.
Acceptance.
Reclaim.
Loss.
Reaction zones.
Weekly bias.
⚙️ METHODOLOGY
The script reads the current weekly open from the weekly timeframe and projects it onto the active chart.
Around that weekly open, it builds a reaction band. This prevents the script from treating the weekly open as an unrealistically perfect single price. The band can be sized by:
• ATR for volatility-adjusted behavior
• Percent for proportional market structure
• Ticks for fixed instrument precision
The acceptance model checks whether price can sustain closes beyond the reaction band. A single close is not enough by default. The user can define how many consecutive closes are required before the script recognizes accepted behavior.
The engine then tracks which side of the weekly open has been established during the active week.
A weekly open reclaim is detected when price had already traded below the weekly open context and then confirms acceptance back above the level after a recent band interaction.
A weekly open loss is detected when price had already traded above the weekly open context and then confirms acceptance below the level after a recent band interaction.
Optional initial acceptance events can also be enabled. These show which side of the weekly open became dominant first after a new week begins. They are disabled by default so the public chart remains cleaner and more focused on reclaim/loss transitions.
Confirmed events can create rectangular reaction zones. These zones preserve the weekly open area where the reaction was confirmed and project it forward for context. They are concept-native zones, not generic support/resistance boxes.
📊 PANEL
The panel gives a fast read of the active weekly open condition.
Distance
Shows how far current price is from the weekly open, including a percent reading.
Acceptance Side
Shows whether price is accepted above the weekly open, accepted below it, or still testing the weekly open band.
Reaction Count
Counts confirmed weekly open reactions for the active week. The panel uses active-week logic, while visual label limits keep historical charts clean.
Weekly Bias
Summarizes the current weekly open state as Bullish Control, Bearish Control, or Neutral Test.
Last Event
Shows the latest confirmed weekly open event, such as WO Reclaim, WO Loss, WO Accept +, or WO Accept -.
The panel includes adjustable location, theme, and font size controls. The first panel row follows the AGPro standard: a single merged blue header row containing only the script name.
🎛️ KEY INPUTS
Show Weekly Open Line
Controls whether the current weekly open line is displayed.
Weekly Open Line Width
Controls the visual weight of the weekly open reference line.
Reaction Band Width Mode
Choose ATR, Percent, or Ticks to define the width of the weekly open reaction area.
ATR Width Multiplier
Controls volatility-adjusted band width when ATR mode is selected.
Percent Width
Controls proportional band width when Percent mode is selected.
Tick Width
Controls fixed band width when Ticks mode is selected.
Acceptance Confirmation Bars
Defines how many consecutive closes are required before price is treated as accepted above or below the weekly open band.
Recent Touch Window
Requires confirmed events to occur near a recent weekly open band interaction.
Show Active Weekly Open Band
Displays the live weekly open reaction corridor.
Show Confirmed Reaction Zones
Draws extended boxes around confirmed weekly open reclaim, loss, or optional initial acceptance behavior.
Reaction Zone Extension Bars
Controls how far confirmed weekly open reaction zones project forward.
Maximum Reaction Zones
Limits the number of historical zones shown on the chart.
Show Reclaim / Loss Labels
Displays selective weekly open reclaim and loss labels.
Show Initial Acceptance Events
Allows first-side weekly open acceptance events to create labels and zones. Disabled by default for a cleaner public view.
Minimum Bars Between Labels
Controls cross-week spacing between event labels, helping avoid historical label clusters.
Maximum Event Labels
Limits visible historical event labels for a cleaner chart.
Label Offset ATR
Moves labels away from candles so they stay readable.
Label Font Size
Controls event label size. Normal is the default.
Panel Location
Moves the dashboard to the preferred chart location.
Panel Theme
Selects Dark, Light, or Auto panel styling.
Panel Font Size
Controls dashboard text size. Normal is the default.
🔍 HOW TO READ IT
Start with the weekly open line.
If price is above the line and the panel shows Above WO, the market is currently accepting above the weekly open band.
If price is below the line and the panel shows Below WO, the market is currently accepting below the weekly open band.
If the panel shows Testing WO, price is still close enough to the reaction band that the weekly open has not resolved clearly.
WO Reclaim
This label means price previously moved below the weekly open context and later confirmed acceptance back above it.
WO Loss
This label means price previously held above the weekly open context and later confirmed acceptance below it.
Reaction Zones
These boxes highlight the weekly open area where a confirmed reaction occurred. They can act as visual memory zones for later retests, pauses, or renewed pressure around the same weekly anchor.
Weekly Bias
The bias reading is not a standalone trade call. It is a context label that tells whether the active week is currently being controlled above the weekly open, below the weekly open, or still near the test area.
Reaction Count
This helps identify whether the week has been clean and directional or has already produced several confirmed weekly open reactions.
🧩 BEST USE CASES
Weekly open context
Use the script to understand whether the active week is being accepted above or below its opening level.
Reclaim tracking
Use WO Reclaim labels to identify when price regains the weekly open after trading below it.
Loss tracking
Use WO Loss labels to identify when price gives up the weekly open after previously holding above it.
Multi-timeframe planning
Use the weekly open as a higher-timeframe anchor while viewing 1H, 4H, or 1D charts.
Clean chart workflow
Use the script when you want one important weekly reference instead of a crowded stack of levels.
Reaction-zone review
Use projected boxes to remember where meaningful weekly open reactions were confirmed.
Public chart publishing
Use the default settings for cleaner PulseWire screenshots and a more premium chart layout.
🧠 VISUAL DESIGN PHILOSOPHY
The design philosophy is premium restraint.
The weekly open should be easy to identify, but it should not dominate the chart. Labels should be useful, but not constant. Zones should preserve meaningful reaction areas, but not turn the screen into a grid of boxes.
The default settings are intentionally cleaner:
• Initial acceptance events are off by default
• Reclaim and loss behavior remains the primary visible story
• Label spacing works across weeks, not only inside one week
• Historical label and zone limits are conservative
• The panel uses a compact AGPro dashboard style
• The active weekly open band is visible without overwhelming candles
This helps the script remain practical on 1H, 4H, and 1D views while still giving the chart enough structure to feel complete.
🔔 ALERTS
The script includes alert conditions for key weekly open events:
Weekly Open Reclaim
Triggers when price confirms a reclaim of the weekly open after previously trading below the weekly open context.
Weekly Open Loss
Triggers when price confirms a loss of the weekly open after previously trading above the weekly open context.
Weekly Open Accepted Above
Triggers when price confirms acceptance above the weekly open band.
Weekly Open Accepted Below
Triggers when price confirms acceptance below the weekly open band.
These alerts are designed for context awareness around the weekly open. They are not intended to replace a complete trading plan or broader market review.
🔹 LIMITATIONS AND TRANSPARENCY
Weekly Open Reaction Map is intentionally focused on one reference level. It does not attempt to map every support/resistance area on the chart.
The script does not include previous day highs, previous day lows, previous week highs, previous week lows, session opens, daily opens, volume profile levels, swing pivots, or order-flow data.
Because the weekly open can behave differently across assets and timeframes, users may need to adjust the reaction band width, confirmation bars, and label spacing for their market.
On very low timeframes, labels can appear more frequently if sensitivity is increased. On higher timeframes, fewer but more meaningful events are expected.
The weekly bias panel is a context tool. It describes the current relationship between price and the weekly open; it does not predict future price movement.
The script is built to stay clean, transparent, and focused. Its strength is not feature volume. Its strength is making one widely used weekly reference level easier to read.
✅ IDEAL USER
This script is ideal for traders who:
• Use the weekly open as a key higher-timeframe reference
• Want a cleaner way to read weekly open acceptance, reclaim, and loss
• Prefer focused tools over crowded multi-level dashboards
• Trade crypto, forex, indices, or liquid stocks where the weekly open is actively watched
• Use 1H, 4H, or 1D charts for market context
• Want reaction zones without turning the chart into a generic support/resistance map
• Publish or review PulseWire charts and need a clean visual presentation
• Prefer structured context over excessive labels and visual noise
Weekly Open Reaction Map is built for traders who want the weekly open to become more than a line. It turns that level into a readable acceptance and reaction framework while keeping the chart professional, restrained, and publication-ready. Indicator

Measured Move Projection Zones [AGPro Series]Measured Move Projection Zones
🔹 OVERVIEW
Measured Move Projection Zones is a premium price-action visualization tool built around one clear sequence: impulse, base, projection, and invalidation.
The script detects a qualified impulse leg, waits for a compact base range, then projects a measured-move target band from the base boundary. It also displays invalidation context, event labels, and a compact AGPro panel so the structure can be reviewed quickly on the chart.
The default profile is tuned for 1-hour charts, where measured-move structures need enough responsiveness to appear consistently while still avoiding low-quality micro-swings. The result is a clean projection map for traders who want structured continuation context without turning the chart into a dense extension grid.
This script is not designed to promise outcomes or mark every possible target. It is designed to make the measured-move workflow easier to see, compare, and audit.
🔹 WHAT MAKES IT DIFFERENT
Most projection tools start from a manual anchor, a generic extension grid, or a simple breakout distance. Measured Move Projection Zones is more selective.
It requires a directional impulse first. It then waits for a compact base. Only after the base qualifies does it create the projected target band and invalidation framework.
That sequence matters because it prevents the chart from becoming a collection of random forward boxes. The visual logic is always tied to a specific price-action chain:
Impulse leg -> base range -> projection band -> invalidation context.
The script also avoids the look of a traditional support/resistance map. The rectangles are not generic zones. They represent measured-move components: impulse body, base range, projected target band, and invalidation reference.
For public PulseWire presentation, the script is deliberately visual but controlled: moderated labels, visible structure boxes, no expired-label flood, and a compact panel that summarizes the current state.
🧭 WHY THIS DOES NOT OVERLAP WITH OTHER AGPRO TOOLS
This script stays in a narrow measured-move projection lane.
It does not overlap with ATR compression or volatility-map scripts because the core logic is not volatility contraction, expansion, or envelope behavior. ATR is only used for normalization, tolerance, and spacing.
It does not overlap with breakout-quality tools because it does not score a breakout event as the main product. Breakout beyond the base boundary only changes the measured-move state from armed to active.
It does not overlap with premium/discount or valuation-zone tools because it does not map equilibrium, discount, OTE, rebalance pockets, or fair value areas. Its target band is derived from an impulse leg and base boundary, not a valuation model.
It does not overlap with wedge, reversal, or pattern-scanner tools because it does not require converging rails, neckline behavior, double tops, double bottoms, head-and-shoulders logic, or multi-pattern classification.
It does not overlap with liquidity heatmap, bias dashboard, or volume-profile tools because it does not estimate liquidity fields, higher-timeframe directional bias, POC gravity, acceptance ladders, or volume shelves.
The differentiator is simple and specific: this is an impulse-base measured-move projection visualizer with target-band and invalidation context.
⚙️ METHODOLOGY
The methodology is built in stages:
1. Swing Confirmation
The script uses pivot confirmation to identify meaningful swing points. The default pivot setting is tuned for 1-hour chart rhythm.
2. Impulse Qualification
After a valid pivot sequence appears, the script measures the leg size in ATR units. The impulse must be large enough and must form within a reasonable bar window.
3. Base Validation
Once the impulse is confirmed, the script waits for a compact base range. The base must stay within a defined ATR height and avoid excessive retracement from the impulse end.
4. Projection Construction
When the base qualifies, the script projects a measured-move target band from the base boundary. The default multiplier is 1.00, representing a classic equal measured move.
5. Invalidation Context
The opposite side of the base receives an ATR-buffered invalidation guide. This does not create a trade command; it simply marks where the measured-move structure is no longer clean.
6. State Tracking
The setup moves through clear states: Waiting, Building Base, Armed, Projecting, Target Band, Invalidated, and Expired.
7. Visual Management
The script keeps a moderated amount of historical structure visible. Event labels are capped, expired labels are disabled by default, and the projection guide line is optional to keep the chart clean.
📊 PANEL
The AGPro panel is designed for quick structure review.
Panel rows include:
- State
- Direction
- Impulse Quality
- Projection Progress
- Target Distance
- Target Band
- Base Range
- Invalidation
The first panel row follows the AGPro public-release standard: one merged blue header row containing only the panel title.
Panel location is adjustable. Panel theme is adjustable. Panel font size is adjustable. The default size is Normal for a clean public-chart look.
🎛️ KEY INPUTS
1H Pivot Confirmation Length
Controls the swing confirmation used to anchor impulse legs. Lower values are more responsive. Higher values are more selective.
1H Minimum Impulse Size
Defines the minimum impulse strength in ATR units. The default is tuned to keep 1-hour charts active without accepting very small swings.
1H Base Range Bars
Controls how many bars are used to validate the post-impulse base. The default is shorter for hourly chart pacing.
1H Maximum Base Height
Limits how tall the base can be in ATR terms. This prevents wide ranges from being treated as clean measured-move bases.
1H Maximum Base Retracement
Controls how deeply price can retrace from the impulse end while still qualifying as a measured-move structure.
Measured Move Multiplier
Controls the projection distance. The default value of 1.00 represents an equal measured move.
1H Target Band Width
Controls the ATR-based visual tolerance around the projected target.
Invalidation Buffer
Places the invalidation guide beyond the opposite side of the base range.
1H Projection Bars
Controls how far the projected target band and base extension reach forward.
1H Projection Expiration
Controls how long an armed or active projection can remain open before it expires.
1H Event Label Retention
Controls whether the chart keeps a moderated history of event labels or only the latest event label.
1H Balanced Event Labels
Caps event labels so the chart remains informative but not overloaded.
Show Projection Guide Line
Optional dotted guide from the base boundary to the target band. Disabled by default on 1-hour charts to reduce diagonal clutter.
🔍 HOW TO READ IT
Waiting
No valid impulse-base sequence is active.
Building Base
An impulse has been detected and the script is watching for a compact base.
Armed
A valid base has formed. The projection framework is ready, and the target band is mapped forward.
Projecting
Price has moved beyond the base boundary and the measured-move structure is active.
Target Band
Price has interacted with the projected target band.
Invalidated
Price has closed beyond the invalidation guide, meaning the measured-move framework is no longer clean.
Expired
The projection did not complete within the selected expiration window.
Event labels provide a fast visual timeline. The boxes show where the measured structure came from, where the base formed, and where the projected band sits.
🧩 BEST USE CASES
This script is best used on 1-hour charts where traders want a clean view of impulse-base-continuation behavior.
Strong use cases include:
- Measuring continuation structures after a directional leg
- Comparing active projections against nearby price action
- Reviewing whether a base is compact enough to support a projection
- Mapping projected target zones without using a full extension grid
- Studying failed measured moves through invalidation labels and zones
- Creating cleaner screenshots for price-action review
The script can also be used on other timeframes, but the default settings were intentionally tuned around 1-hour structure density and visual balance.
🧠 VISUAL DESIGN PHILOSOPHY
The visual design is built around premium restraint.
The chart should not look empty, but it also should not look like every candle is receiving a signal. Measured Move Projection Zones keeps the main structural elements visible:
- Impulse boxes
- Base range boxes
- Projected target bands
- Invalidation zones or guides
- Moderated event labels
- Compact AGPro panel
Expired labels are disabled by default because they can quickly become noisy on hourly charts. Event labels are still preserved in a moderated amount so the chart has enough visual context.
The optional projection guide line is disabled by default because long diagonal lines can dominate a 1-hour screenshot. Users can enable it when they want a more explicit projection path.
The goal is a chart that looks structured, premium, and publication-ready while still being easy to read.
🔔 ALERTS
The script includes alert conditions for the core lifecycle events:
- Measured Move Armed
- Projection Active
- Target Band Interaction
- Projection Invalidated
- Projection Expired
These alerts are designed around structure states, not trade commands. They help users monitor when a measured-move framework forms, activates, interacts with the projected band, invalidates, or expires.
🔹 LIMITATIONS AND TRANSPARENCY
Measured Move Projection Zones is a structural visualization tool. It does not predict future price and does not claim that a projected target band will be reached.
Pivot-based swing logic confirms structure after the necessary bars have formed. This creates cleaner anchors, but it also means the script is not trying to label every move in real time before confirmation.
The target band is a measured projection derived from the impulse and base, not a certainty zone. Invalidation and expiration states are part of the design because failed measured moves are also useful information.
Settings matter. More aggressive inputs will create more structures. More conservative inputs will create fewer, cleaner structures.
✅ IDEAL USER
This script is ideal for traders who:
- Use 1-hour charts for price-action review
- Study impulse-base-continuation behavior
- Want measured-move target zones without a cluttered extension grid
- Prefer visual structure over heavy signal text
- Want a clean AGPro-style panel for quick state review
- Care about invalidation and failed projection context
- Need a public-chart-friendly tool that looks polished, focused, and easy to understand
Measured Move Projection Zones is built for users who want a disciplined projection framework on the chart: enough structure to be useful, enough restraint to stay premium. Indicator

Quasimodo Reversal Zones [AGPro Series]Quasimodo Reversal Zones
🔹 OVERVIEW
Quasimodo Reversal Zones is a focused Smart Money Concepts tool built around one specific idea: the Quasimodo reversal pattern.
Instead of turning the chart into a crowded market-structure dashboard, this script identifies confirmed QM swing sequences, marks the original shoulder-derived QM level, projects a clean reaction zone, and tracks the invalidation threshold from the head.
The goal is simple: help traders see where a valid Quasimodo structure formed, where price may revisit the QM level, whether the reaction zone is active, and when the structure has failed.
It is designed as a premium public-free AGPro tool for traders who want a clean, visual, and selective Quasimodo framework without generic signal clutter.
🔹 WHAT MAKES IT DIFFERENT
Most reversal tools try to detect too many patterns at the same time. They often combine double tops, double bottoms, head and shoulders, order blocks, BOS, CHOCH, liquidity sweeps, and support/resistance zones into one heavy overlay.
Quasimodo Reversal Zones stays intentionally narrow.
Its only job is to map Quasimodo reversal structures with quality scoring, reaction-zone tracking, and invalidation logic. This makes the script easier to read, easier to trust visually, and more useful as a dedicated QM layer inside a larger trading workflow.
The script also avoids marking every small pivot as a pattern. A valid QM structure must pass multiple filters:
- confirmed swing sequence,
- meaningful head extension,
- displacement beyond the pullback swing,
- minimum spacing between pivots,
- swing amplitude quality,
- time-balance evaluation,
- optional relative-volume participation.
This gives the tool a more selective and professional feel than simple pivot-label scripts.
🧭 WHY THIS DOES NOT OVERLAP WITH OTHER AGPRO TOOLS
This script was designed to stay in a very specific lane inside the AGPro Series catalog.
It is not a broad reversal-pattern scanner.
It is not a BOS or CHOCH dashboard.
It is not an order block tool.
It is not a generic support/resistance zone engine.
It is not a liquidity sweep module.
Its focus is the Quasimodo pattern only.
The visual logic is built around four QM-specific components:
- the shoulder,
- the head,
- the QM level,
- the reaction zone with invalidation.
That narrow structure keeps the tool differentiated from broader AGPro pattern, breakout, structure, and zone-based scripts while still giving traders a strong SMC-style visual experience.
⚙️ METHODOLOGY
The script uses confirmed swing pivots to build a four-step Quasimodo sequence.
For a bullish QM structure, the script looks for:
- an initial swing low,
- a swing high,
- a lower low that forms the head,
- a higher high that confirms the sequence break.
For a bearish QM structure, the script looks for:
- an initial swing high,
- a swing low,
- a higher high that forms the head,
- a lower low that confirms the sequence break.
After the sequence is confirmed, the original shoulder becomes the QM level. A compact ATR-based reaction box is projected around that level. The head becomes the invalidation reference, with optional ATR padding.
The quality score is built from:
- head extension strength,
- sequence-break displacement,
- spacing between pivots,
- average swing size,
- internal time balance,
- optional relative-volume confirmation.
Only structures that meet the selected score threshold are drawn on the chart.
📊 PANEL
The AGPro panel summarizes the latest valid QM structure in a compact format.
Panel fields:
- Pattern Side
- Structure Quality
- Zone Status
- Score
The first panel row follows the AGPro standard: one merged blue header row containing only the script name.
Panel location, panel theme, and panel font size are adjustable from settings. The default panel size is Normal for a clean publication-ready layout.
🎛️ KEY INPUTS
Swing Pivot Length
Controls how strict the confirmed swing structure should be. Higher values create fewer but cleaner patterns.
ATR Normalization Length
Used to normalize zone width, head extension, sequence displacement, label offset, and invalidation padding.
Minimum Head Extension
Defines how far the head must extend beyond the original shoulder before the sequence can qualify.
Minimum Sequence Break
Defines how strongly the final swing must break beyond the pullback level.
Minimum Pattern Score
Filters out weaker QM sequences before they are drawn.
Signal Cooldown Bars
Controls label density and prevents the chart from becoming overloaded on noisy markets.
Reaction Zone Width
Controls the ATR-based thickness of the projected QM reaction box.
Reaction Zone Length
Controls how far the reaction zone projects into the future.
Invalidation Buffer
Adds optional ATR padding beyond the head-based invalidation level.
Maximum Visible QM Zones
Limits how many recent QM zones remain visible on the chart.
Label Font Size and Panel Font Size
Both are adjustable, with Normal as the default setting.
🔍 HOW TO READ IT
Start with the panel.
Pattern Side shows whether the latest valid structure is bullish or bearish.
Structure Quality gives a quick qualitative view of the setup.
Zone Status shows whether the reaction zone is waiting, active, confirmed, or invalidated.
Score shows the numerical strength of the latest accepted QM pattern.
On the chart:
- Shoulder marks the original level that later becomes the QM reference.
- Head marks the extension that creates the imbalance.
- QM Level marks the precise shoulder-derived reaction level.
- Reaction Zone shows the area where the QM retest is being tracked.
- Invalidation Line shows where the structure is no longer valid.
- Status Label shows the live state of the latest zone.
The cleanest reads usually come when price returns to the reaction zone after a strong sequence break and then shows a visible response away from the QM level.
🧩 BEST USE CASES
This script is best used for:
- SMC-style Quasimodo analysis,
- swing-based reversal mapping,
- reaction-zone planning,
- invalidation-based structure review,
- higher-timeframe QM context,
- clean chart screenshots for public analysis,
- traders who want one dedicated QM layer instead of a large all-in-one structure scanner.
It can be useful on many markets and timeframes, but the best visual quality usually appears on charts where swings are clear and price action is not excessively compressed.
🧠 VISUAL DESIGN PHILOSOPHY
The visual design is built around clarity, not clutter.
The script uses the AGPro color palette with a restrained premium look:
- blue merged panel header,
- teal bullish structures,
- pink bearish structures,
- gold invalidation or inactive-state emphasis,
- compact labels placed away from candles where possible,
- projected boxes that stay readable without covering the chart.
The chart should not feel empty, but it should also not feel noisy. Labels, zones, and status elements are intentionally controlled with cooldowns, maximum visible zones, adjustable offsets, and configurable font sizes.
The goal is to make the QM story easy to understand at first glance.
🔔 ALERTS
The script includes alerts for important QM events:
- Bullish Quasimodo Sequence
- Bearish Quasimodo Sequence
- QM Reaction Zone Touched
- QM Reaction Confirmed
- QM Pattern Invalidated
These alerts are designed around structure events rather than generic entry messages.
🔹 LIMITATIONS AND TRANSPARENCY
This script uses confirmed pivots, so patterns are confirmed only after enough bars have passed to validate the swing structure.
It is intentionally selective. Some early or aggressive QM ideas may not appear if they fail the pivot, spacing, displacement, or score requirements.
The script is not designed to predict every reversal. It is designed to identify cleaner Quasimodo structures, display the relevant reaction zone, and provide a clear invalidation reference.
It also does not attempt to replace broader market analysis. Trend context, volatility, liquidity conditions, and higher-timeframe structure can still matter.
✅ IDEAL USER
This script is ideal for traders who:
- understand basic SMC and price-action concepts,
- want a clean Quasimodo-specific tool,
- prefer visual structure over signal spam,
- care about invalidation and reaction-zone logic,
- want a focused public-free AGPro tool that does not overlap with broader reversal scanners,
- value a premium chart presentation with adjustable labels, zones, and panel controls.
Quasimodo Reversal Zones is built for traders who want the QM pattern to be visible, structured, and easy to evaluate without adding unnecessary market-structure clutter. Indicator

ABCD Projection Zones [AGPro Series]ABCD Projection Zones
🔹 OVERVIEW
ABCD Projection Zones is a premium price-action projection tool built for traders who want a clean ABCD pattern map without turning the chart into a full harmonic scanner, Auto Fib suite, retracement dashboard, or broad pattern-recognition system.
The script focuses on one specific market-structure idea: a confirmed A-B-C swing sequence can project a forward D completion area when the A-B leg is measured from point C. Instead of plotting a single thin target line, the script converts that measured move into a practical projected completion zone. This makes the result easier to read on real charts where reactions often happen around an area rather than at one exact tick.
The tool detects the structure, measures the leg relationship, projects the completion zone, tracks the distance to that zone, and then follows the reaction lifecycle after price reaches it. The goal is a premium, readable ABCD projection workflow that helps traders understand where the current structure is, how mature it is, and how price is behaving around the projected completion area.
🔹 WHAT MAKES IT DIFFERENT
Many ABCD, projection, and pattern tools try to do too much at once. They combine multiple Fibonacci ratios, harmonic pattern names, extended target ladders, retracement grids, reversal labels, and broad pattern scanning into one chart overlay. That can look busy, but it often makes the active structure harder to understand.
ABCD Projection Zones takes a narrower and cleaner route.
It does not attempt to label every harmonic family.
It does not expose a full Fibonacci framework.
It does not place several competing projection targets on the chart.
It does not turn the layout into a generic support and resistance map.
The difference is the focused lane: confirmed ABCD swing projection, one projected completion zone, one reaction lifecycle, and a concise panel that explains the active setup.
The visual language is also different. The D area is shown as a forward rectangle with centered zone text inside the box. Active and archived zones stay named, labels use consistent sizing, and archived context remains muted so the active projection remains dominant.
🧭 WHY THIS DOES NOT OVERLAP WITH OTHER AGPRO TOOLS
This script is intentionally separated from other AGPro tools by scope, visual behavior, and analytical purpose.
It is not an Auto Fib Structure tool. It does not publish multiple retracement and extension levels, does not expose a full Fib grid, and does not present itself as a broad Fibonacci framework.
It is not a harmonic scanner. It does not label Gartley, Bat, Butterfly, Crab, Shark, or other harmonic families. It does not rank multiple harmonic candidates or compare pattern families.
It is not a generic support and resistance zone script. The rectangles are not general S/R zones. They are specifically ABCD completion and reaction zones derived from swing-leg symmetry.
It is not a trend dashboard, volatility map, liquidity sweep scanner, or broad price-action suite. Its job is only to map a confirmed A-B-C structure into a projected D completion zone and monitor the reaction state around that zone.
This makes the public release lane clear: a focused ABCD projection and reaction-zone tool for measured-move structure, not a duplicate of existing AGPro zone, Fib, S/R, harmonic, or dashboard concepts.
⚙️ METHODOLOGY
The script starts by detecting confirmed swing highs and lows using pivot-based structure logic. This gives the model cleaner A, B, and C points and helps reduce random candle noise.
After the A-B-C sequence is confirmed, the script measures the A-B leg and the B-C pullback. The B-C pullback is evaluated as a ratio of A-B, but this ratio is used as a structure-quality filter, not as a visible Fibonacci grid.
The projected D area is calculated by applying the A-B leg from point C. This creates an AB=CD style measured-move projection. The projected D price is then expanded into a rectangle using ATR-based padding so the completion area behaves like a practical reaction zone rather than a thin target.
The script then tracks the active projection lifecycle:
- Waiting: price has not yet approached the projected zone.
- Approaching: price is close enough to the zone to matter.
- Completed: price has reached the projected D area.
- Reacting: price is moving away from the zone after contact.
- Overrun: price has moved beyond the zone buffer.
- Expired: the projection window passed without completion.
The scoring model combines impulse quality, pullback quality, and structural alignment into a 0-100 score. This score is not a standalone signal; it is a compact way to summarize the quality of the active ABCD projection structure.
📊 PANEL
The AGPro panel is designed for quick chart reading without forcing the trader to inspect every object manually.
Panel fields:
- Leg Ratio: shows the B-C pullback size relative to A-B.
- Completion Distance: shows the current distance to the projected D zone in price and ATR terms.
- Reaction State: shows the active lifecycle state of the projection.
- Symmetry Quality: classifies the active setup as Weak, Developing, Clean, or Strong with directional context.
- Projection Progress: shows how far price has traveled from point C toward the projected D area.
- Score: summarizes the active setup quality from 0 to 100.
Panel standards:
- The first row is one merged blue AGPro header row.
- The header contains only the panel title.
- Panel location is adjustable.
- Panel theme is adjustable.
- Panel font size is adjustable.
🎛️ KEY INPUTS
Detection:
- Swing Left Strength
- Swing Right Strength
- ATR Length
- Minimum AB Leg Size ATR
- Minimum BC Pullback Ratio
- Maximum BC Pullback Ratio
Projection Zone:
- Projection Length Bars
- Zone Padding ATR
- Approach Distance ATR
- Overrun Buffer ATR
- Zone Fill Transparency
- Archived Zones
- Archived Zone Transparency
- Show Text Inside Zones
Visuals:
- Show ABCD Path
- Show ABCD Labels
- Show Completion Marker
- Label Font Size
- Label Offset ATR
- Completion Marker Offset Bars
Panel:
- Show Panel
- Panel Location
- Panel Theme
- Panel Font Size
🔍 HOW TO READ IT
Start with the A-B-C labels. Point A and point B define the impulse leg. Point C defines the pullback from which the measured-move projection begins.
The dotted projected path shows the C-D measured move. The forward rectangle marks the projected completion zone. If price is still far from that rectangle, the panel will usually show Waiting and a lower Projection Progress value.
As price moves toward the rectangle, Projection Progress increases and the Completion Distance decreases. When price reaches the zone, the script marks D Hit and changes the lifecycle state. After that, the most important reading is whether the zone becomes a Reaction Zone or an Overrun Zone.
Archived zones should be read as context, not as the main decision layer. They show previous projected reaction areas in a muted style so the chart does not feel empty, but the active zone remains the priority.
🧩 BEST USE CASES
This script is best suited for traders who study market structure, measured moves, swing projection, ABCD patterns, and reaction-zone behavior.
Strong use cases include:
- Mapping a clean ABCD completion area after a confirmed A-B-C structure.
- Tracking how close price is to a projected D area.
- Separating developing projections from completed projections.
- Watching for reaction behavior after price reaches a projected completion zone.
- Reviewing recent projected zones without overcrowding the chart.
- Keeping a clean price-action workflow without a full harmonic or Fib suite.
The script can be useful across different markets and timeframes, but it is most readable when swing structure is clear enough for pivot-based detection to identify meaningful A-B-C sequences.
🧠 VISUAL DESIGN PHILOSOPHY
The visual design is built around premium restraint.
The chart should not be empty, but it should also not be overloaded. The active ABCD projection needs to stand out clearly, while archived zones should provide background context without taking attention away from the current structure.
Visual standards used in this script:
- Active completion and reaction zones are drawn as forward rectangles.
- Zone text is written inside the rectangle.
- Zone text is horizontally and vertically centered.
- Zone text uses transparent label-center styling instead of extra external tags.
- Active and archived zone text uses the same label font-size control.
- Swing labels are offset with ATR so they do not sit inside candle bodies.
- The completion marker is compact and shifted away from nearby swing labels.
- The projected C-D path is visible but not visually dominant.
- Archived zones are muted to keep the active projection clean.
The result is a chart that communicates structure, projection, and reaction state without looking like a crowded signal board.
🔔 ALERTS
Included alert conditions:
- New ABCD Projection Zone: triggers when a new qualified ABCD projection is detected.
- ABCD Completion Reached: triggers when price reaches the active projected completion zone.
- ABCD Reaction Confirmed: triggers when price reacts away from the active completion zone.
- ABCD Zone Overrun: triggers when price moves beyond the configured zone buffer.
🔹 LIMITATIONS AND TRANSPARENCY
The script waits for confirmed pivot structure, so A, B, and C labels appear after swing confirmation rather than at the exact live turning point.
The projected D area is based on AB=CD symmetry and ATR-based zone padding. It is designed to map structure and reaction context, not to predict every reversal.
The script intentionally avoids a full harmonic library and full Fibonacci framework. This is a design choice, not a missing feature. The goal is to keep the public tool focused on ABCD projection zones.
During choppy or low-structure conditions, fewer clean setups may appear. Increasing or decreasing swing strength and leg-size filters can make the tool more selective or more responsive depending on the market and timeframe.
✅ IDEAL USER
This script is designed for traders who prefer clean structure tools over crowded all-in-one indicators.
The ideal user:
- Studies price action and swing structure.
- Wants a focused ABCD projection tool.
- Prefers zones over single-line targets.
- Wants reaction-state context after completion.
- Values clean chart presentation.
- Wants adjustable labels, panel location, and visual density.
- Does not want a full harmonic scanner or public Auto Fib suite.
ABCD Projection Zones is built for traders who want one clean projected completion lane: A-B-C structure, measured D zone, reaction state, and a premium AGPro visual presentation. Indicator

Hull MA Trend Zones [AGPro Series]Hull MA Trend Zones
📌 Overview
Hull MA Trend Zones is a premium HMA trend overlay built for traders who want a cleaner way to read Hull Moving Average direction, slope quality, and pullback behavior.
The script is centered on one clear idea: a strong HMA trend should not only move above or below a moving average; it should show measurable slope, orderly ribbon structure, and controlled pullback behavior around the active HMA path.
Instead of presenting a crowded moving average wall, the script uses a focused three-line HMA structure, a subtle pullback band, and concept-native trend zones that are tied directly to the active Hull MA state.
⚙️ How It Works
The engine calculates a fast HMA, an anchor HMA, and a slow HMA.
The anchor HMA is the main decision line. Its slope is normalized with ATR so the script can judge whether the current Hull MA movement is weak, transitional, or directional.
The ribbon structure then checks whether the fast, anchor, and slow HMA lines are aligned. This separates clean trend movement from mixed or unstable movement.
Finally, the pullback layer evaluates whether price is extending away from the HMA, testing the HMA zone, holding the HMA zone, rejecting from the HMA zone, or failing the active trend path.
🧭 What The Script Shows
- HMA ribbon for clean trend direction.
- ATR-based HMA pullback band around the anchor HMA.
- Rectangular HMA slope zones created from active directional states.
- Confirmed, quality-gated Bull Turn and Bear Turn labels.
- Optional Hold and Reject labels for pullback events.
- A compact AGPro panel with HMA State, Slope Strength, Pullback Status, and Quality Score.
📊 AGPro Panel
The panel is designed for fast scanning without taking over the chart.
HMA State shows whether the active read is bullish, bearish, transitional, or neutral.
Slope Strength converts the anchor HMA slope into a clear percentage-style reading.
Pullback Status explains whether price is extending, testing, holding, rejecting, or failing the HMA trend zone.
Quality Score combines slope strength, ribbon alignment, and pullback behavior into a single 0-100 reading.
🎯 What Makes It Different
Hull MA Trend Zones is not a generic moving average ribbon, not a ribbon compression map, and not a broad support/resistance tool.
Its focus is narrower and more practical: HMA slope, HMA trend-zone behavior, and pullback-to-HMA quality.
The rectangular zones are not drawn as generic support or resistance. They are HMA slope zones created from the active trend state and the ATR-sized HMA pullback area. This keeps the script visually useful while avoiding overlap with broader zone, corridor, or compression-style indicators.
The default visual design is intentionally restrained. Pullback labels are optional, turn labels require confirmation and a minimum quality score, and old zones are capped so the chart keeps a cleaner premium look on both intraday and higher-timeframe charts.
🔧 Key Settings
Fast HMA Length controls the responsive side of the ribbon.
Anchor HMA Length controls the main trend path, slope state, pullback band, and panel logic.
Slow HMA Length helps identify whether the HMA ribbon is aligned or still transitional.
Slope Lookback and Trend Slope Threshold control how selective the HMA state engine is.
Zone Width ATR controls the height of the HMA pullback band and slope-zone area.
Zone Forward Bars controls how far the active slope zone projects while the same trend state remains valid.
Turn Confirmation and Minimum Turn Label Score control how selective the default turn labels are.
Label Cooldown Bars, Max Visible Labels, and Label Offset ATR keep chart density suitable for publication-quality screenshots.
Panel Location, Panel Theme, Label Font Size, and Panel Font Size are adjustable.
✅ Suggested Use
Use Hull MA Trend Zones to study trend continuation, Hull MA pullback quality, HMA slope transitions, and cleaner moving-average trend behavior.
It is especially useful when you want an HMA-focused overlay that remains readable on active charts and avoids the clutter of large multi-average systems.
The script is designed as a public-free AGPro Series tool with a clean visual identity, a focused HMA concept, and a PulseWire-safe publication structure. Indicator

Asian Range Liquidity Map [AGPro Series]Asian Range Liquidity Map
🔹 OVERVIEW
Asian Range Liquidity Map is a precision tool for ICT and smart-money traders who focus on the London Open liquidity sweep. The indicator maps the Asian session high/low liquidity pool, tracks which side gets taken on the London kill-zone, and keeps a rolling 60-session record of post-sweep reactions. The engine calculates live Reversal / Continuation / Mixed probabilities for both bull and bear sweeps and displays everything in a compact info panel without cluttering the chart.
Whether you trade Turtle Soup setups, session-based liquidity grabs, or simply want clean Asian range context, this indicator gives you the structural read most traders spend months building manually.
🔹 UNIQUE EDGE
This is not another session-box plotter. Three design choices separate it from generic Asian range indicators:
1. ATR-Normalized Quality Filter — the range width is measured against the Daily ATR, not the chart timeframe. Sessions that are abnormally narrow (illiquid) or abnormally wide (news-driven noise) are filtered out of the statistics engine automatically. Only clean, tradable ranges count.
2. Live Historical Statistics Engine — every past sweep in the 60-session rolling window is classified as Reversal, Continuation, or Mixed using close-based validation. When a new sweep fires, a state label immediately shows the historical bias: "Bull Sweep -> Historical Reversal 73% (n=26)". You see the context the moment price reacts.
3. Three-Tier Classification — most tools treat sweep reactions as a binary outcome. This engine separates clean reversals, clean continuations, and indecisive mixed responses, giving a more honest statistical picture. The Mixed bucket is visible in the panel so the trader always knows how confident the signal actually is.
🔹 METHODOLOGY
1. Session Tracking — the Asian window is tracked using pure UTC hour/minute math (default 00:00-08:00 UTC), fully independent of chart timezone. Start and end hours are configurable.
2. Range Validity — on session close, the range width is compared to the Daily ATR. If the ratio falls outside the user-defined band (default 0.3-2.0 x dATR), the session is marked Filtered Out and excluded from statistics.
3. Sweep Detection — after the session closes, the engine watches a configurable post-open window (default 6 hours) for the first break of the Asian High or Low. Only the first sweep per session is recorded, which keeps the sample clean.
4. Reaction Classification — after the reaction window (default 10 bars), the engine evaluates post-sweep closes:
- Reversal: price closed through the opposite side by at least Reversal Threshold x Range
- Continuation: price sustained past the sweep level with pullback under Continuation Threshold x Range
- Mixed: neither condition was met
5. Rolling Sample — the most recent 60 classified sweeps feed the Bull and Bear statistics independently. Default is 60, configurable from 20 to 100.
🔹 SIGNALS AND ON-CHART ELEMENTS
- Asian Range Box: dotted amber rectangle during the session, solidifies on close if the range passes the ATR filter. Filtered sessions fade to near-invisible.
- High and Low Dotted Extensions: projected right from each validated session, showing the liquidity levels the market will target.
- Sweep State Label: appears on the bar that first breaks the range. Color-coded green for bull sweeps, pink for bear sweeps, with the historical bias and sample size baked in.
- Sweep Line: thick horizontal line at the taken level, drawn forward across the projection zone.
- Projection Zone: rectangular post-sweep forecast box where follow-through (or rejection) typically plays out.
- Multi-Day Overlay: up to the last 5 validated Asian ranges rendered with fade hierarchy (oldest most faded, newest most visible).
- Three alerts are included: Bull Sweep Detected, Bear Sweep Detected, and London Open with Valid Asian Range.
🔹 KEY INPUTS
Session Settings:
- Asian Session Start/End Hour (UTC)
- Sweep Detection Window (hours after London Open)
Quality Filter:
- Use ATR filter (on/off)
- Min and Max Range Width (x Daily ATR)
- ATR Length
Historical Stats Engine:
- Sample Size (20-100 sessions)
- Reaction Window (bars after sweep)
- Reversal Threshold (x Range)
- Continuation Threshold (x Range)
Multi-Day Overlay:
- Show historical sessions (on/off)
- Days to show and fade intensity
Post-Sweep Projection:
- Show projection zone (on/off)
- Projection length in bars
Visual Style:
- Label Font Size (independent from panel)
- Show sweep state label (on/off)
Info Panel:
- Show panel, location, theme (Dark/Light)
- Panel Font Size (independent from labels)
🔹 HOW TO USE
Best fit: intraday timeframes from 1m to 60m. The 15m chart is the intended sweet spot and what the defaults are tuned around. The script auto-disables on 4H and higher with a clear on-chart notice.
Typical workflow:
1. Confirm Range Status shows Valid after the Asian session closes. If Filtered Out, stand aside that day.
2. Wait for the London Sweep Window state and watch the Asian High/Low levels.
3. When a sweep fires, read the state label. A high Reversal probability near a major higher-timeframe level often flags a Turtle Soup opportunity. A high Continuation probability suggests fading is risky and trend-aligned entries are preferred.
4. Use the projection zone as a post-sweep attention area, not a target in itself.
5. Cross-check with your own higher-timeframe bias, volume, and structure before committing.
🔹 LIMITATIONS AND TRANSPARENCY
- This is a context tool, not a strategy. No buy/sell signals are generated and no backtest or performance claim is made.
- The historical percentages shown are descriptive statistics of recent price behavior in the sample window. They describe what has happened, not what will happen. A reading like 80% Reversal means four out of five prior sweeps in the sample reversed; the fifth did not.
- On strongly trending or low-volatility instruments, distributions can skew heavily to one category. For example, on a tight range-bound market a liquidity sweep almost always reverts, producing very high Reversal readings. This is a feature of the data, not a bug. If a distribution looks extreme, tighten the Reversal Threshold and shorten the Reaction Window for a stricter definition, or widen them for a looser one.
- Request.security is used to pull Daily ATR and is evaluated without lookahead; no future data is used.
- First-run sample size will be small until the chart has enough history to fill 60 sessions. Expect the panel to show progress like 18 / 60 until the buffer fills.
🔹 RISK DISCLOSURE
This indicator is a research and analysis tool for educational purposes. It does not constitute financial advice, a recommendation, or a solicitation to buy or sell any asset. Past behavior of liquidity sweeps does not guarantee future outcomes. Trading carries substantial risk of loss. Always perform your own analysis, apply risk management that suits your account, and consult a qualified professional before making financial decisions. Indicator

Solstice Fibonacci Engine [JOAT]Solstice Fibonacci Engine
Introduction
The Solstice Fibonacci Engine is a fully automatic Fibonacci retracement and extension tool built for traders who want institutional-grade price levels drawn on their chart without the tedium of manually dragging anchor points. It detects the dominant swing high and swing low within your currently visible chart range, recalculates every time you scroll or zoom, and renders the complete Fibonacci suite — retracements from 0% to 100% and extensions to -100% — in a single, clean overlay.
The engine is purpose-built around two price zones that institutional order flow traders treat as highest-probability areas: the OTE (Optimal Trade Entry) zone from 61.8% to 78.6% retracement, and the Target Zone from -50% to -61.8% extension. These zones are shaded and labeled automatically, with TP1 through TP4 labels placed at the key confluence levels that align with those areas, giving you a ready-made trade management framework the moment any new swing is established.
Core Concepts
Visible Range Swing Detection
Unlike most Fibonacci tools that require manual anchoring or use fixed lookback lengths, Solstice tracks the swing high and swing low within the portion of the chart you are actually looking at:
int visLeft = int(chart.left_visible_bar_time)
int visRight = int(chart.right_visible_bar_time)
bool isVis = time >= visLeft and time <= visRight
if isVis
if na(swHi) or high > swHi
swHi := high
swHiBar := bar_index
if na(swLo) or low < swLo
swLo := low
swLoBar := bar_index
When you scroll left or right the swing resets instantly to reflect your new visible window. This makes the tool behave like a dynamic Fibonacci that always measures the most contextually relevant move — the one you are actually analyzing.
Trend Direction from Swing Sequence
The engine determines whether price is in an uptrend or downtrend by comparing the bar index of the swing high against the bar index of the swing low:
bool trendUp = nz(swLoBar, 0) < nz(swHiBar, 0)
If the swing low came first (left) and the swing high came after (right), price moved up — so retracement levels are drawn from the top down. If the swing high came first, price moved down and levels are drawn from the bottom up. This single boolean drives whether TP1–TP4 labels are placed above or below current price.
OTE Zone — 61.8% to 78.6%
The Optimal Trade Entry zone marks the golden pocket of Fibonacci retracement theory. Price returning into this band after a clean impulsive move often finds the institutional order flow that originally created the swing:
if showOTE
fibZone(color.new(oteClr, 90), 61.8, 78.6, trendUp,
bar_index - 2, lx, swHi, swLo, "OTE ZONE")
The zone is rendered as a shaded box extending to the right of the last visible bar, keeping it visible as new bars form. An alert fires on bar close the first time price enters this zone after it was outside it.
Target Zone — -50% to -61.8% Extension
The Target Zone marks the take-profit extension area beyond the 0% level:
if showTgt
fibZone(color.new(tgtClr, 90), -50.0, -61.8, trendUp,
bar_index - 2, lx, swHi, swLo, "TARGET ZONE")
When price has retraced into the OTE and reversed, the -50% to -61.8% extension zone becomes the natural profit target objective — where the move typically exhausts before the next consolidation.
TP1–TP4 Trade Management Labels
Four take-profit labels are placed at the levels that define a complete trade management plan from entry to full profit-taking:
| Label | Level | Meaning |
|-------|-------|---------|
| TP1 | 38.2% | First objective — scalp or partial close |
| TP2 | 0% | Full return to the original swing point |
| TP3 | -27.2% | First extension beyond the swing |
| TP4 | -61.8% | Deep extension — full target zone |
Features
Auto swing detection from visible chart range — no manual anchoring required
Dynamic recalculation on every chart scroll or zoom
Full Fibonacci suite: 0%, 23.6%, 38.2%, 50%, 61.8%, 70.6%, 78.6%, 100%, -27.2%, -50%, -61.8%, -100%, 150%, 200%
Per-level toggle switches — show only the levels you want
OTE Zone (61.8%–78.6%) shaded box with right-extension
Target Zone (-50% to -61.8%) shaded box with right-extension
TP1–TP4 labels with optional percentage labels on every level
Optional swing diagonal line from anchor to anchor
Dashboard showing swing trend, zone touch status, swing high/low, and range
Auto dark/light theme detection
Alerts fire on confirmed bar close when price enters OTE or Target Zone
Webhook JSON alert format for automation
Watermark
Input Parameters
Main Settings
Show All Elements — master toggle for all drawing objects
Show Swing Diagonal Line — draws a line connecting the two swing anchor points
Line Width — 1 to 5 pixels
Line Style — Solid, Dashed, or Dotted
Label Offset (bars) — how far to the right labels are placed beyond the last bar
Fibonacci Levels
Individual toggles for each level: 0%, 23.6%, 38.2%, 50%, 61.8%, 70.6%, 78.6%, 100%, -27.2%, -50%, -61.8%, -100%, 150%, 200%
Zones and Targets
Show OTE Zone — toggles the 61.8%–78.6% shaded box
Show Target Zone — toggles the -50% to -61.8% shaded box
Show Zone Labels — text inside zone boxes
Show TP1–TP4 Labels — take-profit label markers
Show Level % Labels — percentage text on every drawn level line
Visual Settings
Theme — Auto (reads chart background), Dark, or Light
Show Dashboard — compact panel showing current swing readings
Dashboard Position — Top Left, Top Right, Bottom Left, Bottom Right
Show Watermark
Webhook JSON — switches alerts to machine-readable JSON format
Colors
Fib Lines — color for all retracement/extension level lines
OTE Zone — fill color for the OTE box
Target Zone — fill color for the Target Zone box
How to Use
Add the indicator to any chart on any timeframe — it automatically maps to your current visible range.
Zoom or scroll your chart to frame the impulsive swing you want to analyze. The Fibonacci grid recalculates to match.
Look for price to retrace into the OTE Zone (gold band between 61.8% and 78.6%). This is the institutional entry area.
When price reverses out of the OTE zone, monitor the TP1 label at 38.2% for partial profits, TP2 at 0% for full return to the swing origin, and TP3/TP4 in the Target Zone for extended runners.
Set the OTE Zone and Target Zone alerts to receive notifications when price enters either area on bar close.
Enable percentage labels if you need to confirm exact level values for manual entries.
Indicator Limitations
The swing is determined by the highest high and lowest low within the visible range only — it does not use a structural pivot detection algorithm. On heavily zoomed-out charts, the swing might span an unusually long period.
Fibonacci levels are mathematical retracements of the detected swing range. They are areas of interest, not guaranteed reversal zones. Always combine with your own confluence analysis.
The OTE and Target Zone alerts trigger only on the first bar close when price enters the zone from outside. If price exits and re-enters, a new alert fires.
Retracement drawing regenerates on every bar close at the last bar. On very high-resolution timeframes with large numbers of active objects, this can approach PulseWire drawing limits.
Originality Statement
The Solstice Fibonacci Engine is an original Pine Script v6 implementation. Its use of chart.left_visible_bar_time and chart.right_visible_bar_time for dynamic visible-range swing detection is a novel approach that produces a self-adjusting Fibonacci tool with no manual intervention. The OTE and Target Zone framework, TP1–TP4 label system, and scroll-responsive recalculation are original design decisions made specifically for this publication.
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. Fibonacci levels are areas of potential price reaction, not certainties. Past Fibonacci confluence does not guarantee future performance. Always use proper risk management and consult a licensed financial professional before trading.
-Made with passion by jackofalltrades
Indicator

Compression Pressure Map [AGPro Series]Compression Pressure Map
⚡ Overview
────────────────────────────────────────
Compression Pressure Map is a structural context tool that measures how tightly price is compressing against the nearest pivot-based level, and evaluates two behavioral scenarios in parallel: breakout anticipation and reversal watch. The output is a visual map of where pressure is accumulating — rendered as an evolving pressure zone that moves through BUILDING, ARMED and READY states.
This is not a signal engine, not a forecast, and not a trading strategy. It is a visualization layer that answers a single question: where is compression building around the active level, and in which direction is that pressure leaning.
🧭 Unique Edge
────────────────────────────────────────
Most compression indicators reduce behavior to a single direction. CPM separates compression into two parallel scoring engines that run on the same structural core:
🔹 Breakout Anticipation — pressure building for a directional break through the level
🔹 Reversal Watch — pressure building for a rejection at the level
In Auto mode the dominant scenario is rendered on the chart (cleaner visual), while the panel shows both scores side by side for transparency. Power users can lock the engine to a single mode. The active level is stabilized with a clustered pivot refinement and a drift-control lock, so the displayed level stays consistent instead of jumping on every new pivot. A compression gate keeps the pressure score aligned with the compression core: when compression is weak, pressure cannot escalate into high states.
🧪 Methodology
────────────────────────────────────────
The pressure score is a weighted composite of six structural components, measured on the active scenario:
🔹 Range compression (short-window range vs long-window range)
🔹 ATR compression (short-window ATR vs long-window ATR)
🔹 Body tightness (average body size relative to average range)
🔹 Quiet-bar persistence (how many recent bars qualify as calm)
🔹 Proximity to the active level (normalized by ATR)
🔹 Directional posture (slope, close position in bar)
Reversal scoring adds wick-rejection weight at the active level (average lower-wick size for bull reversals, upper-wick size for bear reversals). Breakout scoring adds approach slope weight toward the active level. A shared EMA smoothing step produces calmer state transitions. A dominance margin and cooldown prevent rapid scenario flipping. The final score is driven through a BUILDING → ARMED → READY state machine with hysteresis on the zone visibility to avoid flicker.
🎯 Signals & Alerts
────────────────────────────────────────
The state machine produces four transition alerts plus two pace alerts:
🔹 Pressure Armed Near Level — score crosses the armed threshold with an active scenario
🔹 Ready Zone Reached — score crosses the ready threshold with an active scenario
🔹 Armed Bullish / Bearish Scenario — directional armed transitions
🔹 Ready Bullish / Bearish Scenario — directional ready transitions
🔹 Pressure Rising — score is climbing while the zone is live
🔹 Pressure Released — the active scenario resolves (through the level or by decay)
On the chart, state transitions are marked with discrete A and R markers on the active side. A score label near price always shows the current pressure value, bias and state for quick reading without opening the panel.
⚙️ Key Inputs
────────────────────────────────────────
🔹 Engine Mode — Auto, Breakout Anticipation, or Reversal Watch
🔹 Compression Length — main lookback for range, ATR and body tightening
🔹 Trigger Distance (ATR) — how close price must be to a level to start evaluating
🔹 Hold Distance (ATR) — how far price can drift before the active context is cleared
🔹 Pivot Left/Right and Cluster Tolerance — pivot strength and blending behavior
🔹 Compression Gate and Gate Threshold — compression-first discipline control
🔹 Armed / Ready / Zone On / Zone Off Thresholds — state machine calibration
🔹 Full visual controls — zone width, band extend, line width, label size, panel position and font
All defaults are tuned for mid-volatility crypto pairs on 1H and 4H timeframes, but the engine adapts across symbols and timeframes through its ATR-normalized distance logic.
📘 How to Use
────────────────────────────────────────
🔹 Open the indicator in Auto mode and observe which scenario the panel highlights
🔹 Wait for the pressure zone to appear on the chart (BUILD → LIVE transition)
🔹 Read the state: BUILDING means the setup is forming, ARMED means the setup is mature, READY means compression and proximity are both at peak
🔹 Cross-reference with your own structural read — CPM describes the compression landscape, the decision is yours
🔹 If you prefer one behavioral lens only, lock the engine to Breakout Anticipation or Reversal Watch
🔹 Use the Compression Gate to enforce compression-first discipline — when compression is weak, the pressure score stays in WATCH
🔹 The tool is timeframe-agnostic; try it on 15m, 1H, 4H and 1D to see how compression contexts nest
CPM is designed to sit alongside your strategy, not replace it. It maps the compression field; you read the context.
⚠️ Limitations & Transparency
────────────────────────────────────────
🔹 CPM is a context visualization tool, not a signal generator — it does not issue buy or sell calls
🔹 The pressure score is a structural measurement, not a probability estimate
🔹 State transitions describe the compression field at the moment they print; they do not imply what happens next
🔹 Active level refinement is intentionally conservative — the level may feel slower to update than raw pivots, by design
🔹 Very high volatility regimes may keep the compression score low for extended periods, which is the intended behavior
🔹 The tool is deterministic on closed bars; intrabar values are provisional until bar close
CPM is released as Public, Open-source under MPL 2.0. The source is fully readable and auditable.
🛡️ Risk Disclosure
────────────────────────────────────────
This indicator is published for educational and analytical purposes only. It is not financial advice, not a trading strategy, and not a recommendation to buy or sell any asset. Past behavior of any level or pressure state does not predict future behavior. Markets carry risk of loss; users are solely responsible for their own decisions and risk management. Always do your own research and consider consulting a qualified professional before making trading or investment decisions. Indicator

Price Void Atlas [AGPro Series]Price Void Atlas
🗺️ OVERVIEW
Price Void Atlas maps the chart's low-interaction price corridors — zones where price travelled fast and spent very little time — and tracks how price behaves when it returns. Unlike volume-based profiles that highlight crowded price levels, this indicator surfaces the opposite: the empty highways of the chart. Every corridor carries a live state (Fresh, Entered, Passed, Rejected) so you can read return behavior at a glance.
🧭 UNIQUE EDGE
Most volume profile and imbalance tools show where price concentrated. Price Void Atlas inverts the question: where did price refuse to concentrate? The detection engine is purely time-weighted and ATR-normalized, so it works identically on instruments without reliable volume data (forex, many altcoins, CFDs). The state machine adds a second layer — it does not just detect voids, it follows their return stories. This combination (time-based emptiness detection + entry-side-aware state tracking) is the core differentiator.
🔬 METHODOLOGY
The Scan Length window is sliced into 40 horizontal price bands. For each historical bar in the window, every band it intersects receives an ATR-normalized time weight. Bands that accumulate weight below a sensitivity-driven percentile threshold are flagged as empty. Contiguous empty bands form a corridor. Height is capped at 50% of total range to keep corridors structurally meaningful. Candidates are scored on a 65/35 weighted blend of emptiness intensity and ATR-normalized height, then the top N survivors are kept. Optional vertical proximity merging (0.3×ATR) consolidates nearby corridors into larger atlas-feel zones.
The state machine then observes price behavior per corridor:
- Fresh → never touched since birth
- Entered → price crossed inside; entry side is locked (top or bottom)
- Passed → close crossed beyond the far boundary (clean traversal)
- Rejected → close reversed beyond entry side by 35% of corridor depth
🔔 SIGNALS & ALERTS
Three independent alert channels:
- Void Entered — price re-enters an active corridor
- Void Passed — price closes through the far boundary
- Void Rejected — price reverses past its entry side
Each alert fires once per bar on confirmed close. Corridors are drawn as persistent ATR-aware rectangles with state-colored borders and labels. A dominant corridor (highest rank score) gets a thicker border as a visual hierarchy cue.
🎛️ KEY INPUTS
Core Engine
- Scan Length (100–1000): window of bars analyzed
- Sensitivity (Strict / Balanced / Loose): emptiness threshold
- Max Voids (1–6): hard cap on simultaneous corridors
- Hide Resolved Voids: removes Passed/Rejected for a clean view
- Merge Vertically Close Voids: atlas consolidation
Visual
- Panel Location (5 positions), Panel Theme (Dark / Light)
- Panel Font Size, Label Font Size (tiny → large, default normal)
- Show Entry Side Hint (↑ / ↓ arrows on Entered labels)
Alerts
- Individual toggles for Entered / Passed / Rejected
🎯 HOW TO USE
1. Apply on a chart with enough history (200+ bars recommended for 300 Scan Length)
2. Fresh amber zones are untouched voids — potential re-interaction targets
3. When price approaches a Fresh zone, the corridor turns indigo (Entered)
4. Observe whether the interaction resolves as a traversal (Passed, teal) or a turn-away (Rejected, pink)
5. Use corridor boundaries as structural reference points alongside your own system
6. The dominant corridor (thickest border) represents the cleanest void by rank score
7. Works across all timeframes; adaptive rebuild cadence keeps performance consistent
⚠️ LIMITATIONS & TRANSPARENCY
- This is an analysis aid, not a trading strategy. It does not generate buy or sell signals.
- Corridor detection requires at least Scan Length bars of history; newly loaded charts render progressively as history accumulates.
- The time-weighted emptiness metric depends on ATR stability; very low-volatility environments may produce fewer meaningful voids.
- State transitions are evaluated on confirmed bar closes to prevent intrabar repainting.
- Corridors persist across bars but are rebuilt on an adaptive cadence (5–25 bars depending on timeframe) for CPU efficiency.
- All visuals are computed from the visible historical data on the current chart; extending the lookback will refresh the atlas.
🛡️ RISK DISCLOSURE
This indicator is provided for educational and analytical purposes only. It does not predict future price movement, does not generate trade recommendations, and does not constitute financial advice. Trading involves substantial risk of loss. Past corridor interactions do not guarantee future behavior. Always conduct your own research and risk management. Indicator

Silver Bullet Window Map [AGPro Series]Silver Bullet Window Map
🔹 Overview
Silver Bullet Window Map is a precision time-based tool that maps the three classic ICT "Silver Bullet" kill zones — compact 1-hour windows where institutional order flow is statistically concentrated — and automatically detects Fair Value Gap (FVG) imbalances formed inside each window. Instead of cluttering the chart with session-wide structures, the script isolates only the high-probability time periods ICT scalpers actually trade, rendering each window as a clean vertical zone with a live countdown, pulse highlight on the active window, and a lifecycle S/R zone for every FVG that prints during the window.
🔸 Unique Edge
Most Silver Bullet scripts either draw static colored backgrounds with no analytical value, or detect FVGs across the entire session and overwhelm the chart. This script does neither. It enforces a strict discipline: FVGs are only drawn if they form INSIDE an active Silver Bullet window. Outside-window price action is deliberately ignored. The result is a chart where every marked imbalance carries ICT-legitimate timing context — not noise. Each FVG becomes a horizontal lifecycle zone (bull or bear) that extends forward in time and is dimmed automatically when mitigated, giving you both a real-time map and a historical window-quality record in one view.
🔹 Methodology
The indicator evaluates the current bar's hour and minute in a user-selectable timezone (New York default, per ICT standard) and identifies three windows: London (03:00–04:00), AM (10:00–11:00), and PM (14:00–15:00). During each window, a three-bar FVG check is performed on confirmed bars: a bullish FVG requires the current bar's low to exceed the high two bars back; a bearish FVG requires the current bar's high to fall below the low two bars back. Gaps are filtered by a user-tunable ATR(14) multiplier to reject insignificant imbalances. Valid FVGs are rendered as time-anchored rectangular zones that extend a configurable number of bars into the future and are marked as mitigated the moment price revisits the opposite side of the gap.
A built-in timeframe guard disables rendering on timeframes of 1 hour and above, because Silver Bullet windows are exactly 1 hour long and cannot be resolved by bars equal to or larger than the window itself. On HTF charts, the panel displays a clean warning message instead of a broken visual.
🔸 Signals & Alerts
Four alert conditions are available: London window open, AM window open, PM window open, and window close. The script is designed for discretionary use — it does not issue buy/sell signals. Its purpose is to put the trader inside the correct time context with the correct structural references, and to let the trader read price action within that context.
🔹 Key Inputs
• Timezone: New York / London / UTC / Exchange
• Historical window depth: 1–30 days
• Individual toggles and custom colors for each of the three windows
• Active-window pulse effect (on/off)
• FVG detection (on/off), minimum size as ATR multiple, zone extension in bars
• Mitigation behavior: dim inactive zones or remove them
• Panel position, theme (Dark/Light), and font size
• Window labels and FVG labels: independently toggleable, font size configurable
🔸 How to Use
Best deployed on 1m–30m intraday charts where the 1-hour windows are visually meaningful. The AM window (10:00–11:00 NY) is historically the most actionable for US equities, indices, and major FX pairs. Wait for a window to open — the background lights up, the panel shows ● LIVE, and the window label appears above the opening candle. Look for a displacement candle creating an FVG inside the window. Use the FVG zone as a retest entry reference with risk defined beyond the gap. The panel's countdown and per-window FVG tally help you gauge window quality in real time. At the end of each day, the L / AM / PM tally shows which window produced the most imbalances — a quick read on session character.
🔹 Limitations & Transparency
This indicator does not predict direction. It does not backtest or display historical win rates — such figures on a time-window tool would be statistically misleading without an execution model. FVG detection uses the standard 3-bar definition; alternative definitions (implied fair value, BPR, inversion FVGs, etc.) are not covered by design. The tool is timezone-sensitive: if your data feed's timestamps drift from the selected timezone's DST boundaries, window alignment can shift by one bar around DST transitions. On timeframes equal to or greater than 1 hour, the script deliberately disables all rendering to avoid producing a misleading visual.
🔸 Risk Disclosure
This script is provided for educational and analytical purposes only. It does not constitute financial advice. Trading leveraged instruments carries substantial risk of loss. Past price behavior around kill zones does not guarantee future results. Use proper risk management and position sizing at all times. 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 Premium Discount Zone Engine [AGPro Series]AG Pro Premium Discount Zone Engine
Overview / What it does
AG Pro Premium Discount Zone Engine is a dealing-range and retracement context overlay built to map relative value inside a selected swing. Instead of treating price as a sequence of isolated candles, the script frames current price location against an active high-low range and highlights where price is trading relative to equilibrium, premium, discount, and the OTE area.
The core purpose of this tool is organizational. It is designed to help traders read where price is positioned inside a live swing and how price reacts when it moves into higher-value or lower-value retracement zones. This is especially useful when a chart is moving inside a pullback, when trend continuation is being evaluated, or when users want to distinguish between shallow retracements and deeper repricing within an existing range.
The script supports multiple ways to define the active range. Users can work with an automatically detected swing, a higher-timeframe dealing range, or a manual-lite anchor mode based on bar offsets. Once a valid range is identified, the script projects premium and discount territory, marks the 50% equilibrium, and highlights the OTE area using the 61.8, 70.5, and 78.6 retracement levels.
The output is intentionally visual, structured, and restrained. Premium and discount zones are shown as clean value blocks. The OTE area is treated as the main focus zone rather than a minor detail. The panel summarizes the active bias, current location, zone state, equilibrium level, and OTE boundaries so that users can read the chart quickly without relying on aggressive signal language.
Unique Edge
What makes this script different is that it is not built as a market-structure detector, imbalance mapper, liquidity event scanner, or order-block locator. Its job is narrower and more specific: it organizes relative price location inside a defined dealing range.
That distinction matters. Many overlays attempt to explain everything on the chart at once. This script does not. It does not try to label breaks of structure, detect fair value gaps, mark liquidity sweeps, or classify institutional zones. Instead, it answers a more focused question: where is price trading inside the current swing, and how is it behaving as it enters or leaves important retracement territory?
This also separates the script from other AG Pro tools. Some AG Pro overlays are built around structure transitions, some around imbalance behavior, some around reaction quality, and some around event detection. AG Pro Premium Discount Zone Engine is built around valuation context. It does not compete with those tools directly. It complements them by adding a relative-value map around a selected range.
Another difference is the zone-state logic. The script does not stop at drawing premium and discount blocks. It also tracks how price interacts with the OTE area and classifies that interaction using a simple state model such as Fresh, First tap, Retested, Rejected, Accepted, and Invalidated. This creates a more contextual read than a static retracement overlay.
Methodology
The script begins by identifying an active swing range. In Auto Swing mode, it uses pivot-based range detection. In HTF Swing mode, it builds the range from a higher-timeframe high-low window. In Manual-Lite Swing mode, it uses bar-offset anchors to let the user define a practical swing reference without requiring manual drawing tools.
Once the active range is available, the script calculates the internal value map:
- Swing High
- Swing Low
- 50% Equilibrium
- Premium territory above equilibrium
- Discount territory below equilibrium
- OTE zone using 61.8, 70.5, and 78.6 retracement levels
The script then monitors how price behaves around those levels. This produces context states rather than directional promises. For example, price entering the OTE area is not treated the same as price rejecting from it, accepting beyond it, or invalidating the active range. These are intentionally different events because they describe different chart conditions.
The equilibrium level is included as a centerline reference, while the OTE band is given stronger visual emphasis. This helps distinguish broad valuation territory from the narrower retracement pocket that many users monitor more closely.
Signals & Alerts
The signals in this script are event-based and deterministic. They are not designed as standalone trade instructions. They are designed to describe interaction with the active range.
Available event logic includes:
- OTE Test
- OTE Reject
- OTE Accept
- Discount Reaction
- Premium Rejection
- Equilibrium Cross
- Range Invalidated
- OTE Failure
These events are intended to provide chart context. For example, an OTE Test simply means price entered the active OTE zone. A Premium Rejection means price traded into the premium side and closed back below the local premium threshold used by the script. A Discount Reaction means price interacted with the discount side and responded upward under the script's rules. These are context events, not guarantees of continuation.
Alerts follow the same philosophy. They are defined in a rules-based way so users can monitor range interaction without needing to watch the chart continuously. The alert layer is most useful when the script is used as a location filter inside a broader workflow.
Key Inputs
Swing mode
Lets the user choose between Auto Swing, HTF Swing, and Manual-Lite Swing depending on whether the goal is reactive automation, higher-timeframe framing, or a more controlled local range definition.
Auto pivot length
Controls how sensitive the pivot-based swing detection is in Auto mode.
HTF timeframe and HTF lookback
Used to define the broader dealing range in higher-timeframe mode.
Manual high bars back / manual low bars back
Used to create a manual-lite range by referencing earlier bars as anchors.
Render bars back / render bars forward
Controls how far the active range projection extends on the chart.
Zone opacity and theme
Used to refine the visual balance between premium, discount, and OTE areas.
Label controls
Used to reduce visual noise by controlling label cooldown, label render window, and maximum visible labels.
Panel controls
Allow the user to reposition the panel and adjust its text size to fit different chart layouts.
Limitations & Transparency
This script does not predict direction. It does not forecast reversals. It does not decide whether a chart should trend, break, or fail. It maps relative value inside a selected range and reports interaction events inside that framework.
The quality of the output depends on the quality of the active swing. If the selected or detected range is not meaningful for the user's workflow, the valuation map will also be less meaningful. This is especially important in highly compressed, extremely noisy, or structurally unclear conditions.
Auto Swing mode is practical, but like any automated swing model, it depends on pivot confirmation and may update as newer pivots become available. HTF mode provides broader context but may feel less reactive on smaller charts. Manual-Lite mode gives more control but still depends on the user choosing sensible anchor distances.
OTE logic is range-relative. It does not incorporate unrelated concepts such as order blocks, liquidity pools, fair value gaps, session models, or external structure classifications unless the user combines those ideas manually in a separate workflow.
This script is best understood as a valuation-context overlay. It is not a complete strategy, not a full decision engine, and not a substitute for risk management.
How this differs from other AG Pro scripts
AG Pro Premium Discount Zone Engine is intentionally not a structure-break tool, not a CHoCH/BOS detector, not a liquidity sweep scanner, not an FVG engine, and not an order-block mapper.
Its role inside the AG Pro family is to answer a different question:
Where is price trading inside the active dealing range, and what is the quality of its interaction with that value map?
That makes it particularly useful for users who already understand direction from another process and want cleaner execution context. In other words, some tools focus on structural change, some focus on imbalance, and some focus on reaction events. This one focuses on valuation location.
Risk Disclosure
This script is for chart analysis and educational use only. It does not provide financial advice, investment advice, or guaranteed trade signals. Any use of this tool should be combined with independent analysis, risk controls, position management, and market-specific judgment.
The presence of an alert, label, premium zone, discount zone, or OTE interaction does not imply that price must react in a specific way. Markets can continue, reverse, compress, or invalidate a range without warning. Users should treat this script as a context tool, not as a promise of outcome.
Indicator

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

Dynamic Pivot Structure [DPS]Dynamic Pivot Structure (DPS) is a price structure analysis tool that automatically detects pivot points, classifies market structure (HH, HL, LH, LL), and generates dynamic support/resistance zones with mitigation tracking.
**Mathematical Foundation:**
The indicator uses the standard pivot point detection algorithm with configurable left and right bar confirmations. A pivot high is confirmed when the high of a bar is greater than the highs of all N bars to its left and N bars to its right. Similarly for pivot lows. This provides mathematically validated local extremes rather than arbitrary level selection.
Market structure classification follows the Dow Theory framework: Higher Highs (HH) and Higher Lows (HL) define uptrends; Lower Highs (LH) and Lower Lows (LL) define downtrends. The indicator tracks consecutive pivot sequences and labels each new pivot with its structural classification.
Support and resistance zones are generated around each pivot using the Average True Range (ATR) for zone width. This creates proportional zones that automatically adjust to the instrument's volatility. The indicator tracks zone mitigation — when price penetrates a zone, it is marked as mitigated and visually faded.
**Signal Logic:**
Buy signals fire when price is near an unmitigated support zone, above the trend EMA, with RSI below 40 or bullish structure (HH/HL), and ADX confirming a trending environment. Sell signals fire near resistance with bearish conditions.
**Features:**
- Automatic pivot high/low detection with adjustable sensitivity
- Market structure classification (HH, HL, LH, LL)
- Dynamic ATR-based support and resistance zones
- Zone mitigation tracking with visual feedback
- ADX trend strength filter
- Trend EMA overlay
- Dashboard showing structure type, ADX, and proximity status
Indicator
