Previous Day Levels & Stats - High and Low, Wicks, Gaps👀OVERVIEW
Previous Day Levels & Stats (PDH/PDL) draws yesterday's open, high, low and close on today's chart and pairs them with a statistics table showing how this symbol has historically behaved at those levels and split both by whether yesterday closed red or green, and by where today opened.
Most previous-day indicators tell you where yesterday's high and low sit. This one also tells you what price has historically done at those levels including:
⚪ How often the previous day level broke
⚪ How often a break held
⚪ How often price traded into yesterday's wick zone and got rejected
⚪ How far a real break typically ran which is then calculated in today's dollars and added to the chart as an option.
Stats tables like this exist already, but this one splits every statistic two ways at once. First by whether yesterday closed red or green, and then by where today opened. A three-way open classification decides which numbers apply to today.
⚡ CONCEPT
Previous Day. The previous day is the most recently completed regular trading session. At the 4:00 pm close, the levels, candle, projection, and table all flip to the day that just finished and these new levels hold through post-market and the next morning's pre-market. This allows you to prepare for the next day ahead of time.
Conditioning on yesterday's color. The data for red days and green days are kept in two separate sets. The table header tells you which condition applies right now ("AFTER A RED DAY" / "AFTER A GREEN DAY"), and you only ever see the set that matters today.
Conditioning on today's open. Each day is classified three ways against yesterday's range: ⚪Opened inside the range
⚪Gapped above the previous day's high
⚪Gapped below the previous day's low
These are all different situations, a PDH break on an inside day and a gap that opened above PDH are not the same event, so they get separate data and are shown in separate rows.
When trading opens on each new day, the table reduces to only show the section that applies for today. The full table returns at the close so you can study both possibilities while preparing for the next day. If you prefer to always see both sections, a setting turns this off and the non-applicable section dims instead.
Inside-day rows. For days that opened inside yesterday's range.
🔴A: Wick rejected: The day opened inside yesterday's range and traded up into yesterday's upper wick, reaching at least the top of yesterday's body. It never touched yesterday's high, and it ultimately closed back below the top of the body (below the wick). If the day so much as touched yesterday's high, it counts in the break rows instead of in wick rejected row. The percentage is out of all days that opened inside yesterday's range after the same color day. This is showing when we open inside the previous day how often price traded both up into the wick and then got rejected. The PDL column is the mirror image using the lower wick and yesterday's low.
🔵B: Broke but failed: The day opened inside yesterday's range and traded up to or above yesterday's high then ultimately closed at or under yesterday's high. This includes closes just under the high, inside the wick, inside the body and through to the other side of the previous day. This is showing when we open inside the previous day how often price traded both up above the previous day and then got rejected. The PDL column is the mirror image using yesterday's low.
🟡C: Broke & held: The day opened inside yesterday's range and traded up to and above yesterday's high then ended up closing the day above it. This does not track anything that happens in between the break and the close, simply the final outcome. The PDL column is the mirror image using the low of yesterday.
🟢D: Typical run past level: On inside opening days where a break beyond PDH or PDL held, the indicator measures how far price historically ran beyond the level. A run measured in dollars from years ago is not comparable to one from last week. So each historical run is first measured against what a normal daily range was at that time, the median value of all those runs is taken, and that value is converted back to dollars using what a normal daily range is now. The result reads like this: when a break like this held, price typically ran about this far past the level. The median average is used instead of mean average so a single giant day cannot distort the number. In addition to the median distance of the run, a second, farther distance is also available: about 1 in 4 of those runs went beyond this level. This does not include days that closed back inside, these are all from days that broke and held. This also is the furthest distance of the day, not how far the final close of the day was.
Each row is a separate outcome from the same set of days. A day lands in at most one of the three rows per column. The rows do not add up to 100 because some inside days never reach some of the levels at all. The only row that is connected is the Typical run past level row which is based on days that broke and closed past the high or low.
Gap-day rows. For days that opened either above PDH or below PDL.
🔴A: Gap Fill: Opened beyond either PDH or PDL and price came back to at least touch the respective PDH or PDL during the day. This is specifically for the high or low of the previous day, not the previous days close. A day can fill the gap to the level and still close back beyond it, so this row overlaps the rows below it.
🔵B: Wick rejected: Opened beyond either PDH or PDL, traded back into only the wick of the previous day (did not trade back into the body of the candle) and then closed back beyond respective high or low. This is showing when we opened above or below previous day, how often we both traded into the respective high or low wick and back out beyond it. If price at any time during the day traded into the body of the previous candle, it no longer counts in this row.
🟡C: Body rejected: Opened beyond either PDH or PDL, traded back into the body of the previous day candle and then closed the day all the way back beyond respective high or low.
🟢D: Closed back inside: Opened beyond either PDH or PDL and by the end of the day closed back inside the previous day range (wick or body).
🟠E: Closed through: Opened beyond PDH or PDL and ultimately closed the day on the opposite side of the previous day candle than where it opened.
🟣F: Gap held: Opened above PDH and closed the day still above PDH, or opened below PDL and closed the day still below PDL, regardless of what happened in between. This row includes days that never pulled back and days that pulled back and recovered. So price could have never even touched the previous days candle, traded clear through to the other side and back again or anything in between, but closed the day on the same side as the open gap.
Wick rejected and Body rejected are subsets of Gap held. Gap held, Closed back inside, Closed through partition all gap days and sum to 100%.
⭐Doji days. If yesterday closed exactly where it opened, it has no color, so no condition applies. The indicator carries the most recent non-doji color forward for the table, and the header reads "AFTER A DOJI DAY*" on a neutral background so you know a substitution happened. Days that follow a doji are not counted into either condition's statistics, they're displayed under the carried color, never counted under it. So the previous day open, high, low and close are based on the actual previous day (the doji), but the stats are filtered through the most recent colored day before it. There are not enough doji days to have a realistic amount of data to work from. So the levels are used but the data is from the color of the bar before the doji day.
💥FEATURES
• The statistics table: conditioned as described above, with preset color themes (including one designed for light charts). Cell color intensity shows decisiveness, not direction. The further a percentage sits from a coin flip (50/50) in either direction, the stronger the cell glows. Sample sizes appear in hover tooltips on every row.
• Previous-day OHLC lines: with span, style, width, and label options.
• Previous-day candle: a large rendering of yesterday's candle beside today's action, with different placement options.
• Projection overlay: yesterday's candle projected across today's session, so you watch today on top of yesterday's shape.
• Typical-run levels: optional lines shown on the chart from inside days only.
❓HOW TO USE
1. Open an intraday chart of a stock before the market opens. The levels and/or projection already show the most recently completed day and the table shows the data based on what color the previous day was for both if today opens inside previous day and if today opens with a gap in either direction.
2. At 9:30 AM ET, the table will classify the day and the section matching today's open highlights. That shows context, what this symbol has historically done from this starting situation in the past.
3. Use the OHLC lines and wick zones as the map, and the table as the stats at each level. Hover any row for its exact definition and sample size.
4. On inside-open days, turn on the typical-run levels if you want the median-run distances drawn on the chart.
The table describes what this symbol has done, not what it will do. Treat every number as context, not a prediction.
❗ LIMITATIONS
• Session logic is built around US stocks (9:30–4:00 ET regular session). The indicator loads on other symbols, but the open classification, the flip at the close, and the projection presets assume US stock sessions; on 24-hour markets without distinct pre/post sessions the close-flip does not engage.
• Statistics are historical frequencies on your symbol's data. They are not predictions, carry no performance implication, and small samples (newer tickers, rare conditions) mean wider uncertainty so check the sample sizes in the tooltips.
• Days following a doji are excluded from both condition samples (see Concepts), so condition totals will be slightly smaller than the symbol's full day count.
• Absence of typical-run lines on a gap open is intentional, the typical run lines are based on a break out of the prior day. In an attempt to keep the indicator simple and user friendly, the lines are only applied for break outs of the range.
• During post-market, the projection covers the just-completed session behind price; the pre-market view is the designed preparation window.
• Different data feeds disagree by cents on some historical days, so counts can differ slightly between feeds.
• This indicator is for educational purposes and is not intended to be used alone for decision making. Make sure that you properly backtest with any data before using it.
📋NOTES
All statistics are computed from the symbol's complete daily history, so the numbers are the same on every chart timeframe and don't depend on how many bars your chart happens to have loaded. Everything is computed on confirmed bars only and states move forward-only so nothing is retroactively relabeled, and what you see live is what remains on the chart in history and in replay.
Indicator

Wick Asymmetry Ratio (WAR)Wick Asymmetry Ratio (WAR)
WAR is a bounded oscillator (−1 to +1) that measures which candle wick dominates — in other words, where price was rejected .
How it's calculated
upper = high − max(open, close)
lower = min(open, close) − low
WAR = (lower − upper) / (high − low + ε)
Most wick tools compare each wick against the body. WAR instead subtracts the two wicks and normalizes by the full bar range. Two consequences: it never breaks on doji candles (zero body, no division blow-up), and it produces a single symmetric value comparable across symbols and timeframes.
How to read it
WAR > 0 → lower wick dominates → buyers defended the low (bullish rejection)
WAR < 0 → upper wick dominates → sellers capped the high (bearish rejection)
WAR ≈ 0 → clean body or symmetric wicks → no clear rejection
The signal filter — this is the point
A single strong wick means little in the middle of a range. WAR only marks a signal when a strong rejection coincides with the bar being the highest/lowest of the lookback window, plus a cooldown to prevent clusters. This is what separates it from "an arrow on every wick".
Visual layers
Colored histogram (sign + strength)
Optional price-overlay pressure ribbon that shifts green↔red — read pressure without numbers
Signal dots with a halo at filtered extremes
Subtle background aura in strong zones
Limitations — read this
WAR is a context / exhaustion tool, not a standalone entry trigger. It tells you who absorbed price on a given bar; it does not predict direction by itself. Use it as confluence with structure, support/resistance, or your own system. On sub-cent assets raise ε. The signal fires on bar close at the threshold cross.
Open-source. Wick analysis is a well-known concept; what's specific here is the subtractive, range-normalized oscillator plus the extreme + cooldown filter and the price-overlay ribbon. Feedback and forks welcome.
— Español —
WAR es un oscilador acotado (−1 a +1) que mide qué mecha de la vela domina, es decir, dónde fue rechazado el precio . A diferencia de los ratios mecha/cuerpo, WAR resta ambas mechas y normaliza por el rango total: no se rompe en doji y da un valor simétrico comparable entre activos y temporalidades.
WAR > 0 → mecha inferior domina → rechazo comprador
WAR < 0 → mecha superior domina → rechazo vendedor
WAR ≈ 0 → cuerpo limpio o mechas simétricas → sin rechazo claro
El filtro solo marca señal cuando un rechazo fuerte coincide con un extremo de la ventana, con cooldown para evitar racimos. Es una herramienta de contexto / agotamiento , no un gatillo de entrada por sí sola — úsala como confluencia. Toda la interfaz en inglés está traducida en esta descripción. Indicator

Wick Absorption Reversal Planner [AGPro Series]Wick Absorption Reversal Planner
🧠 Core Idea
Is an extended wick showing absorption, and did the candle body reclaim enough structure to treat the reversal context seriously?
📌 Overview / What it does
Wick Absorption Reversal Planner maps extended wick reactions as absorption pockets and evaluates whether price can reclaim the body rail after that reaction.
The script displays a wick absorption pocket, body reclaim rail, failure shelf, room reference, event labels, right-side tags, optional bar coloring, and a compact AG Pro dashboard with a 0-100 reversal score.
It does not predict reversals. It helps organize wick absorption, body reclaim quality, pressure, room, invalidation, and action state.
🎯 Purpose & Design Philosophy
Many candle tools label rejection candles, engulfing candles, or generic wick events.
This script was built for the next layer: whether the wick reaction is being absorbed and whether the candle body can reclaim the important zone afterward.
It helps traders separate random wick noise from a structured absorption pocket with a body reclaim rail and failure logic.
⚡ Why This Script Is Different
Most wick indicators focus on the wick itself.
This script does NOT treat every long wick as a reversal signal.
Instead, it maps the wick pocket, checks body reclaim, measures pressure and room, and gives a clear action state. The goal is interpretation, not prediction.
⚙️ Methodology
1. Wick Absorption Detection
The script checks upper and lower wick size relative to ATR and total candle range.
2. Context Mapping
The wick is compared with recent structure to avoid treating every isolated candle as meaningful.
3. Body Reclaim Evaluation
After a wick absorption pocket is detected, the body reclaim rail becomes the key threshold for reversal planning.
4. Visual Output
The chart receives the wick pocket, body reclaim rail, failure shelf, room rail, labels, right-side tags, optional bar coloring, and dashboard panel.
🗺️ How to Read the Chart
The wick absorption pocket marks the area created by the extended wick reaction.
The body reclaim rail shows the level price needs to recover for the reversal context to improve.
The failure shelf marks where the absorption context fails.
The room rail marks the nearest structure reference in the reversal direction.
Labels highlight wick absorption, body reclaim, pocket pressure, room tests, and absorption failure.
Colors represent context:
• Teal → bullish wick absorption
• Pink → bearish wick absorption or failure
• Gold → room reference or waiting context
• Indigo → pocket pressure or monitoring context
The panel summarizes:
• Pocket
• Reversal Score
• Pressure
• Room
• Action
🚦 Signals & States
• Bull Wick Absorption → lower wick absorption pocket detected
• Bear Wick Absorption → upper wick absorption pocket detected
• Body Reclaim → price reclaimed the body rail after absorption
• Pocket Pressure → price is testing the wick pocket without clean reclaim
• Room Test → price reached the active room reference
• Absorption Failed → price crossed the failure shelf
• READY → body reclaim and score quality are strong enough to monitor
• MONITOR → pocket or reclaim context is active but not fully ready
• WAIT → no strong active context exists
• INVALIDATED → the wick absorption context failed
• EXPIRED → the pocket is too old to remain active
🔔 Alerts Logic
Alerts can trigger when a bullish or bearish wick absorption pocket appears, when body reclaim appears, when READY state appears, when pocket pressure appears, when the room rail is reached, or when absorption fails.
Alerts are attention markers only. They are not trade instructions.
🧩 Confluence Logic
The context becomes stronger when wick size, wick-to-range ratio, structural location, participation, body reclaim, and room align.
For example, a lower wick into recent structure followed by body reclaim and available room is more useful than a random wick in the middle of noisy price action.
📊 When to Use
• Reversal watch areas after extended wicks
• Support/resistance reactions with visible rejection
• Pullbacks where wick absorption may matter
• Failed breakdown or failed breakout reactions
• Liquid symbols with readable candles and stable spreads
• 1h, 4h, and 1D charts where wick structure is visible
⚠️ When NOT to Use
• Very low-liquidity markets
• Symbols with unreliable candle structure
• Random spike candles from illiquid prints
• News candles with unstable spreads
• Extremely noisy ranges where every candle has exaggerated wicks
🎛️ Key Inputs
• ATR Length → controls normalization for wick size and visual spacing
• Wick Context Lookback → controls structural comparison
• Minimum Wick ATR → controls required wick size
• Minimum Wick / Range → controls required wick dominance inside the candle
• Minimum Relative Volume → filters very thin wick reactions
• Body Reclaim Buffer ATR → controls the reclaim rail threshold
• Failure Buffer ATR → controls where absorption fails
• Room Lookback → controls the room reference
• Visual settings → control pocket, rails, labels, tags, panel, and bar colors
🖥️ Interface & Visual Design
The visual hierarchy is designed around the wick pocket first, then the reclaim rail.
The pocket defines the reaction, the body reclaim rail defines improvement, the failure shelf defines risk, and the panel gives a quick state read.
The goal is a premium wick absorption map without turning the chart into a generic candle-label board.
🧪 Practical Usage Workflow
1. Check whether a wick absorption pocket is active
2. Read the reversal score and action state
3. Inspect the body reclaim rail
4. Compare pocket pressure with room
5. Watch the failure shelf
6. Confirm the context with broader structure and timeframe alignment
🔍 Interpretation Guidelines
A wick absorption pocket means the candle showed a meaningful wick reaction in context.
Body reclaim means price recovered the reclaim rail after the wick reaction.
READY means the rule-based context has enough quality to monitor.
Room is a reference for structure, not a promised target.
🚫 What This Script Is NOT
This script is not a prediction engine.
It is not a guaranteed reversal system.
It is not a generic candle pattern detector.
It is not a volume absorption zone engine.
It is not an automated trading tool.
It does not provide financial advice.
It does not guarantee reversal, continuation, profit, or a specific target.
⚠️ Limitations & Transparency
Wick behavior depends on market structure, liquidity, volatility, session conditions, and timeframe.
Some long wicks are random noise.
Some absorption pockets may fail quickly.
The score is a rule-based context score, not a certainty model.
🧠 Market Context Notes
Wicks can show rejection, absorption, stop activity, or simply noise.
The key question is whether price can reclaim the body rail after the wick event.
Use the pocket as context, not as confirmation by itself.
🧾 Use Case Examples
When price prints a long lower wick into recent structure, the script can map a bullish wick absorption pocket.
If price later reclaims the body rail, the script marks body reclaim and updates the panel state.
If price loses the failure shelf, the script marks absorption failure.
🧱 System Philosophy
This script follows the AGPro Series approach: turn a familiar chart behavior into a structured decision-support map.
The focus is not prediction. The focus is wick context, body reclaim, pressure, room, invalidation awareness, and visual clarity.
🔐 Non-Promise Statement
No script can remove uncertainty from markets.
This tool does not promise accuracy, profitability, or future price movement.
Its purpose is to organize wick absorption context so the user can interpret the chart more clearly.
📉 Risk Disclosure
Trading involves risk.
Market conditions can change quickly, and any analytical output can fail.
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
Do not read a wick by itself.
The strongest reads usually come when wick absorption, body reclaim, structure, participation, and room align.
Indicator

Volume Trap Reversal Planner [AGPro Series]Volume Trap Reversal Planner
🧠 Core Idea
Did a volume spike trap one side of the market and reverse with enough confirmation to deserve attention?
📌 Overview / What it does
Volume Trap Reversal Planner is a chart-first reversal planning tool built around high-volume trap behavior.
Instead of treating every volume spike or wick sweep as a reversal signal, the script checks whether price expands through a recent reference, prints unusual relative volume, fails to hold the move, recovers back through the reference, and then confirms with a follow-through candle.
The output includes volume trap pockets, reclaim rails, risk edges, target-room bands, compact event labels, alerts, and a clean AGPro decision panel. It does not predict price, automate trades, or claim that every trap will reverse.
🎯 Purpose & Design Philosophy
The script was built for traders who want to separate meaningful high-volume trap events from ordinary noisy spikes.
Many reversal tools focus only on a wick, a candle pattern, or a support/resistance touch. This planner focuses on the decision layer after a volume trap forms: whether the trap is confirmed, where the risk edge sits, where target-room review begins, and what the next action state should be.
The design supports a structured review mindset: identify the trap, wait for confirmation, monitor the risk edge, and read the context through a 0-100 score instead of reacting to a single candle.
⚡ Why This Script Is Different
Most tools focus on volume spikes as standalone events or classify every sweep as a reversal attempt.
This script does NOT operate as a generic stop-run scanner, a broad liquidity sweep map, or a simple volume climax labeler.
Instead, it combines relative volume, wick sweep behavior, close recovery, confirmation candle quality, follow-through, risk edge placement, and target-room context into one planner-style reversal model.
⚙️ Methodology
1. Context Detection
The script builds a rolling high/low reference range and watches for unusual volume expansion near those references.
2. Trap Mapping
When price sweeps beyond the reference with elevated volume and recovers back inside, the script maps the volume trap pocket.
3. Reversal Evaluation
The planner evaluates wick quality, recovery strength, confirmation candle structure, follow-through distance, and the active risk edge.
4. Visual Output
The result is translated into a 0-100 reversal score, a next-action state, on-chart labels, risk/target guides, and a compact AGPro panel.
🗺️ How to Read the Chart
Zones = volume trap pockets created by a high-volume sweep and recovery.
Labels = trap watch, reversal ready, trap failed, or target review states.
Colors = bull-side reversals use teal, bear-side reversals use pink, watch states use amber, and review/target context uses indigo.
Panel = current trap side, volume spike multiple, reversal score, risk edge, and next action.
🚦 Signals & States
• VOL TRAP WATCH → a high-volume trap candidate formed and needs confirmation.
• REVERSAL READY → the trap received confirmation and reached the required score.
• TRAP FAILED → price closed beyond the risk edge and the active trap context weakened.
• TARGET REVIEW → price reached the target-room review band for the active plan.
🔔 Alerts Logic
Alerts trigger when a volume trap watch appears, when reversal confirmation reaches the required score, when the active trap fails through the risk edge, or when price reaches the target-room review band.
Alerts are attention markers only. They are not trade instructions.
🧩 Confluence Logic
The context becomes stronger when volume spike quality, wick sweep behavior, close recovery, confirmation candle structure, and follow-through align in the same direction.
The score is intentionally multi-factor so a single dramatic candle does not dominate the interpretation.
📊 When to Use
• 4H charts for the cleanest public visual balance
• Markets with reliable volume data
• High-volume reactions around recent highs or lows
• Reversal review after failed breakout or failed breakdown attempts
• Active intraday or swing charts where trap behavior is visible
⚠️ When NOT to Use
• Very low-liquidity symbols
• Markets with unreliable or missing volume data
• Extremely noisy ranges where every candle sweeps both sides
• News-driven volatility where candle structure can distort normal context
🎛️ Key Inputs
• Trap Reference Lookback → controls the rolling high/low range used for trap detection.
• Volume Spike RVOL → adjusts how much relative volume is required.
• Sensitivity → changes sweep, wick, and volume selectivity.
• Confirmation Mode → controls how strict the confirmation candle must be.
• Risk / Target Logic → controls risk edge buffers and target-room bands.
• Visual Settings → control zones, rails, labels, panel location, theme, and font sizes.
🖥️ Interface & Visual Design
The interface is built around a clean AGPro panel and chart-first visual hierarchy.
Trap pockets show where the volume trap occurred. Labels identify the current state without overcrowding the chart. Risk and target guides make the output easier to interpret as a planning tool rather than a raw signal board.
🧪 Practical Usage Workflow
1. Read the panel and check the active trap side.
2. Inspect the volume trap pocket and reclaim rail.
3. Wait for reversal confirmation instead of reacting to the spike alone.
4. Compare the current state with the risk edge and target-room band.
5. Interpret the score within broader market context.
🔍 Interpretation Guidelines
A high score means the trap structure, volume spike, recovery, and confirmation are aligned more cleanly.
A watch state means the event is still developing.
A failed state means the active trap context has weakened or invalidated according to the script's rules.
Use the output as structured context, not as a standalone decision.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not an auto-trading system
• Not a guaranteed reversal signal
• Not a generic liquidity sweep scanner
⚠️ Limitations & Transparency
Volume quality varies by symbol, exchange, and asset class.
Different timeframes may produce different trap pockets and confirmation states.
High volatility can make traps appear and fail quickly.
The script is rule-based and cannot know news, order flow intent, execution quality, or broader discretionary context.
🧠 Market Context Notes
Volume traps often matter most when they occur at obvious participation points, such as recent highs, recent lows, failed breakouts, or failed breakdowns.
The strongest use case is not the spike itself. The strongest use case is the sequence after the spike: recovery, confirmation, risk edge, and follow-through.
🧾 Use Case Examples
When price sweeps below a recent low on elevated volume, closes back above the reference, and confirms upward within the allowed window, the planner can mark a bullish reversal context.
When price sweeps above a recent high on elevated volume, fails to hold, and confirms downward, the planner can mark a bearish reversal context.
🧱 System Philosophy
Volume Trap Reversal Planner belongs to the AGPro planner-style workflow: detect the event, score the evidence, define the risk edge, map the review zone, and guide the next chart-reading step.
🔐 Non-Promise Statement
No trap, score, label, or alert can guarantee a reversal.
No script can provide certainty.
📉 Risk Disclosure
Trading involves risk.
Users are responsible for their own decisions, risk management, and market interpretation.
This script is for educational and analytical purposes only and does not provide financial advice.
📚 Educational Note
Use the script to study how high-volume failed moves behave after sweeping recent references. The most useful insights come from comparing confirmed traps, failed traps, and ignored spikes across different markets and timeframes.
Indicator

Price Rejection Readiness [AGPro Series]Price Rejection Readiness
🧠 Core Idea
Is the current price rejection strong enough to deserve attention now?
📌 Overview / What it does
Price Rejection Readiness is a chart-first rejection planning tool built to evaluate whether a wick-based rejection is only noise, a watch condition, a confirmed context, or a failed attempt.
The script produces a 0-100 Readiness Score, a rejection pocket, wick-quality label, confirmation rail, invalidation rail, target review rail, controlled chart labels, and a compact AG Pro decision panel.
It does not predict price direction, automate execution, or mark every wick as important. Its role is to organize rejection context into a cleaner planning workflow.
🎯 Purpose & Design Philosophy
Many rejection tools stop at candle recognition. They mark long wicks, pin bars, or local reactions without showing whether the context is ready, waiting, confirmed, or failing.
This script was built for traders who want a decision-support layer around rejection behavior. It helps users evaluate validity, quality, confirmation, risk boundary, target room, and the next action from one clean visual structure.
The design philosophy is planning first. A rejection candle should not be treated as a conclusion by itself. It should be evaluated through structure, participation, follow-through, and risk context.
⚡ Why This Script Is Different
Most tools focus on detecting a wick or highlighting a candle pattern.
This script does NOT clone Rejection Block Quality, Pin Bar Quality Filter, Reaction Efficiency Meter, order-block tools, or generic support/resistance maps.
Instead, it asks whether the current rejection is ready to be monitored as a structured plan. It scores wick dominance, close location, local reference pressure, volume response, and follow-through, then maps a practical confirmation rail, invalidation rail, and target review area.
⚙️ Methodology
1. Context Detection
The script measures the current candle body, wick dominance, wick share, close location, volume response, and local reference pressure.
2. Reference Mapping
When a valid rejection forms, the script draws a candle-native rejection pocket from the wick extreme to the rejection body area. This is not a broad support/resistance zone.
3. Reaction Evaluation
The engine converts wick quality, close strength, reference pressure, volume behavior, and follow-through into a 0-100 Readiness Score.
4. Visual Output
Accepted plans create a rejection pocket, confirmation rail, invalidation rail, target review rail, event labels, and a compact AG Pro panel.
🗺️ How to Read the Chart
Rejection Pocket = the candle-native area where the rejection originated.
Confirmation Rail = the price boundary that must be respected or exceeded according to the selected confirmation mode.
Invalidation Rail = the price boundary beyond the wick where the rejection plan is no longer valid.
Target Review Rail = a projected review area based on the distance from active price to invalidation.
Labels = compact event markers for Ready, Confirmed, Failed Rejection, and Target Review.
Colors = teal for bullish rejection context, pink for bearish rejection context, indigo for confirmation, gold for target review, and red for invalidation.
Panel = shows Rejection Side, Readiness, Wick Quality, Confirmation, Invalid / Target, and Action.
🚦 Signals & States
• Scan → no active rejection plan exists.
• Watch → rejection quality meets the minimum threshold but still needs confirmation.
• Ready → rejection quality is strong enough to review risk and confirmation context.
• Confirmed → the active rejection plan confirmed according to the selected confirmation mode.
• Failed → price closed beyond the invalidation rail.
• Target Review → price reached the projected target review rail.
🔔 Alerts Logic
Bullish Rejection Ready triggers when a bullish rejection reaches the configured readiness threshold.
Bearish Rejection Ready triggers when a bearish rejection reaches the configured readiness threshold.
Rejection Confirmed triggers when the active rejection plan confirms according to the selected confirmation mode.
Rejection Failed triggers when the active plan closes beyond its invalidation rail.
Target Review Reached triggers when price reaches the projected target review rail.
Alerts are attention markers, not trade instructions.
🧩 Confluence Logic
The readiness score becomes stronger when wick dominance, close location, local reference pressure, volume response, and directional follow-through align.
No single component is treated as absolute. A visually strong wick can still receive a weaker score if close location, participation, or follow-through are poor.
📊 When to Use
• Price-action review after a visible wick rejection
• Pullback or reaction environments where rejection quality matters
• Breakout failure, continuation delay, or reversal-watch contexts
• Charts where traders need risk and confirmation boundaries, not just a candle marker
⚠️ When NOT to Use
• Extremely low-liquidity symbols
• Very noisy micro timeframes with poor candle quality
• News spikes where wick structure can be unstable
• Markets where volume data is missing or unreliable
🎛️ Key Inputs
• Sensitivity → controls how strict the rejection engine is.
• Reference Lookback → defines the local edge used for context.
• Minimum Readiness Score → filters weak rejection plans.
• Confirmation Mode → controls how strict the confirmation rail behavior must be.
• Invalidation Buffer ATR → places the risk rail beyond normal candle noise.
• Target Review Multiple → projects the target review rail from risk distance.
• Visual settings → control pockets, rails, labels, object count, label size, panel visibility, panel location, theme, and panel font size.
🖥️ Interface & Visual Design
The interface is built around a compact AG Pro panel and a chart-first planning layer.
The pocket, rails, and labels are intentionally direct: they show where the rejection originated, where confirmation is evaluated, where the plan fails, and where review becomes relevant.
The design avoids crowded signal dumping and keeps the chart readable while still providing enough visible labels for publication-quality context.
🧪 Practical Usage Workflow
1. Read the panel to identify the active rejection side and readiness score.
2. Check the rejection pocket to see where the wick response originated.
3. Compare price behavior against the confirmation rail.
4. Use the invalidation rail and target review rail as planning context.
5. Interpret the next-action state instead of treating the label as a command.
🔍 Interpretation Guidelines
A high readiness score means the rejection has stronger structural qualities, not certainty.
A confirmed rejection means price respected the selected confirmation rule, not that future direction is guaranteed.
A failed rejection means the active plan lost its defined risk boundary and should be reviewed as invalidated context.
Target Review means the projected review area was reached and the context should be reassessed.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not auto trading
• Not guaranteed signals
• Not an order-block or rejection-block detector
• Not a generic support/resistance map
⚠️ Limitations & Transparency
Rejection quality can vary across symbols, timeframes, volatility regimes, and volume conditions.
The local reference component is designed for context, not complete market-structure mapping.
The target rail is a review boundary, not a promised destination.
The script is rule-based and reactive. It organizes information after conditions appear on the chart.
🧠 Market Context Notes
Wick rejection can be more meaningful when it appears near a local edge, forms with clear close behavior, and receives follow-through.
It can be weaker when the candle is isolated, the close location is poor, or the market is moving through unstable volatility.
Use the tool as a structured context layer inside a broader trading plan.
🧾 Use Case Examples
When price forms a lower-wick rejection near a recent local low and closes strongly above the body area, the planner may create a bullish readiness state with a visible pocket and confirmation rail.
When price forms an upper-wick rejection near a recent local high but later closes beyond the invalidation rail, the planner marks the setup as failed instead of keeping the rejection narrative active.
🧱 System Philosophy
AGPro tools are designed to turn raw chart events into structured interpretation.
This script follows that philosophy by transforming rejection candles into a readiness workflow: score, state, risk, confirmation, target review, and next action.
🔐 Non-Promise Statement
No script can remove uncertainty from markets.
This tool highlights rule-based rejection context and leaves final interpretation to the user.
📉 Risk Disclosure
Trading involves risk.
This script is for educational and analytical use only.
It does not provide financial advice, investment advice, or guaranteed trading outcomes.
Users are responsible for their own decisions, risk management, and market interpretation.
📚 Educational Note
Use Price Rejection Readiness as a structured reading layer for rejection behavior, not as a standalone decision system.
Indicator

Volume Rejection Planner [AGPro Series]Volume Rejection Planner
🧠 Core Idea
Did unusual volume appear at rejection in a way that changes the current decision context?
📌 Overview / What it does
Volume Rejection Planner is a chart-first volume reaction tool built to evaluate wick-led rejection events that appear with elevated relative volume near a recent range edge.
The script maps a volume rejection zone, a risk edge, a follow-through trigger, a room guide, compact state labels, and a clean AGPro planning panel. It converts relative volume, wick quality, close location, range-edge context, follow-through progress, and time decay into a 0-100 rejection quality score.
It does not predict price, automate trades, or mark every volume spike as meaningful. Its purpose is to organize the decision window after volume appears at a rejection wick.
🎯 Purpose & Design Philosophy
This script was built for traders who want more context than a raw volume spike or a simple wick marker.
High volume at a wick can mean participation, absorption, rejection, or noise depending on where it appears and what follows next. The planner focuses on that next question: is the rejection being accepted by follow-through, or is the event failing at its risk edge?
The design supports a decision-engine mindset: identify the rejection, measure its quality, locate invalidation, monitor follow-through, and decide whether the context deserves review, patience, or dismissal.
⚡ Why This Script Is Different
Most tools focus on volume spikes, climax candles, or generic wick rejection labels.
This script does NOT clone a Volume Climax Detector, does not become a Rejection Block tool, and does not draw generic support/resistance zones.
Instead, it treats high-volume wick rejection as a short lifecycle: event, test, accepted follow-through, failed risk edge, expired window, or room-guide reach. The main output is not a raw signal; it is a structured planning state.
⚙️ Methodology
1. Context Detection
The script builds a recent range-edge reference and checks whether the rejection wick occurs near the upper or lower edge.
2. Reference Mapping
When a qualified event appears, it maps the rejection zone, risk edge, follow-through trigger, and room guide.
3. Reaction Evaluation
The model scores relative volume, wick ratio, wick size, close location, edge quality, room, follow-through progress, pressure against the event, and time decay.
4. Visual Output
The result is shown through centered zone text, compact event labels, risk/room guides, candle tint, alerts, and a premium AGPro decision panel.
🗺️ How to Read the Chart
Volume Rejection Zone = the wick-led rejection area created by elevated participation at a range edge.
Risk Edge = the invalidation boundary beyond the rejection wick.
Follow-Through Trigger = the distance price must move away from the rejection to show accepted context.
Room Guide = a forward planning reference used to judge whether the reaction has enough space to matter.
Labels = compact BULL VRP / BEAR VRP markers for primary volume rejection events. Optional secondary labels can show monitor, accepted follow-through, expiry, and room-guide reach when the user wants a more detailed chart.
Colors = teal highlights bullish rejection context, pink highlights bearish rejection context, amber highlights watch context, indigo highlights room/guide context, and red highlights invalidation.
Panel = summarizes Rejection Volume, Wick Quality, Follow-Through, Risk Edge, and Action.
The panel focuses on fresh active context only. Older historical zones can remain on the chart without forcing the panel to display stale invalidated events.
🚦 Signals & States
• Volume Rejection Event → elevated relative volume appears with a qualifying wick near a range edge.
• Testing → the event exists, but accepted follow-through is not confirmed yet.
• Monitor → the active score is high enough to keep the context under review.
• Accepted → price has moved away from the rejection wick enough to confirm follow-through context.
• Risk Edge Broken → the event has moved through its invalidation boundary.
• Window Expired → the event did not confirm within the selected follow-through window.
• Room Guide Reached → the accepted context reached its planning guide.
🔔 Alerts Logic
Alerts trigger when a qualified volume rejection event appears, when the active context reaches READY, when the state changes, when the risk edge is broken, or when the room guide is reached.
Alerts are attention markers only. They are not trade instructions, entry commands, exit commands, or automated strategy rules.
🧩 Confluence Logic
The strongest context appears when high relative volume, a clear wick ratio, a strong close back away from the wick, range-edge location, enough room, and quick follow-through align.
If price fails to move away from the rejection wick, presses back into the risk edge, or loses too much time, the planner downgrades the context.
📊 When to Use
• Range-edge reactions
• Wick rejection events with unusually high participation
• Failed pushes into recent highs or lows
• Markets where volume data is readable
• Situations where the next decision depends on whether rejection follows through
⚠️ When NOT to Use
• Very low-liquidity symbols with unreliable volume
• Extremely noisy micro-timeframes
• News spikes where wick behavior may distort quickly
• Markets where volume reporting is fragmented or unavailable
• Situations where the user expects a direct buy/sell signal
🎛️ Key Inputs
• Sensitivity → controls how strict the volume, wick, and edge requirements are.
• Range Edge Lookback → defines the recent high/low context used for rejection location.
• Minimum Rejection Score → controls which events are important enough to draw.
• Confirmation Mode → adjusts how quickly follow-through can be accepted.
• Follow-Through Window → controls how long the event remains active.
• Risk Edge Buffer → adjusts the invalidation boundary beyond the wick.
• Room Guide ATR → controls the planning guide distance.
• Visual settings → control zones, rails, primary labels, secondary labels, failure labels, candle tint, label density, and text size.
• Limit Historical Drawing / Historical Drawing Bars → controls how far back the script creates visual objects, improving load speed on long histories while preserving the current planning view.
• Adaptive HTF Events → slightly relaxes event thresholds on daily and weekly charts so higher timeframes do not look empty while intraday behavior stays stricter.
🖥️ Interface & Visual Design
The interface is designed to stay chart-first.
The rejection zone provides the visual anchor. The risk edge and room guide frame the planning context. Labels stay compact and offset away from candles so the chart remains active without becoming crowded.
The AGPro panel uses a merged blue title row and a compact five-row decision layout.
🧪 Practical Usage Workflow
1. Read the panel action state.
2. Check whether the rejection zone is bullish or bearish.
3. Review the wick quality and relative volume.
4. Compare current price against the follow-through trigger and risk edge.
5. Treat alerts as attention markers, then evaluate broader market context.
🔍 Interpretation Guidelines
Think in terms of event lifecycle, not prediction.
A stronger score means the rejection had better participation, wick structure, location, room, and follow-through behavior. A weaker or decaying score means the event is losing quality under the current rule set.
Accepted follow-through does not mean price must continue. It means the rejection event has met the script's conditions for stronger review context.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not auto trading
• Not guaranteed signals
• Not a generic volume spike marker
• Not a Rejection Block clone
• Not a Volume Climax Detector clone
⚠️ Limitations & Transparency
The script is rule-based and depends on recent price, volatility, wick structure, and volume behavior.
Different timeframes can change how rejection and follow-through appear. Volatility spikes can temporarily distort wick size and edge quality. Symbols with weak or unreliable volume may produce less useful readings.
Outputs should always be interpreted within broader structure, liquidity, volatility, and risk context.
🧠 Market Context Notes
Volume rejection is most useful when the wick appears at a meaningful location and the follow-up reaction is clear.
High volume alone is not enough. Location, close behavior, risk edge, and follow-through all matter.
🧾 Use Case Examples
When price pushes above a recent range edge, prints a strong upper wick with elevated RVOL, and then moves away from that wick, the planner may classify the context as accepted bearish rejection.
When price probes below a recent range edge, prints a strong lower wick with elevated RVOL, but then closes below the risk edge, the planner may classify the event as invalidated.
🧱 System Philosophy
AGPro planning tools are designed to help traders evaluate context before reacting.
This script follows that approach by turning high-volume wick rejection into a structured decision question: is the event valid, strong, risky, accepted, or fading?
🔐 Non-Promise Statement
No indicator can provide certainty.
This tool provides structured visual context and rule-based attention markers. It does not guarantee continuation, reversal, rejection, or follow-through.
📉 Risk Disclosure
Trading involves risk. Market conditions can change quickly, and no script can remove uncertainty.
Users are responsible for their own analysis, risk management, and decisions.
This script is for educational and analytical use only and does not provide financial advice.
📚 Educational Note
Use the planner to study how volume behaves at wick rejection points, how quickly follow-through appears after rejection, and how risk edges help separate valid context from failed reaction events.
Indicator

Range Rejection Planner [AGPro Series]Range Rejection Planner
🧠 Core Idea
Is price rejecting a range edge with enough quality to monitor back toward the midline?
📌 Overview / What it does
Range Rejection Planner is a chart-first range reaction decision engine built to evaluate whether price is rejecting the active range edge with enough structure to deserve attention.
The script maps one relevant range edge, a focused edge-reaction zone, wick rejection behavior, close-back-inside quality, midline room, invalidation shelf, failure risk, event labels, alerts, and a clean AGPro planning panel. These components are converted into a 0-100 Rejection Score and a clear next-action state.
It does not predict price movement, automate trades, draw a full support/resistance library, or guarantee that a range edge will hold. Its purpose is to organize the range-edge rejection review process with practical risk and midline context.
🎯 Purpose & Design Philosophy
This script was built for traders who want to evaluate range-edge reactions without turning the chart into a crowded level map.
Many range tools show boundaries, fills, or breakout markers, but they often stop before answering the practical planning question: did price actually reject the edge, is there room back to the midline, and where does the idea fail?
The design philosophy is simple: a range-edge rejection is only useful when the edge interaction, wick response, close-back-inside behavior, midline room, and failure shelf can be read together.
⚡ Why This Script Is Different
Most tools focus on drawing support/resistance zones, marking every range touch, or highlighting breakouts.
This script does NOT clone Support Resistance Reaction Map, does not build a multi-level S/R inventory, and does not act as a broad breakout or break-retest scanner.
Instead, it focuses on one active range and one active edge. The main output is not a buy/sell signal. It is a planning state that helps users decide whether the edge rejection deserves review, whether midline room exists, and whether failure risk is rising.
⚙️ Methodology
1. Context Detection
The script builds an active range from previous bars and identifies whether price is interacting with the upper or lower edge.
2. Reference Mapping
It maps the relevant edge zone, the range midline, and an invalidation shelf beyond the rejected edge.
3. Reaction Evaluation
The model scores edge proximity, wick rejection, close-back-inside quality, relative volume response, midline room, and active range quality.
4. Visual Output
The result appears as a centered range-edge zone, a midline review path, guide lines, compact state labels, alerts, and a premium AGPro panel.
🗺️ How to Read the Chart
Zones = the active range-edge zone shows the relevant upper or lower boundary being evaluated. The zone label is centered inside the shape.
Midline Path = the projected review area between the rejected edge and the range midline. It helps show whether there is enough room for interpretation.
Labels = compact markers show EDGE WATCH, REJECT READY, MIDLINE REVIEW, MIDLINE HIT, or FAILURE RISK context.
Colors = teal supports lower-edge rejection context, pink supports upper-edge rejection context, amber highlights review states, and indigo marks midline references.
Panel = the panel summarizes Range Edge, Rejection Score, Midline Room, Failure Risk, and Action.
🚦 Signals & States
• EDGE WATCH → price is probing a range edge and early rejection conditions are developing.
• REJECT READY → range-edge rejection quality reached the selected score threshold.
• MIDLINE REVIEW → an active rejection context is being monitored toward the range midline.
• MIDLINE HIT → price reached the active range midline after a rejection context.
• FAILURE RISK → price crossed the invalidation shelf beyond the rejected edge.
• RANGE WAIT → a range exists, but the edge interaction is not strong enough yet.
🔔 Alerts Logic
Alerts trigger when the planner enters EDGE WATCH, REJECT READY, MIDLINE REVIEW, MIDLINE HIT, or FAILURE RISK.
Each alert is an attention marker. Alerts are not trade instructions, entry commands, exit commands, or automated strategy rules.
🧩 Confluence Logic
The strongest context appears when several conditions align:
Range edge probe + strong rejection wick + close back inside the range + supportive relative volume + meaningful room back to the midline + a clear invalidation shelf.
When these components weaken, the planner can stay in EDGE WATCH, return to RANGE WAIT, or shift into FAILURE RISK.
📊 When to Use
• During range-bound markets where edge reactions matter
• When price probes the upper or lower boundary of a recent range
• When evaluating whether an edge rejection has enough midline room
• When a trader wants risk and invalidation context around a range reaction
• On liquid symbols where wicks, volume, and range boundaries are readable
⚠️ When NOT to Use
• Extremely low-liquidity symbols with unreliable wicks or volume
• Very noisy micro-timeframes where range edges shift too often
• News-driven volatility spikes that distort normal range behavior
• Strong trend expansion where range rejection is no longer the main context
• Situations where the user expects automatic buy/sell signals
🎛️ Key Inputs
• Range Edge Mode → chooses Auto, Upper Edge Rejection, or Lower Edge Rejection.
• Active Range Lookback → controls the previous-bar range used for edge evaluation.
• Range Edge Zone ATR → controls the width of the focused edge-reaction zone.
• Close-Back-Inside ATR → defines how much price should close back inside after probing an edge.
• Invalidation Shelf ATR → controls the failure-risk reference beyond the rejected edge.
• REJECT READY Threshold → sets the minimum 0-100 score for the strongest rejection state.
• Label and Panel Font Size → controls visual readability.
🖥️ Interface & Visual Design
The interface is designed to stay chart-first.
The active edge zone gives the main visual reference. The midline path shows the review area. The invalidation shelf defines where the rejection context becomes weaker. The panel provides a compact decision summary without replacing the chart.
The AGPro panel follows the standard first row format: one merged blue title row containing only the script name.
🧪 Practical Usage Workflow
1. Read the panel state and Rejection Score.
2. Check which range edge is active.
3. Review the wick rejection and close-back-inside context.
4. Compare the midline room with the invalidation shelf.
5. Treat alerts as attention markers, then evaluate broader market context.
🔍 Interpretation Guidelines
Think in terms of rejection quality, not prediction.
A stronger score means multiple range-reaction conditions are aligned. A weaker score means the edge interaction may be early, noisy, too close to the midline, or vulnerable to failure.
Failure Risk does not forecast a breakout. It means the active rejection context has crossed its rule-based failure shelf and should be reviewed.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not an auto-trading system
• Not a guaranteed signal tool
• Not a generic support/resistance map
• Not a full range breakout scanner
⚠️ Limitations & Transparency
The script is rule-based and depends on recent price, range, wick, volatility, and volume behavior.
Timeframe changes can alter the active range, score, edge zone, midline room, and invalidation shelf. Volatility spikes can temporarily distort range boundaries. Symbols with unreliable volume may produce weaker participation readings.
Outputs should always be interpreted with broader market structure, liquidity conditions, and independent risk planning.
🧠 Market Context Notes
Range-edge rejection is most useful when the market is respecting a bounded structure and still has meaningful space toward the middle of the range.
If price starts expanding beyond the edge, this tool intentionally shifts attention from rejection quality toward failure risk instead of calling continuation or reversal with certainty.
🧾 Use Case Examples
When price probes above the active range high, prints a strong upper wick, closes back inside, and still has clear room toward the midline, the planner may classify the context as REJECT READY.
When price touches the lower edge but closes weakly, lacks wick response, or sits too close to the midline, the planner may remain in EDGE WATCH or RANGE WAIT.
When price crosses the invalidation shelf beyond the rejected edge, the planner marks FAILURE RISK for review.
🧱 System Philosophy
AGPro planning tools are designed to help traders make a decision, not simply see another signal.
This script follows that philosophy by turning range rejection into a practical decision question:
Is the edge interaction valid?
How strong is the rejection?
Where is the midline reference?
Where is the failure shelf?
What should I review now?
🔐 Non-Promise Statement
No script can remove uncertainty.
No state, score, label, zone, line, or alert guarantees a future market outcome.
📉 Risk Disclosure
Trading involves risk. Market conditions can change quickly, and no script can eliminate uncertainty.
Users are responsible for their own analysis, risk management, and decisions.
This script is for educational and analytical use only and does not provide financial advice.
📚 Educational Note
Use the planner to study how range edges behave across different markets and timeframes. The most useful reading comes from comparing the edge zone, wick response, midline room, failure shelf, panel state, and broader market context together.
Indicator

Stop Run Reversal Planner [AGPro Series]Stop Run Reversal Planner
🧠 Core Idea
Did a stop run create a confirmed reversal context with clear risk, target room, and next-action guidance?
📌 Overview / What it does
Stop Run Reversal Planner is a chart-first stop-run reversal planning tool built to evaluate wick sweeps around recent range extremes.
The script detects when price runs beyond a prior high or low, checks whether price closes back through the swept reference, evaluates confirmation candle quality, scores volume response, measures target room, and converts the context into a 0-100 reversal readiness score.
It produces stop-run wick zones, confirmation labels, reclaim rails, invalidation guides, reversal target bands, alerts, and a clean AGPro planning panel. It does not predict price direction, automate execution, or claim that every stop run must reverse.
🎯 Purpose & Design Philosophy
This script was built for traders who want structure after a fast liquidity run instead of another simple sweep marker.
Stop-run candles can look dramatic, but not every sweep deserves the same attention. Some sweeps reclaim cleanly, confirm with stronger candle behavior, and leave usable target room. Others are only noise, continuation, or incomplete rejection.
The design supports a planning workflow: identify the stop run, wait for confirmation, read the readiness score, check invalidation, review target room, and decide whether the context deserves attention.
⚡ Why This Script Is Different
Most stop-hunt tools focus on mapping sweep zones or marking that liquidity was taken.
This script does NOT try to clone a stop-hunt map, liquidity grab detector, liquidity sweep engine, order block map, or broad SMC dashboard.
Instead, it focuses on the post-stop-run reversal decision. The key question is not only "was a stop run printed?" The key question is "did that stop run turn into a confirmed reversal plan with acceptable reclaim quality, invalidation logic, and target room?"
⚙️ Methodology
1. Context Detection
The script tracks recent range highs and lows, then checks whether price runs beyond one side with a meaningful wick sweep.
2. Reference Mapping
The swept reference becomes the reclaim rail. The sweep extreme becomes the invalidation guide. The opposite side of the reference range, or an ATR fallback, becomes the target-room guide.
3. Reaction Evaluation
The scoring model evaluates wick sweep quality, close-back-inside behavior, confirmation candle quality, relative volume response, trend-turn context, and available target room.
4. Visual Output
Qualified contexts are displayed through stop-run wick zones, confirmation labels, reclaim rails, invalidation lines, target bands, alerts, and a compact AGPro panel.
🗺️ How to Read the Chart
Zones = the stop-run wick zone between the swept reference and the sweep extreme.
Labels = stop-run watch, confirmed reversal, invalidation, and target-band review markers.
Colors = teal highlights bullish reversal contexts, pink highlights bearish reversal contexts, amber marks watch states, and indigo marks target-room areas.
Panel = the panel summarizes Stop Run, Confirmation, Reclaim Quality, Invalidation, and Action.
🚦 Signals & States
• Bull Stop Run Watch → price swept below the recent low and may need confirmation.
• Bear Stop Run Watch → price swept above the recent high and may need confirmation.
• Bull Reversal Confirmed → downside stop run reclaimed with enough confirmation quality and target room.
• Bear Reversal Confirmed → upside stop run rejected with enough confirmation quality and target room.
• Reversal Invalidated → price crossed the active invalidation guide.
• Target Band Review → price reached the active reversal target band.
🔔 Alerts Logic
Alerts trigger when a bull or bear stop-run watch appears, when a bull or bear reversal confirmation becomes active, when invalidation is crossed, or when the target band is reached.
Alerts are attention markers. They are not trade instructions, entry signals, exit signals, or automation commands.
🧩 Confluence Logic
The reversal context becomes stronger when multiple factors align:
Stop-run wick + close back inside + strong confirmation candle + supportive volume response + usable target room + cleaner trend-turn behavior.
When only one or two factors appear, the script keeps the context in watch mode or ignores it completely.
📊 When to Use
• After fast wick sweeps beyond recent highs or lows
• Around failed breakout or failed breakdown attempts
• In range-edge reversal review workflows
• When price reclaims a swept level and needs structured confirmation
• When a trader wants risk, target, and action context instead of only a sweep marker
⚠️ When NOT to Use
• Very low-liquidity symbols
• Extremely noisy micro-timeframes
• News candles with abnormal gaps
• Strong one-way trend conditions where stop runs may continue rather than reverse
• Situations where the user wants an automatic buy or sell signal
🎛️ Key Inputs
• Stop-Run Reference Lookback → controls the recent high / low range used for sweep detection.
• Sensitivity → changes how selective wick-sweep detection should be.
• Confirmation Mode → controls how strict the post-sweep confirmation candle must be.
• Minimum Reversal Score → sets the 0-100 score required before a confirmed plan is drawn.
• Confirmation Window Bars → defines how long a stop run can wait for confirmation.
• Target Room ATR Fallback → creates a practical target guide when the opposite range side is not useful.
• Invalidation Buffer ATR → places the invalidation guide beyond the sweep extreme.
• Visual settings → control zones, rails, target bands, labels, panel location, panel theme, and font sizes.
🖥️ Interface & Visual Design
The interface is built to stay chart-first.
The panel gives the decision summary. The stop-run zone shows where the sweep happened. The reclaim rail shows the level price had to recover. The invalidation line marks the level that would weaken the reversal context. The target band gives a structured review area without making a promise.
The layout is intentionally compact, readable, and publication-friendly.
🧪 Practical Usage Workflow
1. Read the panel to identify the current Stop Run and Confirmation state.
2. Check whether the chart shows a stop-run wick zone and reclaim rail.
3. Review the Reclaim Quality score and confirmation label.
4. Compare the current price with invalidation and target-band guides.
5. Interpret the context with broader market structure, liquidity, and volatility conditions.
🔍 Interpretation Guidelines
A stop-run watch means price has swept a recent edge, but the reversal plan is not yet confirmed.
A confirmed reversal state means the script found stronger reclaim, candle, volume, and target-room conditions.
An invalidation marker means the active context weakened according to the script rules.
A target-band review marker means price reached a planned review area, not that the move must stop there.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not an auto trading system
• Not a guaranteed signal tool
• Not a stop-hunt zone map
• Not a liquidity grab detector
• Not an order block or FVG map
• Not a generic SMC dashboard
⚠️ Limitations & Transparency
Stop-run behavior changes across symbols, sessions, and timeframes.
Some stop runs continue instead of reversing. Some reclaim attempts fail after confirmation. Some symbols have weak or unreliable volume data, which can affect the score model.
The script provides structured context, not certainty.
🧠 Market Context Notes
Stop-run reversal behavior often appears near visible range edges, prior swing highs, prior swing lows, and failed breakout areas.
The strongest contexts usually combine a meaningful sweep, clean reclaim, strong confirmation candle, usable room, and a clear invalidation guide.
🧾 Use Case Examples
When price runs below a recent low, leaves a strong lower wick, closes back above the swept reference, and confirms with stronger follow-through, the script may classify the context as a bullish stop-run reversal plan.
When price runs above a recent high, rejects the move, closes back below the swept reference, and confirms with stronger downside behavior, the script may classify the context as a bearish stop-run reversal plan.
🧱 System Philosophy
Stop Run Reversal Planner follows the AGPro decision-engine approach: the goal is not to add another signal to the chart, but to organize the decision around validity, score, risk, target room, and next action.
🔐 Non-Promise Statement
No script can guarantee a reversal, outcome, or market reaction.
This script provides rule-based analytical context only.
📉 Risk Disclosure
Trading involves risk.
Users remain responsible for their own decisions, execution, risk management, and interpretation.
This script does not provide financial advice.
📚 Educational Note
Use the output as a structured review layer. The best readings usually come from combining the planner state with broader market structure, timeframe context, liquidity conditions, and personal risk rules.
Indicator

Candle Rejection Quality Planner [AGPro Series]Candle Rejection Quality Planner
🧠 Core Idea
Is the rejection candle strong enough to create a valid planning context, or is it only a noisy wick?
📌 Overview / What it does
Candle Rejection Quality Planner is a chart-first rejection candle decision tool designed to evaluate wick-led rejection without turning the chart into a generic candlestick signal map.
The script identifies bullish and bearish rejection candles, scores their quality from 0 to 100, then tracks what happens next through a confirmation rail, failure edge, target-room guide, wick quality zone, compact labels, alerts, and a clean AG Pro planning panel.
It does not predict future price movement, automate entries, print buy/sell commands, or replace broader market context. Its purpose is to help traders judge whether a rejection candle has enough structure to deserve attention.
🎯 Purpose & Design Philosophy
This script was built to fill the gap between simple wick markers and broader reversal systems.
Many traders can see a long wick. The harder question is whether that wick has enough close quality, candle range, participation, and follow-through potential to become useful context.
The design supports a planner mindset: evaluate the candle, define the confirmation level, know where the idea weakens, and wait for the next state instead of reacting to every wick.
⚡ Why This Script Is Different
Most tools focus on detecting a named candle pattern such as a pin bar, engulfing candle, or generic rejection marker.
This script does NOT clone Pin Bar Quality Filter, Engulfing Candle Quality, Rejection Block Quality, order block logic, liquidity sweep logic, or a broad candlestick scanner.
Instead, it focuses on the planning process after a rejection candle appears: quality score, confirmation rail, failure edge, target-room guide, and next-action state. The candle is not treated as an entry by itself. It is treated as a context that must prove itself.
⚙️ Methodology
1. Context Detection
The script measures candle range, upper wick, lower wick, close location, and relative volume to detect wick-led rejection context.
2. Reference Mapping
When a qualified rejection candle appears, the planner maps a wick quality zone, confirmation rail, failure edge, and target-room guide.
3. Reaction Evaluation
The model updates the 0-100 Rejection Quality score as confirmation develops, pressure works against the candle, time passes, or price reaches the planning guide.
4. Visual Output
The chart displays the wick zone, rail, guide lines, controlled labels, candle tint, alerts, and AG Pro panel.
🗺️ How to Read the Chart
Zones = the rejected wick area of the qualifying candle. The zone is a candle-quality reference, not a support/resistance map.
Labels = rejection context, confirmation, failure edge breaks, target-room completion, and sparse active-state markers.
Colors = teal supports bullish rejection context, pink marks bearish rejection or failure pressure, yellow marks caution, and indigo marks confirmation review.
Panel = a compact decision view showing Candle Side, Rejection Quality, Confirmation, Failure Risk, and Action.
🚦 Signals & States
• Bullish Rejection → lower wick rejection with stronger close location and sufficient quality.
• Bearish Rejection → upper wick rejection with weaker close location and sufficient quality.
• Awaiting Confirmation → a qualified rejection exists, but price has not accepted beyond the rail.
• Confirmed → price accepted beyond the confirmation rail.
• Failure Edge Broken → the rejection context lost its defined failure edge.
• Target Room Reached → price reached the planning guide mapped from the rejection context.
🔔 Alerts Logic
Alerts can trigger when a qualified rejection candle opens a new context, when confirmation rail acceptance appears, when the failure edge breaks, when target room is reached, or when the active planner state changes.
Alerts are attention markers. They are not trade instructions and do not imply a guaranteed outcome.
🧩 Confluence Logic
The strongest planner states appear when wick dominance, close location, reasonable candle range, supportive volume, and confirmation beyond the rail align together.
When those elements are weaker or delayed, the planner shifts toward monitor, weak confirmation, expired context, or invalidated state.
📊 When to Use
• Price-action review around visible reaction candles
• Liquid symbols where candle range and volume are readable
• Intraday or swing charts where wick rejection can be evaluated with ATR context
• Discretionary planning workflows that need confirmation and failure references
⚠️ When NOT to Use
• Extremely low-liquidity symbols with unreliable candles
• Very noisy low-timeframe charts where wicks appear randomly
• News spikes where candle range is distorted
• Situations where broader market structure is being ignored
🎛️ Key Inputs
• Sensitivity → changes how selective the rejection engine is.
• Minimum Rejection Quality → sets the 0-100 score required before a context appears.
• Dominant Wick Share → controls how much wick dominance is required.
• Close Location Quality → controls how strongly price must close away from the rejected wick.
• Confirmation Window → controls how long the script waits for follow-through.
• Failure Edge Buffer → defines the invalidation reference beyond the rejection wick.
• Target-Room Guide R → draws the planning guide from rejection close to failure edge distance.
• Visual settings → control zones, rails, labels, candle tint, panel location, panel theme, and font sizes.
🖥️ Interface & Visual Design
The interface is intentionally compact and chart-first.
The wick quality zone keeps attention on the candle that created the context. The confirmation rail and failure edge create a structured review path. The AG Pro panel summarizes the current state without covering the chart with a broad dashboard.
🧪 Practical Usage Workflow
1. Read the panel and identify the active candle side.
2. Check the wick quality zone and confirmation rail.
3. Watch whether price confirms, weakens, expires, or breaks the failure edge.
4. Use the target-room guide as a planning reference, not as a promise.
🔍 Interpretation Guidelines
A stronger score means the rejection candle has cleaner wick dominance, better close location, a more useful candle range, and stronger participation support.
A confirmed state means price has accepted beyond the rail according to the script rules.
A failed state means the active rejection context lost its defined failure edge.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not auto trading
• Not guaranteed signals
• Not a pin bar clone
• Not an engulfing candle detector
• Not a generic support/resistance or order block map
⚠️ Limitations & Transparency
The script is rule-based and depends on candle structure, ATR, relative volume, and follow-through behavior.
Different timeframes can change how rejection appears. Volatility spikes can distort candle range and failure distance. Symbols with unreliable volume may produce weaker participation readings.
Outputs should always be interpreted within broader market structure, liquidity, volatility, and personal risk rules.
🧠 Market Context Notes
Rejection candles often matter more when they appear near meaningful structure, after a directional push, or during a volatility expansion attempt. The script intentionally does not build a full structure map because its narrow job is candle rejection planning.
🧾 Use Case Examples
When a candle prints a strong lower wick, closes high in its range, and then accepts above the confirmation rail, the planner may classify the context as ready for review.
When a strong upper wick appears but price fails to move beyond the confirmation rail and later breaks the failure edge, the planner marks the context as invalidated.
🧱 System Philosophy
AGPro Series tools are designed to convert visual market behavior into structured review states. This script follows that philosophy by turning a single rejection candle into a defined planning context with quality, confirmation, risk, and action fields.
🔐 Non-Promise Statement
No script can provide certainty.
No rejection candle guarantees continuation, reversal, or profitable execution.
📉 Risk Disclosure
Trading involves risk. This script is for technical analysis and educational use only.
Users remain responsible for their own analysis, position sizing, execution decisions, and risk management.
This script does not provide financial advice or guaranteed trading outcomes.
📚 Educational Note
Use the tool to study how rejection candles behave after they appear. The value is in structured observation, not automatic decision-making.
Indicator

Reversal Confirmation Planner [AGPro Series]Reversal Confirmation Planner
🧠 Core Idea
Is a reversal actually confirming, or is it still only an early reaction?
📌 Overview / What it does
Reversal Confirmation Planner is a chart-first planning tool built to separate early reversal reactions from structured confirmation context.
The script detects sweep or wick-rejection reactions around recent swing references, then evaluates whether the reaction develops into a cleaner confirmation plan. It maps a confirmation pocket, invalidation edge, target-room band, compact event labels, alerts, and a clean AG Pro decision panel.
It does not predict reversals, automate entries, or scan every classical reversal pattern. The goal is to help traders organize the confirmation phase: reaction quality, confirmation close, momentum turn, volume support, room, invalidation, and next action.
🎯 Purpose & Design Philosophy
This script was built for traders who do not want to treat every wick, sweep, or counter-move as a valid reversal.
Many reversal tools mark the first reaction. This planner waits for structure. It asks whether price has moved from reaction into confirmation, whether momentum is turning, whether volume supports the shift, and whether the active plan has enough room before the next projected guide.
The design supports a decision-making workflow. It does not ask the user to chase every signal. It helps the user decide whether the reversal context is still early, building, confirming, confirmed, failed, expired, or already testing its room.
⚡ Why This Script Is Different
Most reversal tools focus on detecting a pattern, labeling a wick, or marking every possible counter-trend reaction.
This script does NOT behave like a broad reversal-pattern scanner, double-top/double-bottom detector, head-and-shoulders module, 1-2-3 map, wedge detector, Turtle Soup map, liquidity sweep tool, or generic support/resistance zone script.
Instead, it works as a confirmation planner. The core workflow is reaction → confirmation pocket → invalidation edge → target-room context → next-action state. This keeps the public concept narrow, useful, and clearly separate from other AGPro reversal tools.
⚙️ Methodology
1. Context Detection
The script watches for bullish or bearish reversal reactions using sweep behavior, wick rejection, candle close location, and prior directional context.
2. Reference Mapping
Once a reaction qualifies, the planner creates a confirmation line, confirmation pocket, invalidation edge, and target-room guide.
3. Reaction Evaluation
The model scores sweep or rejection quality, confirmation progress, momentum turn, volume support, and available room.
4. Visual Output
The chart shows the active confirmation pocket, centered target-room band, risk/target guide lines, compact labels, alert conditions, and an AG Pro panel with the current decision state.
🗺️ How to Read the Chart
Confirmation Pocket = the area between the reaction reference and the confirmation close line.
Invalidation Edge = the level beyond the reaction extreme where the active confirmation plan is considered failed by the script rules.
Target-Room Band = a projected planning zone that shows whether the reversal has enough forward room relative to the active risk distance.
Labels = compact state markers such as REACTION, CONFIRMING, CONFIRMED, FAILED, EXPIRED, ROOM TESTED, or PLAN.
Colors = teal supports bullish reversal planning, pink supports bearish reversal planning, amber marks developing context, indigo marks target-room context, and red marks invalidation or failed confirmation.
Panel = summarizes Reversal Stage, Confirmation Score, Invalidation, Room, and Action.
🚦 Signals & States
• REACTION → an early sweep or rejection is active, but confirmation is not complete.
• BUILDING → the context is improving, but the confirmation close is not fully qualified.
• CONFIRMING → price is testing or closing through the confirmation line with sufficient structure to review.
• CONFIRMED → the confirmation score and close behavior meet the script threshold.
• ROOM TESTED → the projected target-room guide has been reached after confirmation.
• FAILED → the active plan violated its invalidation edge.
• EXPIRED → the reaction did not confirm within the selected confirmation window.
🔔 Alerts Logic
The script includes alerts for bullish reaction, bearish reaction, bullish confirmation, bearish confirmation, failed confirmation, and high-quality confirmation.
Alerts trigger when the internal rule conditions are met. They are attention markers for chart review, not trade instructions, automated entries, or guaranteed reversal signals.
🧩 Confluence Logic
The strongest confirmation context appears when multiple layers align:
• A clear sweep or rejection reaction forms.
• Price progresses through the confirmation pocket.
• Momentum begins to turn in the reaction direction.
• Volume support is not weak.
• The target-room band offers enough room relative to invalidation distance.
When these layers align, the confirmation score becomes stronger. When one or more layers are weak, the state usually remains reaction, building, expired, or failed.
📊 When to Use
• After visible sweep or rejection behavior.
• During possible reversal transitions after directional extension.
• Around swing references where confirmation matters more than the first wick.
• 4H swing-review charts, where the default label spacing and confirmation pockets usually have the cleanest visual balance.
• Daily charts when the user wants fewer but more selective reversal confirmation states.
• In markets where traders want to compare reaction quality, invalidation, and room before acting.
• For discretionary review of crypto, forex, indices, equities, and commodities on liquid charts.
⚠️ When NOT to Use
• Extremely low-liquidity symbols with unreliable wicks or volume.
• Very noisy micro-timeframes where reaction candles are unstable.
• News spikes or extreme volatility events where confirmation levels can be crossed erratically.
• Charts where the user expects a complete reversal-pattern scanner.
• Situations where the user wants automated trade execution.
🎛️ Key Inputs
• Confirmation Mode → controls whether labels and alerts wait for bar close or update live.
• Swing Reference Length → defines the recent swing references used for sweep-based reactions.
• Sensitivity → adjusts how selective the reaction model is.
• Confirmation Window Bars → limits how long a reaction can wait for confirmation.
• Minimum Reaction Score → controls the quality required before tracking a candidate.
• CONFIRMED Threshold → controls the minimum 0-100 score required for confirmed state.
• Preferred Room / Risk → adjusts how much forward room is preferred relative to invalidation distance.
• Visual settings → control pockets, bands, guide lines, labels, panel position, panel theme, and font sizes.
🖥️ Interface & Visual Design
The interface is built around a premium chart-first workflow.
The confirmation pocket and target-room band are concept-native visuals, not generic support/resistance zones. Their labels are centered inside the boxes for cleaner chart reading.
The default visual preset is tuned for 4H-style swing review: enough labels to keep the chart informative, but enough spacing to avoid a crowded reversal scanner look.
The AG Pro panel uses a compact structure with one merged blue title row and five decision rows. It is designed to show only the current planning context without turning the chart into a dashboard-heavy script.
🧪 Practical Usage Workflow
1. Read the panel state.
2. Check whether the chart is showing REACTION, BUILDING, CONFIRMING, CONFIRMED, FAILED, or EXPIRED.
3. Review the confirmation pocket and invalidation edge.
4. Compare target-room context against the room/risk readout.
5. Use alerts as review prompts, not as trade instructions.
🔍 Interpretation Guidelines
Treat the first reaction as incomplete information.
A higher score means the reaction has developed more confirmation structure according to the script rules. It does not mean the reversal must continue.
A failed or expired state is also useful information. It tells the user that the reaction did not confirm cleanly under the selected rules.
🚫 What This Script Is NOT
• Not a prediction engine.
• Not financial advice.
• Not auto trading.
• Not guaranteed signals.
• Not a broad reversal-pattern scanner.
• Not a full liquidity sweep system.
• Not a generic support/resistance zone tool.
⚠️ Limitations & Transparency
All outputs are rule-based and depend on the selected inputs, timeframe, and symbol behavior.
Swing references confirm with natural delay. Wick structure can be noisy on low-liquidity symbols. Volume quality varies across markets. Fast volatility can cause reactions to confirm and fail quickly.
The confirmation score is an internal comparison model. It is useful for reading this script's framework, but it is not an objective probability model.
🧠 Market Context Notes
Reversal confirmation is strongest when price reacts from a meaningful extension, then follows through with cleaner close behavior and improving participation.
The script is intentionally focused on the confirmation phase. It does not attempt to map every higher-timeframe structure, order block, fair value gap, harmonic pattern, or reversal formation.
🧾 Use Case Examples
When price sweeps below a recent swing low, closes back above it, then starts progressing through the confirmation pocket, the planner may shift from REACTION to BUILDING or CONFIRMING.
When price confirms but the room/risk readout is weak, the user can see that the reversal may be structurally less attractive inside this framework.
When price violates the invalidation edge before confirmation, the planner marks the context as FAILED instead of leaving the reaction visually ambiguous.
🧱 System Philosophy
The AGPro approach is to build decision engines, not decorative signal boards.
This script focuses on one clear question: did the reversal reaction earn confirmation, or is it still only a reaction?
🔐 Non-Promise Statement
No script can confirm future price movement with certainty.
This tool provides structured context, not guarantees.
📉 Risk Disclosure
Trading involves risk.
This script is for educational, analytical, and chart-review purposes only. It does not provide financial advice, investment advice, or guaranteed trading outcomes.
Users remain responsible for their own decisions, risk management, position sizing, and broader market analysis.
📚 Educational Note
Use the planner to study how reactions mature, fail, expire, or confirm under consistent rules. The value is in disciplined interpretation, not in treating any single label as a complete trading system.
Indicator

Volatility Stop Run Planner [AGPro Series]Volatility Stop Run Planner
🧠 Core Idea
Is the current volatility spike a stop-run review context, or is it behaving more like real expansion?
📌 Overview / What it does
Volatility Stop Run Planner is a chart-first volatility risk and execution-readiness tool designed to evaluate sharp ATR expansion around recent range edges.
The script studies wick expansion, ATR load, close recovery, range-edge penetration, reclaim quality, and early follow-through. It then converts qualified events into a 0-100 planner score, a clear next-action state, reclaim guides, invalidation guides, target-room references, stop-run review zones, expansion review zones, and a clean AGPro planning panel.
It does not predict where price must go next. It does not automate entries or exits. It is built to organize volatile stop-run and expansion contexts so traders can evaluate the event with more structure.
🎯 Purpose & Design Philosophy
This script was built for traders who need a practical decision framework during fast volatility spikes.
Many charts look most confusing exactly when volatility expands: wicks stretch, stops may be triggered, range edges are breached, and the candle can either reclaim or continue. This planner fills that gap by asking whether the spike is showing stop-run characteristics, real expansion behavior, or a cooldown state that still needs confirmation.
The design supports a planning mindset: identify the event, evaluate quality, locate the reclaim level, define invalidation context, estimate target room, and decide what deserves attention next.
⚡ Why This Script Is Different
Most stop-run tools focus on liquidity sweeps, stop-hunt zones, or level raids.
This script does NOT try to become another liquidity grab detector, stop-hunt map, order block map, or generic sweep marker.
Instead, it focuses on the volatility event itself. It evaluates whether a spike around a recent range edge is recovering, rejecting, expanding, or entering a cooldown window. The core output is not a buy or sell signal. It is a planner state that helps the user decide whether the current volatility context deserves review, patience, or no action.
⚙️ Methodology
1. Context Detection
The script measures ATR load, candle range relative to ATR, wick dominance, body efficiency, and recent range-edge interaction.
2. Reference Mapping
It maps the recent high / low reference range, the reclaim level, the spike extreme, the invalidation guide, and the target-room reference.
3. Reaction Evaluation
The model scores stop-run risk, reclaim quality, volatility load, range-edge penetration, and expansion quality. These components are blended into a 0-100 planner score.
4. Visual Output
Qualified events are displayed through stop-run review zones, expansion review zones, reclaim lines, active risk / target guides, optional volatility cooldown boxes, premium labels, alerts, and a compact AGPro panel.
🗺️ How to Read the Chart
Zones = stop-run or expansion review areas created around qualified volatility spike events.
Labels = compact event markers showing the detected context, planner score, score tier, and next-action state.
Colors = bullish reclaim contexts use AGPro teal, bearish reclaim contexts use AGPro pink, and expansion / neutral review contexts use controlled accent tones.
Panel = the panel summarizes Spike State, Planner Score, Stop-Run Risk, Reclaim Quality, Risk / Target, Volatility Load, and Action.
🚦 Signals & States
• Bull Stop-Run → downside spike below the recent range edge followed by reclaim-quality behavior.
• Bear Stop-Run → upside spike above the recent range edge followed by rejection-quality behavior.
• Expansion Up → volatility spike closes cleanly above the recent range edge with stronger body efficiency.
• Expansion Down → volatility spike closes cleanly below the recent range edge with stronger body efficiency.
• Spike Watch → volatility is elevated, but the candle has not yet produced enough reclaim or expansion evidence.
• Normal Load → no qualified volatility event is currently detected.
🔔 Alerts Logic
Alerts trigger when the planner detects a qualified Bull Stop-Run Review, Bear Stop-Run Review, Expansion Up Review, Expansion Down Review, or Spike Watch context.
These alerts are attention markers. They are not trade instructions, entry signals, exit signals, or automated strategy commands.
🧩 Confluence Logic
The strongest planner states appear when multiple conditions align:
ATR spike + wick expansion + range-edge penetration + reclaim quality + clean risk / target context.
When the spike reclaims the reference level with strong wick rejection, the stop-run review context becomes stronger. When the candle closes beyond the range edge with strong body efficiency, the expansion review context becomes stronger.
📊 When to Use
• Around sudden volatility spikes
• Near recent range highs or lows
• During breakout or breakdown attempts
• After large wick candles that need structured interpretation
• When deciding whether a fast move deserves review, patience, or no action
⚠️ When NOT to Use
• Extremely low-liquidity symbols
• Very noisy micro-timeframes
• News-driven candles with abnormal gaps
• Markets where ATR is distorted by isolated historical spikes
• Situations where the user expects a simple signal-only entry tool
🎛️ Key Inputs
• Sensitivity → controls how selective the spike and stop-run planner should be.
• Reference Lookback → defines the recent range edge used for spike evaluation.
• ATR Length → normalizes volatility, invalidation, target room, and label spacing.
• Minimum Planner Score → sets the score required before events are drawn.
• Confirmation Mode → controls how strict reclaim or expansion confirmation should be.
• Cooldown Bars → defines the post-spike visual review window.
• Visual settings → control zones, labels, guides, panel theme, panel location, and font sizes.
🖥️ Interface & Visual Design
The interface is designed to stay chart-first.
The panel provides the decision summary. The chart zones show where the volatility event happened. The reclaim line identifies the reference level. The risk / target guides frame the active review context without turning the script into a trade command system.
The visual hierarchy is intentionally compact, premium, and readable.
🧪 Practical Usage Workflow
1. Read the panel to identify the current Spike State and Planner Score.
2. Check whether the chart is showing a stop-run review, expansion review, or spike watch context.
3. Compare the reclaim line with the candle close and wick behavior.
4. Review the invalidation and target-room guides.
5. Interpret the event within broader market structure and volatility conditions.
🔍 Interpretation Guidelines
A high stop-run risk score means the spike has stronger rejection and reclaim characteristics.
A high expansion score means the spike is behaving more like continuation through the range edge.
A cooldown window means the event needs follow-through review rather than immediate interpretation.
No single score should be read in isolation. The strongest use case is to combine the planner state with structure, liquidity, trend, and timeframe context.
🚫 What This Script Is NOT
• Not a prediction engine
• Not financial advice
• Not an auto trading system
• Not a guaranteed signal tool
• Not a liquidity grab detector
• Not a stop-hunt zone map
• Not an order block or FVG map
⚠️ Limitations & Transparency
Volatility behavior changes across symbols, sessions, and timeframes.
ATR can expand sharply during news, low-liquidity gaps, or abnormal market conditions.
Some stop-run-looking candles can still continue in the same direction. Some expansion-looking candles can fail quickly. The script provides structured context, not certainty.
🧠 Market Context Notes
Stop-run behavior often appears when price briefly trades through visible reference areas and then reclaims them.
Expansion behavior often appears when price accepts beyond the reference with stronger body efficiency and less rejection.
The planner is designed to help users separate these contexts with a consistent rule-based framework.
🧾 Use Case Examples
When price spikes below a recent low, leaves a large lower wick, and closes back above the reference, the script may classify the event as a Bull Stop-Run Review.
When price expands above a recent high with a strong body close and limited upper rejection, the script may classify the event as Expansion Up.
When volatility spikes but reclaim or expansion evidence is incomplete, the script may show Spike Watch or keep the event in cooldown.
🧱 System Philosophy
Volatility Stop Run Planner follows the AGPro Series decision-engine approach:
Context first.
Risk before reaction.
Reclaim before assumption.
Expansion quality before excitement.
Attention markers instead of promises.
🔐 Non-Promise Statement
No indicator can remove uncertainty.
No state, score, label, alert, line, or zone should be interpreted as guaranteed market direction.
📉 Risk Disclosure
Trading involves risk.
Users remain responsible for their own analysis, risk management, and decisions.
This script is for educational and analytical purposes only and does not provide financial advice.
📚 Educational Note
The script is designed to make volatile candles easier to review by separating stop-run behavior, expansion behavior, and cooldown context into a clean visual planning workflow.
Indicator

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

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

Thermal Candlestick Spectrogram [Jamallo]The Thermal Candlestick Spectrogram replaces flat, binary candlesticks with a heat-mapped view of price density. Every bar radiates outward from a white-hot core through layers of orange, red, and deep amber — the same way thermal imaging reveals intensity beneath a surface. The result is a chart that doesn't just show you what price did, it shows you how concentrated that move was.
How It Works
A 7-layer gradient stack is anchored to each candle's midpoint and expands symmetrically toward the edges of the body. Transparency increases with each outer layer, creating a natural falloff that mimics heat dissipation:
White-yellow core — maximum density at the center of the body
Orange-red mantle — transitional layers that reveal the spread of price action
Dark outer boundary — a near-transparent edge that lets candles breathe without hard lines
Fading wicks — a dual-layer vertical fade that tapers wicks naturally toward the High and Low extremes, reducing visual noise
Anti-aliased price dot — a precision close marker with a subtle white halo for clean real-time tracking
Design & Performance
The entire effect runs on a fixed 9-plot architecture (7 body layers + 2 wick layers), keeping script weight low and render performance stable even alongside other indicators. No dynamic loops, no repainting — just a clean, deterministic stack that works across all timeframes and instruments.
Visual Comparison
Traditional flat candles vs. the Thermal Spectrogram — same data, entirely different depth. Indicator

AG Pro Inducement & Trap Quality [AGPro Series]AG Pro Inducement & Trap Quality
OVERVIEW / WHAT IT DOES
AG Pro Inducement & Trap Quality is an overlay tool built to map short-lived trap behavior around smaller inducement levels rather than broad market structure alone. The script focuses on moments where price appears to invite participation through a nearby internal level, briefly pushes beyond that level, and then reclaims it quickly enough to suggest failed continuation pressure.
In practical terms, this tool is designed to highlight a very specific type of behavior: local liquidity engineering around minor swing references. Instead of treating every sweep as equally meaningful, it evaluates whether the move shows the characteristics of a more deliberate trap sequence. This helps separate routine noise from cleaner rejection events that may deserve closer attention.
The script identifies compact inducement references, monitors whether those levels are exceeded, and then evaluates the quality of the reclaim using a rules-based scoring model. The output is intentionally visual and compact: trap labels, score readouts, engineered-liquidity context, and a lightweight status panel that keeps the chart readable while still surfacing the most important state information.
This is not a broad “smart money everything” overlay, and it is not a general market-structure engine. Its role is narrower and more specific: to help users study micro trap behavior around inducement levels with a structured, visual framework.
UNIQUE EDGE
Many trap-style overlays simply mark local sweeps or label wick rejections without distinguishing between low-quality noise and more organized rejection behavior. This script takes a narrower path.
Its core distinction is that it is built around inducement-first logic. The process begins with smaller internal swing references that may function as local liquidity magnets. From there, the script evaluates whether price briefly runs that level and reclaims it with enough quality to qualify as a more meaningful trap event.
This makes the script materially different from tools that primarily map:
- full structure breaks,
- broad liquidity sweeps across larger swing highs and lows,
- order blocks or fair value gaps,
- or generic reversal candles.
The objective here is not to classify the whole market. The objective is to organize one specific event class: short-lived inducement failure and trap quality around internal levels.
METHODOLOGY
1) Inducement level detection
The script scans for smaller swing references that can function as local inducement levels. These are not intended to replace major support or resistance logic. They serve as nearby internal references around which short-term trap behavior may form.
2) Sweep and reclaim logic
After an inducement level is identified, the script monitors whether price briefly trades beyond that level. A trap candidate is only considered when the move fails to sustain beyond the level and price reclaims the reference within a limited confirmation window.
3) Quality model
Each trap candidate is scored using a rules-based quality framework. The score is not arbitrary. It is derived from components such as:
- reclaim speed,
- relative volume behavior,
- wick proportion,
- and overshoot control.
The purpose of the score is not prediction. It is prioritization. A higher score suggests that the rejection characteristics were cleaner according to the script’s internal rules.
4) Engineered liquidity context
When inducement logic becomes active, the script can visualize engineered-liquidity context so users can see where price is interacting with a recently relevant internal level. This is meant to improve readability and sequencing, not to imply certainty.
5) Visual decluttering and presentation controls
To keep the overlay usable, the script includes compact labeling, importance filtering, label spacing controls, and a small status panel. These features are presentation tools designed to reduce clutter without changing the underlying trap logic.
SIGNALS & ALERTS
The script can visualize bull and bear trap events after inducement-level interaction and reclaim confirmation.
Typical readouts include:
- TRAP labels,
- quality score values,
- inducement / engineered-liquidity context,
- and panel status information such as recent trap state and current watch state.
Alert conditions are designed around deterministic script events rather than discretionary interpretation. As with any alert-based study, users should confirm how they want to use those events inside their own workflow before relying on them in live conditions.
KEY INPUTS
Important controls typically include:
- inducement swing sensitivity,
- confirmation window / reclaim timing,
- volume and wick weighting inputs,
- overshoot tolerance,
- compact label display,
- importance filtering,
- panel visibility and position,
- and vertical label offset controls.
These settings allow the user to decide whether they want broader coverage or a stricter, more selective readout.
HOW THIS DIFFERS FROM OTHER AG PRO TOOLS
This script is intentionally specialized.
It is not a BOS / CHoCH engine and does not attempt to label full structural transitions.
It is not an order block tool and does not frame the chart through block logic.
It is not a fair value gap map and does not organize imbalance zones as its primary lens.
It is not a broad liquidity sweep tool built around larger external swing raids.
Instead, this script concentrates on micro inducement behavior: smaller internal references, brief level violations, fast reclaim structure, and the relative quality of the resulting trap.
That narrower scope is the point. The script is designed to help users study one recurring behavior class in a more disciplined and readable way.
LIMITATIONS & TRANSPARENCY
This script is a visual and analytical aid. It does not know intent, news context, execution conditions, or participant positioning.
A trap label does not guarantee reversal.
A higher quality score does not guarantee continuation.
A low-quality score does not mean the area is irrelevant.
Internal inducement levels can vary in significance depending on volatility regime, instrument behavior, and timeframe selection.
Like any rules-based overlay, this script is sensitive to parameter choices. More permissive settings may surface more events but also more noise. Stricter settings may improve selectivity while naturally reducing signal frequency.
Users should also understand that inducement and trap concepts are interpretive by nature. This script translates those ideas into a deterministic ruleset for chart study. That conversion is useful, but it is still a model.
RISK DISCLOSURE
This script is for chart analysis and educational use. It is not financial advice, not a trade signal service, and not a promise of outcome.
All trading and investing involve risk. Market conditions can change quickly, and no indicator or overlay can eliminate uncertainty. Users should evaluate signals in context, apply their own risk management, and avoid treating any single chart tool as a complete decision system.
WHAT THIS SCRIPT IS NOT
To make the scope clear, this script is not:
- a guaranteed reversal detector,
- a one-click trade system,
- a full market-structure replacement,
- or a standalone execution model.
It is a focused overlay for studying inducement-driven trap behavior with a cleaner visual framework.
NOTES
Best use cases typically come from combining this script with context that the user already trusts, such as trend structure, higher-timeframe location, or broader execution rules. The tool is intended to improve organization and observation around inducement and trap sequences, not to replace judgment.
If you prefer a cleaner chart, use the compact display and importance filter settings. If you prefer a more exploratory workflow, relax the filter and study how the scoring reacts across different conditions.
Indicator

AG Pro Liquidity Sweep Quality [AGPro Series]AG Pro Liquidity Sweep Quality
OVERVIEW / WHAT IT DOES
AG Pro Liquidity Sweep Quality is a pivot-based overlay designed to map bullish and bearish liquidity sweep events around confirmed swing highs and swing lows. Instead of only flagging whether price traded beyond a prior level, the script evaluates whether that move behaved like a meaningful rejection or a weak sweep. The result is a structured liquidity sweep indicator that focuses on sweep quality, not only sweep detection.
In practical terms, the script looks for price moving above a prior swing high or below a prior swing low and then closing back through that level on the same bar or, if enabled, on the next bar. This behavior is commonly associated with stop hunts, failed breakout attempts, failed breakdown attempts, and short-term rejection events around visible liquidity. The script then ranks the event using a multi-factor quality model so the chart does not treat every sweep as equally important.
This makes the tool relevant for traders studying liquidity sweep behavior, smart money concepts, ICT-style chart reading, rejection anatomy, wick-driven reversals, sweep confirmation, and swing-based context. It is not built to predict direction on its own. It is built to organize sweep events so users can distinguish weaker noise from stronger rejection structures.
UNIQUE EDGE
The main objective of this script is not to publish another generic liquidity grab marker. Its edge comes from the fact that it scores each confirmed sweep using a quality framework. That framework combines how deeply price traded through the level, how decisively it closed back beyond the level, the wick-to-body relationship of the sweep bar, relative volume behavior, swing freshness, nearby swing crowding, and optional higher-timeframe bias alignment.
This matters because many sweep-style tools stop at a binary answer:
sweep happened / sweep did not happen.
This script asks a more useful follow-up question:
how good was that sweep?
That distinction is important on real charts. Some liquidity sweeps show strong rejection, clean close-back behavior, fresh structure, and supportive context. Others are simply noisy level violations inside a crowded area. By assigning a quality score, the script is designed to help users compare sweep events with more nuance.
Another distinguishing feature is that the script separates watch conditions from qualified conditions. A level can first be challenged, then either reclaim cleanly or fail to reclaim. This helps reduce the tendency to treat every level breach as a reversal event.
METHODOLOGY
1) SWING DETECTION
The script uses confirmed pivot highs and confirmed pivot lows as its structural reference points. These pivots are not assumed in advance. They become available only after the user-defined Pivot Strength confirmation process is complete.
2) SWEEP TRIGGER
A bearish sweep scenario begins when price trades above a stored swing high.
A bullish sweep scenario begins when price trades below a stored swing low.
3) QUALIFICATION
A sweep is considered qualified when price closes back through the swept level. By default, the script can evaluate same-bar reclaim behavior and, optionally, next-bar reclaim behavior.
4) QUALITY MODEL
Each qualified sweep is scored using multiple factors, including:
- penetration relative to ATR
- rejection distance back through the level
- wick-to-body ratio
- relative volume versus a recent baseline
- freshness of the swing level
- nearby level crowding penalty
- optional higher-timeframe trend alignment bonus
The final output is normalized into a simple 1 to 10 quality score so chart reading remains fast and visually clean.
5) VISUAL MAPPING
Qualified sweeps can display:
- direction label
- quality score label
- sweep zone box
- dashed memory line at the swept level
- optional chart background tint
- compact minor markers for lower-priority qualified sweeps
This allows the chart to remain informative without forcing every event to carry the same visual weight.
SIGNALS & ALERTS
The script includes deterministic alert conditions for:
- Bull Sweep Trigger
- Bear Sweep Trigger
- Bull Sweep Qualified
- Bear Sweep Qualified
- High Quality Bull Sweep
- High Quality Bear Sweep
A trigger means price challenged the stored liquidity level.
A qualified sweep means price also reclaimed the level according to the script rules.
A high-quality sweep means the final score exceeded the selected threshold.
These states are intended to help users organize workflow and review price behavior. They are not instructions to buy or sell.
KEY INPUTS
Pivot Strength
Controls how swings are confirmed. Higher values generally reduce noise but also make structural detection slower and more selective.
Max Swing Age
Limits how long old swing levels remain eligible. This helps keep the liquidity map focused on fresher structure.
Allow Next-Bar Reclaim
Allows the script to qualify a sweep when the reclaim happens on the next bar instead of only the sweep bar itself.
ATR Length
Used in the quality engine to normalize sweep depth and rejection distance.
Relative Volume Length
Defines the baseline used for volume comparison.
Crowding Width (ATR)
Helps penalize sweeps occurring in dense structural clusters, where nearby levels can reduce interpretive clarity.
Higher Timeframe and HTF EMA Length
Used to build an optional bias filter so aligned sweeps can receive a context bonus.
Min Score For Full Labels
Lets users keep high-information labels on stronger sweeps while weaker qualified sweeps can remain as compact markers.
Same-Side Full Label Cooldown
Reduces repeated full labels in the same direction over a short span, improving chart readability.
LIMITATIONS & TRANSPARENCY
This script is a chart-organization tool, not a stand-alone decision engine.
Because the logic is pivot-based, swing levels are only confirmed after the chosen Pivot Strength delay. That means the structural reference points are confirmed swings, not instantly-known highs or lows.
A liquidity sweep on one market, timeframe, or volatility regime may not behave the same way on another. The scoring framework is designed to rank events relative to the script's own rules, not to certify that a sweep will lead to reversal or continuation.
Higher relative volume may improve context, but volume confirmation does not guarantee outcome quality.
The higher-timeframe alignment feature is a contextual filter. It should not be interpreted as a macro trend forecast.
Like any visual overlay, this tool can produce signals in choppy or highly reactive conditions that later prove less useful than they first appeared. Parameter selection matters.
WHAT THIS SCRIPT IS NOT
This script is not a promise of reversal.
It is not a complete smart money framework.
It is not a substitute for execution planning, risk management, or broader market context.
It does not claim to detect institutional intent.
It does not classify every level break as tradable.
Instead, it focuses on one specific chart behavior:
sweep-and-reclaim quality around confirmed swing liquidity.
RISK DISCLOSURE
This indicator is for analytical and educational use only. It does not provide financial advice, investment advice, or guaranteed trade outcomes. Markets can remain irrational, trend aggressively, or ignore local sweep signals for extended periods. Users should validate any chart workflow with their own process, risk controls, and market understanding before acting on any signal or alert.
If you use this tool, it is generally best treated as a structural filter inside a broader workflow rather than as a stand-alone trigger.
AGPro Series note:
This publication is designed to emphasize structured chart reading, deterministic event definitions, and transparent methodology over promotional claims or outcome promises.
Indicator

ICT MMXL Model [UAlgo]ICT MMXL Model is a liquidity sweep and exhaustion zone indicator designed to detect reversal candidates after price raids a prior swing and fails to hold beyond it. The script tracks confirmed swing highs and swing lows, waits for price to take one of those liquidity pools, then checks whether the sweep candle closes back inside the old structure. When that rejection is strong enough and the selected filters agree, the script builds an exhaustion zone that can later be monitored for retests or invalidation.
The core logic follows a very practical structure based workflow. A bearish setup forms when price sweeps above a prior swing high, but the same sweep candle closes back below that high. A bullish setup forms when price sweeps below a prior swing low, but the same sweep candle closes back above that low. This creates a failed expansion or exhaustion event, which is then projected forward on the chart as a zone.
What makes the script more selective than a simple sweep detector is its filter stack. It can require above average volume, a meaningful wick relative to the candle body, and visible momentum fade before the sweep occurs. These filters help focus the model on conditions where displacement appears to be tiring before the market raids liquidity and rejects the move.
Once a zone is created, it remains active until price closes beyond the invalidation boundary. While active, the script extends the zone, counts retests, optionally draws a mid line, and keeps the structure visible for future interaction. This makes the indicator useful not only for spotting the original sweep event, but also for tracking how price behaves when it revisits the exhaustion area later.
In practice, ICT MMXL Model can be used for liquidity based reversal analysis, rejection zone mapping, and structured retest monitoring. It is especially useful for traders who want a rules based way to identify failed sweep behavior and keep those zones on the chart until the market either respects or invalidates them.
🔹 Features
🔸 Prior Swing Liquidity Tracking
The script continuously records confirmed swing highs and swing lows using user defined pivot settings. Only the most recent group of swings is kept in memory, which keeps the model focused on nearby liquidity rather than distant historical structure.
🔸 Bearish and Bullish Sweep Detection
A bearish MMXL candidate appears when price trades above a prior swing high but closes back below it. A bullish MMXL candidate appears when price trades below a prior swing low but closes back above it. This captures the idea of a liquidity raid followed by rejection.
🔸 Volume Confirmation Filter
An optional volume filter requires the sweep candle to trade at or above a multiple of average volume. This helps avoid weaker sweeps that occur without meaningful participation.
🔸 Wick Rejection Filter
An optional wick filter requires the rejecting wick to be large relative to the candle body. For bearish setups, the upper wick must be large enough. For bullish setups, the lower wick must be large enough. This helps focus the model on candles that visibly reject the sweep area.
🔸 Momentum Fade Filter
An optional momentum fade filter checks whether body size and ATR have both decreased over a chosen lookback. This helps identify sweeps that occur after displacement has begun losing energy.
🔸 Automatic Exhaustion Zone Construction
When all setup conditions are met, the script creates a bullish or bearish exhaustion zone using the swept prior swing and the extreme of the sweep candle. This gives the user a clearly defined reaction area rather than a single line only.
🔸 Active Zone Extension
Once a zone is formed, it extends forward in time while it remains valid. This allows the trader to monitor later interaction without manually redrawing structure.
🔸 Retest Counting
The script tracks whether price reenters an active zone. Each first fresh entry increments the retest count, which is shown inside the zone label. This gives the user quick feedback on how many times the area has been revisited.
🔸 Mid Line Support
An optional dashed mid line can be drawn through the center of each zone. This can help visualize equilibrium inside the exhaustion area and provide an extra internal reference.
🔸 Sweep Marker Visualization
An optional visual marker is placed on the original sweep candle so the user can immediately see where the liquidity raid happened.
🔸 Violation Logic
A bullish zone is invalidated if price closes below the zone bottom. A bearish zone is invalidated if price closes above the zone top. Violated zones remain visible with muted styling so the user can still see where the structure failed.
🔸 Zone Limit Control
The script can limit the number of simultaneously active zones. If the maximum is reached, the oldest active zone is removed first. This helps control visual clutter.
🔸 Alert Support
Alerts are included for:
new bearish zone formation,
new bullish zone formation,
bullish zone retest,
bearish zone retest,
and zone violation.
This makes the script suitable for both visual chart work and alert driven monitoring.
🔹 Calculations
1) Defining Swing and Zone Objects
type SwingPoint
int barIdx
float price
bool isHigh
type ExhaustionZone
float zoneTop
float zoneBot
bool isBullish
int formBar
int formTime
int retests
bool isActive
bool inZone
bool hasMomentumFade
box zoneBox
line midLine
label zoneLabel
label sweepLabel
This is the structural foundation of the script.
A SwingPoint stores a confirmed swing location. It contains the bar index, the swing price, and whether the swing is a high or a low.
An ExhaustionZone stores the full lifecycle of a bearish or bullish MMXL setup. It keeps:
the zone top,
the zone bottom,
its direction,
when it formed,
how many retests it has seen,
whether it is still active,
whether price is currently inside it,
whether momentum fade was present,
and all visual objects used to draw it.
So before any detection begins, the script already has a clean data structure for both liquidity references and live exhaustion zones.
2) Confirming Swing Highs and Swing Lows
phPrice = ta.pivothigh(high, pivLeft, pivRight)
plPrice = ta.pivotlow (low, pivLeft, pivRight)
pivBarIdx = bar_index - pivRight
pivBarTime = time
if not na(phPrice)
sp = SwingPoint.new(barIdx=pivBarIdx, price=phPrice, isHigh=true)
swingHighs.push(sp)
if swingHighs.size() > maxSwings
swingHighs.shift()
if not na(plPrice)
sp = SwingPoint.new(barIdx=pivBarIdx, price=plPrice, isHigh=false)
swingLows.push(sp)
if swingLows.size() > maxSwings
swingLows.shift()
This is the first live detection step.
The script uses ta.pivothigh and ta.pivotlow to confirm structural highs and lows. Because a pivot is only confirmed after the chosen right side bars have passed, the actual pivot bar is not the current bar. That is why the script calculates:
pivBarIdx = bar_index - pivRight
pivBarTime = time
These values point back to the actual swing location.
When a confirmed pivot high appears, it is pushed into the swingHighs array. When a confirmed pivot low appears, it is pushed into the swingLows array. Each array is capped at the selected maximum size, so only the most recent prior swings are kept.
This means the script always maintains a fresh liquidity map of nearby highs and lows that may later be swept.
3) Referencing the Actual Sweep Candle
sweepBar = bar_index - pivRight
sweepHigh = high
sweepLow = low
sweepClose = close
sweepOpen = open
sweepVol = volume
sweepTime = time
This block is very important because the MMXL setup is evaluated on the pivot confirmed candle, not on the current bar.
Since pivot confirmation happens after pivRight bars, the actual candidate sweep candle lives pivRight bars in the past. The script therefore reads all needed values from that offset:
the high,
the low,
the open,
the close,
the volume,
and the time.
This allows the model to evaluate the true sweep candle rather than mixing its logic with the current bar.
4) Volume Filter Calculation
avgVol = ta.sma(volume, volLookback)
volOk = not useVolFilter or (sweepVol >= avgVol * volMult)
This is the first optional filter.
The script calculates average volume over the chosen lookback period and then reads that average at the sweep candle offset. It then compares the sweep candle volume against a user selected multiple of that average.
If the volume filter is enabled, the sweep candle must satisfy:
sweepVol >= avgVol * volMult
If the filter is disabled, volume automatically passes.
This helps the model avoid sweep candles that occur on weak participation and focus more on events where the raid happened with notable activity.
5) Momentum Fade Filter Calculation
isMomentumFading(int offset, int lookback) =>
bodyNow = math.abs(close - open )
bodyPrev = math.abs(close - open )
atrNow = ta.atr(14)
atrPrev = ta.atr(14)
bodyFade = bodyNow < bodyPrev
atrFade = atrNow < atrPrev
bodyFade and atrFade
This function checks whether displacement was weakening before the sweep occurred.
It compares two things:
the body size of the sweep candle versus the body size from earlier in the lookback window,
and the ATR at the sweep candle versus the ATR from earlier in the same window.
For momentum to be considered fading, both conditions must be true:
current body size must be smaller than the earlier body size,
and current ATR must be smaller than the earlier ATR.
That means the filter is looking for a sweep that occurs after both candle expansion and volatility have started to cool off. This can be useful for detecting conditions where price makes one final reach into liquidity as momentum begins to fade.
6) Bearish MMXL Detection Logic
if swingHighs.size() > 0 and barstate.isconfirmed
priorHigh = swingHighs.last().price
bearSweepCondition = sweepHigh > priorHigh and sweepClose < priorHigh
sweepBody = math.abs(sweepClose - sweepOpen)
upperWick = sweepHigh - math.max(sweepClose, sweepOpen)
bearWickOk = not useWickFilter or (sweepBody == 0.0 or upperWick >= sweepBody * wickRatio)
bearMomFade = momFade
momOkBear = not useMomFilter or bearMomFade
This is the core bearish setup logic.
First, the script checks that at least one prior swing high exists. It then defines the most recent stored swing high as the liquidity reference.
A bearish sweep exists only if both conditions are true:
the sweep candle trades above the prior swing high,
and the same sweep candle closes back below that prior high.
That is the classic failed buy side liquidity raid behavior.
Then the script calculates the candle body and upper wick. If the wick filter is enabled, the upper wick must be large enough relative to the body. If the momentum fade filter is enabled, the earlier momentum fade calculation must also pass.
So a bearish MMXL zone requires:
a sweep above prior highs,
a close back below the liquidity level,
and any enabled filters to agree.
7) Bullish MMXL Detection Logic
if swingLows.size() > 0 and barstate.isconfirmed
priorLow = swingLows.last().price
bullSweepCondition = sweepLow < priorLow and sweepClose > priorLow
sweepBody = math.abs(sweepClose - sweepOpen)
lowerWick = math.min(sweepClose, sweepOpen) - sweepLow
bullWickOk = not useWickFilter or (sweepBody == 0.0 or lowerWick >= sweepBody * wickRatio)
bullMomFade = momFade
momOkBull = not useMomFilter or bullMomFade
This is the mirror image of the bearish model.
The script checks that a prior swing low exists, then defines it as the current sell side liquidity reference.
A bullish sweep exists only if:
the sweep candle trades below the prior swing low,
and the same sweep candle closes back above that prior low.
That represents a failed sell side liquidity raid.
If the wick filter is enabled, the lower wick must be large enough relative to the body. If the momentum fade filter is enabled, the sweep must also occur while body size and ATR are both fading.
So a bullish MMXL zone requires:
a sweep below prior lows,
a close back above the liquidity level,
and all enabled filters to pass.
8) Preventing Duplicate Zone Creation
alreadyExists = false
for z in zones
if z.formTime == sweepTime
alreadyExists := true
break
This small block avoids duplicate zones from the same sweep candle.
Before creating a new zone, the script checks whether a zone with the same formation time already exists. If it does, the new one is ignored.
This matters because bullish and bearish checks both run inside the script, and repeated recalculation on confirmed bars could otherwise produce duplicate objects from the same event.
9) Controlling the Maximum Number of Active Zones
activeCount = 0
for z in zones
if z.isActive
activeCount += 1
if activeCount >= maxZones
for idx = 0 to zones.size() - 1
z = zones.get(idx)
if z.isActive
z.deleteDrawings()
z.isActive := false
break
This is the script’s chart management block.
Before a new zone is added, the script counts how many zones are still active. If that count has already reached the maximum allowed level, it searches from oldest to newest and removes the first active zone it finds.
The removed zone has its drawings deleted and its active state turned off.
This keeps the chart readable and prevents unlimited zone accumulation.
10) Building the Bearish and Bullish Zones
newZone = ExhaustionZone.new(
zoneTop = sweepHigh,
zoneBot = priorHigh,
isBullish = false,
formBar = sweepBar,
formTime = sweepTime,
retests = 0,
isActive = true,
inZone = false,
hasMomentumFade = bearMomFade,
zoneBox = na,
midLine = na,
zoneLabel = na,
sweepLabel = na)
newZone = ExhaustionZone.new(
zoneTop = priorLow,
zoneBot = sweepLow,
isBullish = true,
formBar = sweepBar,
formTime = sweepTime,
retests = 0,
isActive = true,
inZone = false,
hasMomentumFade = bullMomFade,
zoneBox = na,
midLine = na,
zoneLabel = na,
sweepLabel = na)
These two blocks define the actual exhaustion zones.
For bearish MMXL:
the zone top is the sweep candle high,
and the zone bottom is the prior swing high that got raided.
For bullish MMXL:
the zone top is the prior swing low that got raided,
and the zone bottom is the sweep candle low.
This is a very practical choice because the zone spans the rejection area between the liquidity level and the extreme of the sweep candle. In other words, the model does not just mark the swept price. It marks the full exhaustion region created by the failed expansion.
11) Drawing the Zone, Mid Line, and Sweep Marker
this.zoneBox := box.new(
left = this.formTime,
top = this.zoneTop,
right = time,
bottom = this.zoneBot,
border_color = bordCol,
border_width = 1,
bgcolor = fillCol,
xloc = xloc.bar_time)
if showMidLine
midLineCol = color.new(this.isBullish ? #00BCD4 : #FF5252, 55)
this.midLine := line.new(
x1 = this.formTime,
y1 = midPrice,
x2 = time,
y2 = midPrice,
color = midLineCol,
style = line.style_dashed,
width = 1,
xloc = xloc.bar_time)
This method handles the primary visual construction of each zone.
The script draws a filled box from the formation time to the current time, using the top and bottom prices of the exhaustion zone. If the mid line option is enabled, it also draws a dashed center line at the average of the zone top and zone bottom.
So the user gets:
the full zone body,
an optional equilibrium reference,
and live forward projection of the zone.
12) Zone Label and Momentum Fade Tag
fadeTag = this.hasMomentumFade ? " ⚡ Fading" : ""
labelText = (this.isBullish ? "MMXL ▲" : "MMXL ▼") +
" Retests: " + str.tostring(this.retests) + fadeTag
The label text is not static. It contains live information about the zone state.
Every label shows:
whether the zone is bullish or bearish,
how many retests have occurred,
and whether the setup formed with momentum fade.
This is useful because it lets the trader read structural context directly from the chart without opening settings or rechecking filters manually.
13) Extending the Zone and Updating Retests
method updateRight(ExhaustionZone this) =>
if not na(this.zoneBox)
box.set_right(this.zoneBox, time)
if showMidLine and not na(this.midLine)
line.set_x2(this.midLine, time)
if not na(this.zoneLabel)
label.set_x(this.zoneLabel, time)
fadeTagU = this.hasMomentumFade ? " ⚡ Fading" : ""
label.set_text(this.zoneLabel,
(this.isBullish ? "MMXL ▲" : "MMXL ▼") +
" Retests: " + str.tostring(this.retests) + fadeTagU)
if barstate.isconfirmed
for z in zones
if z.isActive
z.updateRight()
nowInside = z.isInsideZone()
if nowInside and not z.inZone
z.retests += 1
z.inZone := nowInside
These blocks manage the live state of every active zone.
On each confirmed bar, the script extends the right side of the box, the mid line, and the label to the latest time.
Then it checks whether price is currently inside the zone using isInsideZone() . If price has just entered the zone and it was not inside on the previous bar, the retest counter is incremented. The inZone flag is then updated.
This is important because retests are counted on fresh reentry, not on every bar that remains inside the zone. That prevents overcounting during long stays inside the same area.
14) How the Script Defines a Zone Retest
method isInsideZone(ExhaustionZone this) =>
high >= this.zoneBot and low <= this.zoneTop
This method defines zone interaction.
Price is considered inside a zone when the bar’s high is above or equal to the zone bottom and the bar’s low is below or equal to the zone top. In other words, any overlap between the current candle range and the zone counts as interaction.
This broad overlap definition is practical because zones are areas, not exact prices. A full candle close inside the zone is not required for retest counting.
15) Zone Violation Logic
method checkViolation(ExhaustionZone this) =>
if this.isBullish
close < this.zoneBot
else
close > this.zoneTop
This method defines when a zone is no longer valid.
For bullish zones:
a close below the zone bottom invalidates the structure.
For bearish zones:
a close above the zone top invalidates the structure.
This is a strict close based rule, which helps avoid invalidating the zone on a temporary wick only.
16) Visual Handling of Violated Zones
method violate(ExhaustionZone this) =>
this.isActive := false
if not na(this.zoneBox)
box.set_bgcolor(this.zoneBox, violatedCol)
box.set_border_color(this.zoneBox, color.new(#78909C, 50))
if showMidLine and not na(this.midLine)
line.set_color(this.midLine, color.new(#78909C, 70))
if not na(this.zoneLabel)
label.set_textcolor(this.zoneLabel, color.new(#78909C, 40))
label.set_text(this.zoneLabel,
(this.isBullish ? "MMXL ▲" : "MMXL ▼") +
" VIOLATED")
When a violation happens, the zone is not fully deleted. Instead, the script changes its state and appearance.
The zone becomes inactive, its colors are muted, and the label text changes to indicate that the structure has been violated.
This preserves chart history while clearly separating valid zones from failed ones.
17) Alert Logic for Formations, Retests, and Violations
alertcondition(newBearZone,
title = "MMXL — Bearish Exhaustion Zone Formed",
message = "MMXL: BSL sweep detected on {{ticker}} {{interval}}. Bearish exhaustion zone created.")
alertcondition(newBullZone,
title = "MMXL — Bullish Exhaustion Zone Formed",
message = "MMXL: SSL sweep detected on {{ticker}} {{interval}}. Bullish exhaustion zone created.")
alertcondition(bullRetest,
title = "MMXL — Bullish Zone Retest",
message = "MMXL: Price retesting bullish exhaustion zone on {{ticker}} {{interval}}.")
alertcondition(bearRetest,
title = "MMXL — Bearish Zone Retest",
message = "MMXL: Price retesting bearish exhaustion zone on {{ticker}} {{interval}}.")
alertcondition(bullViolated or bearViolated,
title = "MMXL — Zone Violated",
message = "MMXL: An exhaustion zone was violated (close outside zone) on {{ticker}} {{interval}}.")
These alerts turn the script into an event driven structure tool.
The first set alerts when a new bullish or bearish MMXL zone forms.
The second set alerts when price retests an active zone.
The third alert triggers when a zone becomes invalidated.
This makes the model useful not only for visual chart review, but also for live monitoring workflows. Indicator

Malaysian SnR Levels [UAlgo]Malaysian SnR Levels is a structure based support and resistance overlay that automatically plots three level types on the chart:
A-Levels, which act as resistance
V-Levels, which act as support
Gap Levels, which mark qualifying candle to candle price gaps
The script is built for traders who want clean horizontal reference levels that stay active until price decisively crosses through them. Instead of drawing every pivot forever, the indicator manages each level as a stateful object with freshness and activity tracking. A newly created level begins as fresh , becomes unfresh after its first wick interaction, and remains active until price fully crosses through it. Once broken, the level stops extending and is archived on the chart.
A major strength of this implementation is its optional multi timeframe workflow. You can leave the timeframe input empty to detect levels on the current chart, or select a higher timeframe to project higher timeframe A, V, and Gap levels onto a lower timeframe execution chart. This makes the script useful for both local chart structure and top down level mapping.
The result is a practical support and resistance engine focused on:
Pivot based resistance and support
Gap based structural levels
Fresh versus unfresh state tracking
Automatic break detection
Optional MTF level projection
🔹 Features
🔸 1) Automatic A-Levels and V-Levels
The script detects pivot highs and pivot lows and converts them into horizontal support and resistance levels:
A-Levels come from confirmed pivot highs and behave as resistance
V-Levels come from confirmed pivot lows and behave as support
These are built from pivot calculations on close , not on raw high and low extremes, which gives the levels a close based structural character.
🔸 2) Automatic Gap Levels
In addition to pivots, the script detects directional gap style levels when two consecutive candles move in the same direction and the open to prior close gap exceeds a minimum tick distance.
Bullish gap logic creates a gap level at the previous close.
Bearish gap logic also creates a gap level at the previous close.
This gives the indicator a third structural layer beyond classic pivot based support and resistance.
🔸 3) Fresh and Unfresh State Tracking
Every new level starts as fresh . A fresh level is considered untouched. Once price interacts with the level by wick, it becomes unfresh :
The line style changes to dashed
The width becomes thinner
The color shifts to the unfresh color theme
This helps traders quickly distinguish untouched levels from levels that have already been tested.
🔸 4) Active Until Full Break
A level stays active until price crosses through it. Once broken, the level:
Stops extending
Fixes its endpoint at the break time
Keeps the historical line visible
Stops updating as an active level
This is useful because old levels remain visible for review, while current active levels continue projecting forward.
🔸 5) Multi Timeframe Detection (Optional)
The script supports a selectable detection timeframe:
Leave it empty to use the current chart timeframe
Set it to a higher timeframe to project higher timeframe levels onto the current chart
This is especially useful when traders want to execute on a lower timeframe while respecting higher timeframe structure.
🔸 6) Minimum Gap Filter in Ticks
Gap levels are filtered by a configurable minimum distance in ticks. This avoids plotting tiny micro gaps and helps keep only more meaningful dislocations.
🔸 7) Duplicate Level Protection
Before adding a new level, the script checks whether an active level already exists near the same price. If another active level is within a small tick range, the new one is skipped.
This reduces clutter and prevents nearly identical levels from stacking on top of each other.
🔸 8) Separate Visibility Controls
Users can independently choose whether to display:
A-Levels
V-Levels
Gap Levels
This makes the tool adaptable for different workflows, such as only plotting pivot levels or only monitoring gap structure.
🔸 9) Full Visual Customization
The script provides separate color controls for:
Fresh A-Levels
Unfresh A-Levels
Fresh V-Levels
Unfresh V-Levels
Fresh Gap Levels
Unfresh Gap Levels
It also allows customization of:
Fresh line width
Unfresh line width
Label size
This makes it easy to fit the indicator into different chart styles.
🔸 10) Label Projection to the Right
Each active level includes a compact label showing its type:
A
V
Gap
The label is automatically pushed several time steps to the right of current price so it stays readable and aligned with the level.
🔸 11) Automatic Level Count Management
The script keeps the number of stored levels under control using a maximum active limit. When capacity is exceeded, it tries to remove an older inactive level first.
This helps maintain chart cleanliness and stay within PulseWire object limits.
🔹 Calculations
1) Pivot Based A-Level and V-Level Detection
The script calculates pivots using close, not high or low:
float ph = ta.pivothigh(close, pivotLength, pivotLength)
float pl = ta.pivotlow(close, pivotLength, pivotLength)
Interpretation:
A-Level = confirmed close based pivot high
V-Level = confirmed close based pivot low
Because pivot confirmation requires bars on both sides, the level time is aligned to the true pivot bar using:
int ph_t = not na(ph) ? time : na
int pl_t = not na(pl) ? time : na
2) Gap Level Detection Logic
The script defines bullish and bearish gap conditions using consecutive candles in the same direction plus a minimum gap size measured in ticks.
Bullish gap:
bool bullishGap = prevBullish and isBullish and (open - close ) >= syminfo.mintick * minGapTicks
Bearish gap:
bool bearishGap = prevBearish and isBearish and (close - open) >= syminfo.mintick * minGapTicks
If either condition is true, the gap level is set at:
gap_price := close
So the reference price for the gap level is the previous candle’s close.
3) Multi Timeframe Data Selection
The script computes levels in a helper function and can either use:
Local chart data directly
Or higher timeframe data through request.security
= request.security(...)
If the timeframe input is empty, local values are used. Otherwise, the security values are used:
float ph = tf == "" ? loc_ph : sec_ph
This gives flexible MTF projection while keeping one consistent logic engine.
4) New Level Event Detection
To prevent the same pivot or gap from being added multiple times, the script checks whether the timestamp of the detected event changed:
bool new_ph = not na(ph_t) and ph_t != nz(ph_t )
bool new_pl = not na(pl_t) and pl_t != nz(pl_t )
bool new_gap = not na(gap_t) and gap_t != nz(gap_t )
This is an important implementation detail because it avoids a common Pine issue where na != na can propagate as na and block reliable detection.
5) Level Creation and Duplicate Protection
Before a new level is added, the script checks existing active levels and rejects duplicates that are too close:
if lvl.isActive and math.abs(lvl.price - p) < syminfo.mintick * 10
exists := true
This means levels within 10 ticks of an existing active level are treated as duplicates and not added.
6) Level Initialization
When a level is created, it starts as:
Fresh = true
Active = true
A line is drawn from the source time and extended to the right:
line.new(st, p, st + timeStep, p, xloc=xloc.bar_time, color=c, width=lineWidthFresh, extend=extend.right)
A label is also created and placed several time steps to the right:
label.new(cur_time + timeStep * 5, p, t, ...)
This keeps the label visually separated from the current candle.
7) Fresh to Unfresh Transition Logic
A level becomes unfresh when price first touches it by wick while the level is still active.
For A-Levels:
touchedWick := h >= this.price
For V-Levels:
touchedWick := l <= this.price
For Gap levels:
touchedWick := h >= this.price and l <= this.price
Once touched:
The level remains active
isFresh becomes false
The line becomes dashed
The width changes to the unfresh width
The line and label colors switch to the unfresh palette
This means a wick touch weakens the level visually, but does not break it.
8) Break / Deactivation Logic
A level becomes inactive only when price crosses through it, not merely when it is touched.
Cross up condition:
bool crossedUp = (o <= this.price and c > this.price) or (c_prev < this.price and c > this.price)
Cross down condition:
bool crossedDown = (o >= this.price and c < this.price) or (c_prev > this.price and c < this.price)
If either is true:
this.isActive := false
this.lvlLine.set_x2(curTime)
this.lvlLine.set_extend(extend.none)
this.lvlLabel.set_x(curTime)
Interpretation:
The level stops projecting and is fixed at the break time.
9) Time Step Handling
The script uses the current bar’s time distance to position and extend labels:
int timeStep = bar_index > 0 ? time - time : 60000
This is important because the script uses xloc.bar_time , so horizontal positioning is time based rather than bar index based.
10) Maximum Level Management
When the array exceeds the user defined maximum, the script tries to remove an inactive level first:
if this.size() > maxLevels
int removeIdx = 0
for i = 0 to this.size() - 1
SnRLevel lvl = this.get(i)
if not lvl.isActive
removeIdx := i
break
Then it deletes that level’s line and label.
Important implementation note:
If no inactive level is found, removeIdx remains 0, so the oldest level in the array is removed.
11) A-Level, V-Level, and Gap Interpretation
In this script:
A-Levels are close based pivot highs and function like resistance
V-Levels are close based pivot lows and function like support
Gap Levels are prior close reference levels from qualifying directional gaps
All three share the same lifecycle framework:
Fresh
Unfresh after wick touch
Inactive after a full cross through Indicator

Rejection Blocks [UAlgo]Rejection Blocks is a market structure and supply demand overlay built to detect and manage rejection based zones that form after liquidity sweeps and structure shifts. The script tracks recent swing highs and swing lows, monitors for sweep style rejection candles around those swing levels, and then requires a confirmation break before registering a Rejection Block as an active zone.
Each Rejection Block is visualized as an outer zone plus internal buy and sell strength segments that act like a compact sentiment map. The blocks extend forward over time, respond to mitigation and invalidation rules, and can optionally stop extending or be deleted after mitigation. The script also optionally draws structure annotations such as sweep markers and BOS or CHOCH lines to provide context for why a block formed.
This indicator is designed as a complete zone lifecycle engine. It focuses on repeatable rule based detection, strict candle shape filtering for rejection quality, and robust object management so you can keep a clean chart while tracking the most relevant zones.
🔹 Features
1) Pivot Based Market Structure Tracking
The engine uses pivot highs and pivot lows to identify the most recent swing high and swing low levels. These levels act as the structure references for:
Sweep detection
Break of structure detection
Change of character detection
Swing left bars and swing right bars control how strict the swing confirmation is.
2) Rejection Candle Validation with Sweep Logic
A candidate Rejection Block begins with a sweep style candle at a swing level:
Bullish rejection candle sweeps below the last swing low and closes back above it
Bearish rejection candle sweeps above the last swing high and closes back below it
Two sweep modes are available:
Wick sweep (open and close inside)
Any sweep (close inside)
Min sweep distance in ticks can be required to avoid tiny micro sweeps.
3) Optional Candle Shape Filter for Quality Control
When enabled, the script enforces a strict rejection candle profile using:
Minimum wick to body ratio
Minimum dominant wick percent of candle range
Maximum opposite wick percent of candle range
Maximum body percent of candle range
This helps filter out candles that technically sweep but do not display rejection characteristics.
4) Close Location Filters
Additional close filters can be applied:
None
Close in favorable half of the candle range
Close beyond open
This improves selectivity and allows you to tailor the definition of rejection strength.
5) Flexible Rejection Block Zone Models
The zone that is stored and drawn for a Rejection Block can be defined in multiple ways:
Wick to Body
Open to Extreme
Full Candle
Body
This allows alignment with different trading methodologies, from wick based reaction zones to body based execution zones.
6) Confirmation Window and Pending Candidates
Rejection candles do not become active zones immediately. They enter a pending list and require confirmation within a defined window. Confirmation is achieved when price breaks the opposite structure level:
Bullish candidate confirms when price breaks above the last swing high
Bearish candidate confirms when price breaks below the last swing low
If confirmation does not occur within the confirm window, the candidate expires. This prevents old sweeps from creating late zones.
7) Strength Segmentation Inside the Block
Each active block contains:
An outer zone box representing the full block range
An inner buy strength box
An inner sell strength box
A cap line that marks the maximum inner width boundary
Strength is estimated at formation time using one of two models:
Close location
Close plus wick
Inner widths scale based on the computed buy and sell strengths, giving a quick visual of where pressure likely dominated inside the rejection candle.
8) Lifecycle Management: Extension, Mitigation, Invalidation, Aging
Blocks are actively managed through their lifecycle:
Extension
Blocks extend to the right as time progresses.
Mitigation
Blocks can be marked mitigated by touch or by close inside. After mitigation, the block can optionally stop extending or be deleted.
Invalidation
Blocks can be invalidated by wick or by close beyond the block boundary, with optional deletion on invalidation.
Aging
Blocks can be removed after a maximum age in bars to keep the chart focused.
9) Structure Annotations: Sweep, BOS, CHOCH
When enabled, the script draws contextual structure lines and labels:
SW lines indicating swing sweep context
BOS lines for continuation breaks
CH lines for change of character
A maximum line budget is enforced to respect object limits.
10) Robust Object Budgeting and Cleanup
The engine enforces limits for:
Maximum blocks
Maximum pending candidates
Maximum structure lines
Old objects are deleted in a controlled way to avoid exceeding PulseWire limits and to keep the most relevant zones visible.
🔹 Calculations
1) Candle Parts and Rejection Shape Metrics
The script breaks each candle into components:
Range
Body size
Upper wick
Lower wick
It then normalizes values by range and uses them for shape validation:
Dominant wick is lower wick for bullish direction and upper wick for bearish direction
Opposite wick is the other side
Body percent is body divided by range
A rejection candle passes shape checks when dominant wick is large enough relative to body, dominant wick percent exceeds a threshold, opposite wick percent stays below a threshold, and body percent stays below a threshold.
2) Sweep Validation Against Structure Level
For bullish direction, sweep requires low to trade below the swing level by a tick margin and close to finish back above the level. For bearish direction, sweep requires high to trade above the swing level by a tick margin and close to finish back below the level.
Min sweep ticks sets the margin:
sweepMargin equals minSweepTicks multiplied by mintick
The wick sweep mode further requires open to remain inside the level on the correct side.
3) Zone Derivation Models
Zone bounds are determined from candle anatomy based on the selected RB zone model.
Wick to Body:
Bullish zone from body bottom to low
Bearish zone from high to body top
Open to Extreme:
Bullish zone from open to low
Bearish zone from high to open
Full candle:
High to low
Body:
Body top to body bottom
These bounds become the candidate block top and bottom.
4) Strength Estimation
Base strength uses close location within the candle range:
closeLoc equals clamp of (close minus low) divided by range
Buy strength equals closeLoc
Sell strength equals 1 minus buy strength
If Close plus wick is selected, dominant wick contribution is blended into the buy strength calculation using fixed weights. Strength is an approximation and is fixed at formation time.
5) Market Structure Break Detection and Trend State
The engine tracks last swing high and last swing low timestamps and prices. It then detects breaks using cross style conditions:
Bull break when close crosses above last swing high
Bear break when close crosses below last swing low
Trend direction is updated on confirmed bars after a break is detected. The engine also tracks the last broken swing timestamp to avoid duplicate structure events on the same swing.
BOS and CHOCH are derived by comparing the new break direction to the previous trend direction.
6) Candidate Creation and Pending Queue
On confirmed bars, if a rejection candle occurs at the relevant swing level, a Candidate is created with:
Formation time
Zone top and bottom
Direction
Buy and sell strength
Confirmation level which is the opposite swing level
Candidates are pushed into a pending array which is capped by max pending.
7) Candidate Confirmation Within a Window
Each pending candidate is evaluated until it either expires or confirms:
Expired when time since candidate leftT reaches confirmWindow in bars
Confirmed when price breaks the candidate confirmLevel in the direction required for structure confirmation
Confirmed candidates are converted into Blocks and added to the active blocks array.
8) Block Construction and Visual Geometry
When a block is created, the script draws:
Outer box covering the full block range
Inner buy and sell boxes split at the zone midpoint
Cap line placed at a maximum percentage of the outer width
Inner widths are scaled using the block strengths and innerMaxPctOfOuter. A minimum inner width in bars is enforced.
9) Mitigation Detection
Mitigation is detected using one of two modes:
Touch mode: high low intersects the block range
Close Inside mode: close is inside the block range
After mitigation, the block can change visual styling, optionally stop extending, and optionally be deleted.
10) Invalidation Detection
Invalidation is evaluated when enabled:
For bullish blocks, invalidation occurs if price goes below the bottom
For bearish blocks, invalidation occurs if price goes above the top
This can be evaluated by wick or close depending on invalidation mode. Invalidated blocks can be visually marked and optionally deleted.
11) Aging and Cleanup
If max age bars is set, blocks older than that age are removed. Limits on blocks and structure lines are enforced with controlled deletion to respect platform constraints.
12) Visibility Filters
Blocks are shown or hidden based on direction toggles:
Show bullish blocks
Show bearish blocks
Structure lines are also gated by a separate toggle and a maximum line budget. Indicator

Indicator

StO Price Action - Level ReactionShort-Summary
- Multi-timeframe reaction indicator for M5, M15, M30, H1, H4
- Monitors price interaction with higher timeframe levels (Daily, Weekly, H4)
- Detects whether price touches or breaks choosen levels
- Fully configurable colors, visibility and alerts per timeframe and level type
Full Description
Overview
- Tracks market reaction on significant levels across multiple timeframes
- Designed to identify intraday reactions to higher timeframe structure
- Supports both bullish and bearish reactions, with separate visual cues
- Alerts can be enabled to notify traders of touches or breaks
Core Logic
- Choice between detecting a touch or a break of the level
- Configurable reference level: Open, High or Low
- Lookback period can be set to target specific levels from previous candles
Timeframe Reactions
- Supported intraday reaction timeframes: M5, M15, M30, H1, H4, Daily, Weekly
- Each reaction type can be individually toggled for display
- Bullish and bearish reactions have separate color settings
- Alerts configurable per timeframe and reaction type
Alerting
- Alerts can be triggered for touches or breaks
- Supports separate alerts for each timeframe and each direction (bull/bear)
- Useful for real-time monitoring of key level interactions
Notes
- Intended as a market reaction tool not a standalone entry signal
- Helps traders confirm if price respects or violates higher timeframe levels Indicator

DWM HLOC, Mid & WicksSimple, yet effective.
1. Automatically calculate and projects key price levels from a previous period (Yesterday, OR Last Week / Month) onto the current trading session. It acts as an immediate Support & Resistance map based on historical price action.
2. Multi-Timeframe Logic
Modes --
Daily Mode: Projects yesterday's data onto today.
Weekly Mode: Projects last week's data onto the current week.
3. Key Levels Visualized The script calculates seven distinct price levels:
OHLC: Previous Open, High, Low, and Close.
Equilibrium (Mid): The exact 50% mark between the previous High and Low.
Wick Midpoints (New):
Upper Wick 50%: The midpoint between the High and the top of the body.
Lower Wick 50%: The midpoint between the Low and the bottom of the body.
4. Smart "Gap" Visualization The script uses unique starting points to help traders visualize market gaps:
Standard Levels (High, Low, Open, Mids): These lines originate from the Previous Period's Open, showing the full context of the level relative to time.
Close Level: This line originates from the Current Period's Open. This visually highlights the "Gap" (the jump in price between where the market closed previously and where it opened today).
5. Full Customization
Aesthetics: Every line can be individually toggled on/off.
Styling: Users can independently change the color, line style (Solid, Dotted, Dashed), and thickness for every specific level. Indicator

Smart Wick AnalyzerSmart Wick Analyzer (SWA)
Purpose: Highlight potential liquidity‑grab candles (long wicks) and turn them into actionable, rule‑based buy/sell signals with trend, volume, and cooldown filters.
Type: Indicator (not a strategy). Educational tool to contextualize wick events.
🧠 What This Script Does
SWA looks for candles where the wick is large relative to its body—a common signature of liquidity sweeps / rejection. It then adds three confirmations before marking a trade signal:
1. Wick Event
• Upper‑wick event (possible rejection from above)
• Lower‑wick event (possible rejection from below)
• Condition: wick length > body × Wick‑to‑Body Ratio
2. Context Filters
• Trend filter : closing price vs. SMA of lookbackBars
• Volume filter : current volume vs. average volume × volumeThreshold
3. Signal Hygiene
• Cooldown : prevents clustering; a minimum number of bars must pass before a new signal is allowed.
If a candle passes these checks:
• Buy Signal (triangle up): long lower wick + price above SMA + relative‑high volume + cooldown passed
• Sell Signal (triangle down): long upper wick + price below SMA + relative‑high volume + cooldown passed
The signal candle is also bar‑colored black for quick visual focus.
⸻
✳️ What the Dotted Lines Mean (including the green one)
On every signal bar the script draws two dotted horizontal levels, extended to the right:
• Open line of the signal candle
• Close line of the signal candle
• They use the signal color: green for Buy, red for Sell.
How to interpret (example: green = Buy signal):
• The green dotted close line represents the momentum validation level. If subsequent candles close above this line, it indicates follow‑through after the wick rejection (buyers defended into the close).
• The green dotted open line is a risk context / invalidation reference. If price falls back below it soon after the signal, the wick event may have failed or devolved into chop.
In your annotated chart: the candle initially looked constructive (“closing above could be positive momentum”), but later price failed and rotated down—hence a sell signal interpreted when an upper‑wick event occurred under down‑trend conditions.
⸻
⚙️ Inputs & What They Control
• Wick‑to‑Body Ratio (wickThreshold): how “extreme” a wick must be to count as a liquidity‑grab.
• Lookback Period (lookbackBars):
• SMA period for trend context
• Volume MA for relative‑volume check
• Volume Multiplier (volumeThreshold): strengthens/loosens volume confirmation.
• Cooldown Bars (cooldownBars): minimum spacing between consecutive signals.
• Enable Alerts (showAlerts): turns on alert conditions.
⸻
🔔 Alerts (exact titles)
• “SWA Buy Alert” — potential reversal / Buy signal detected
• “SWA Sell Alert” — potential reversal / Sell signal detected
⸻
📌 How to Use (practical guide)
1. Scan for the black‑colored signal candle and its dotted lines.
2. For Buy signals (green): Prefer continuation if price closes above the green close line within the next few bars. Manage risk using the open line or your own level.
3. For Sell signals (red): Prefer continuation if price closes below the red close line.
4. Avoid chasing during low‑volume / counter‑trend signals; the filters help, but structure (HTF trend, S/R, session context) still matters.
5. Use the cooldown to reduce noise on fast time frames.
⸻
✅ Why This Isn’t Just “Another Wick Indicator”
• The script does not flag every long‑wick; it requires trend alignment and relative volume to suggest participation.
• The two reference lines (open/close) provide post‑signal state tracking—a simple, visual framework to judge follow‑through vs. failure without additional tools.
• Cooldown logic discourages clustered, low‑quality repeats around the same zone.
⸻
⚠️ Notes & Limitations
• Works across markets/time frames, but wick behavior varies by instrument and session. Parameters may need adjustment.
• Signals are contextual, not guarantees. Consolidation and news spikes can invalidate wick reads.
• This indicator is not a strategy; it does not backtest performance on its own.
⸻
📄 Disclaimer
This tool is for educational purposes only and should be combined with personal analysis and risk management. Markets are uncertain; past behavior does not guarantee future results. Indicator
