Order Blocks with Volume [Quantum Algo]Order Blocks with Volume
OVERVIEW
This indicator finds order blocks — the candles where a directional move originated before price broke market structure — and measures the buy and sell volume that traded inside each one. Every zone is drawn as a box that extends forward until price returns to it, and each active zone is labelled with its total volume and its buy/sell split, so you can tell at a glance which blocks were built on heavy participation and which were not.
It is built entirely from price and volume on the chart you apply it to. There is no repainting of confirmed zones: detection runs only on closed bars.
HOW DETECTION WORKS
1. Market structure. Confirmed swing highs and swing lows are located using a pivot of configurable length (Swing Length). A larger value isolates more significant structure and produces fewer, larger zones.
2. Break of structure. When a candle closes above the most recent confirmed swing high (bullish) or below the most recent confirmed swing low (bearish), the indicator treats it as a break of structure and looks for the order block that produced the move.
3. The order block candle. Starting from the breakout, the script steps back over the impulse candles and marks the last opposite-close candle before the move began — the last down-close candle for a bullish block, the last up-close candle for a bearish block. This is the origin of the displacement and the level price often revisits.
4. Zone range. The block is drawn from that candle using either its full high-to-low range (Wick) or its open-to-close body (Body).
VOLUME ENGINE
For each order block candle the indicator estimates how much of the traded volume was buying versus selling, using where the candle closed within its own range:
- Buy volume is weighted by how close the candle closed to its high.
- Sell volume is weighted by how close it closed to its low.
This split is shown two ways:
- Buy / Sell volume bars: two horizontal bars anchored at the left of the zone — buy on the top half, sell on the bottom half — with lengths proportional to each side. The Volume Bar Length setting controls how long they can extend (they are automatically kept inside the zone).
- Volume label: written inside the zone on the right edge, showing the total volume of the block and the buy% / sell% balance.
Volume strength is the block's volume divided by the average volume over a configurable baseline (Volume Baseline Length). It is used by the optional filter below to keep only the heaviest blocks.
ZONE LIFECYCLE
- Active. A live zone extends to the current bar and shows its volume bars and label.
- Mitigation. When price first trades back into a zone, the 50% line marks the equilibrium and an alert can fire.
- Invalidation. A zone is invalidated when price moves through its far edge. The source can be a wick touch or a candle close (Invalidation Source).
- Breaker. If "Flip Broken Zones to Breaker Blocks" is on, an invalidated zone is kept and re-coloured as a breaker, since broken support can act as resistance and vice versa.
- Historic. If "Keep Invalidated Zones (Historic)" is on, finished zones are frozen at the bar they died, re-coloured neutral, and their volume bars and text are removed to keep the chart clean.
- If neither option is on, invalidated zones are removed.
To avoid clutter the indicator will not stack a new zone on top of an existing active zone in the same area, limits the number of active zones per side, and automatically drops any zone older than the drawing range.
ON-CHART ELEMENTS
- Coloured boxes: bullish and bearish order blocks (and a neutral colour for breaker/historic).
- Two inner bars per active zone: buy (top) and sell (bottom) volume.
- A dotted line through the middle of active zones: the 50% mitigation / equilibrium level.
- Text inside active zones: total volume and buy% / sell%.
SETTINGS
Structure & Detection
- Swing Length — pivot length used to define structure. Higher = larger, more significant zones.
- Impulse Lookback (bars) — how far back to search for the origin candle after a break of structure.
- Zone Range — Wick (full range) or Body (open-to-close).
- Max Active Zones / Side — cap on simultaneously active zones per direction.
Invalidation
- Invalidation Source — Wick (a high/low piercing the zone) or Close (a candle closing beyond it).
- Flip Broken Zones to Breaker Blocks — keep and re-colour broken zones as breakers.
- Keep Invalidated Zones (Historic) — freeze finished zones instead of deleting them.
Volume Engine
- Show Volume Label — write volume and buy/sell% inside active zones.
- Show Buy / Sell Volume Bars — draw the proportional buy/sell bars.
- Volume Baseline Length — averaging length used to rate volume strength.
- Volume Bar Length (bars) — maximum length of the buy/sell bars.
Filters
- Only Show High-Volume Zones — hide blocks below the strength threshold.
- Min Volume Strength (x avg) — threshold as a multiple of average volume.
- Filter Oversized Zones — skip blocks taller than the ATR limit.
- Max Zone Height (ATR x) — the height limit, in multiples of ATR.
Style
- Bullish Zone, Bearish Zone, Buy Volume, Sell Volume, Breaker / Historic, Text — colours.
- Zone Extension (bars) — how far active zones project past the current bar.
- Show 50% Mitigation Line — toggle the equilibrium line.
ALERTS
Alerts are raised through the alert() function for two events: an order block being tapped (mitigation) and an order block being broken (breaker formed). To use them, create an alert on the indicator and choose the "Any alert() function call" condition.
HOW TO USE
Order blocks mark areas where significant orders were likely placed. Traders commonly watch for price to return to an un-mitigated block and react there, and use the buy/sell volume split and strength to judge how meaningful a block is — a block built on high, one-sided volume is generally treated as more significant than a thin one. Combine the zones with your own confirmation and risk management; this tool highlights levels, it does not generate buy or sell signals.
DISCLAIMER
Nothing here is financial advice or a guarantee of any outcome. Past behaviour of price around order blocks does not predict future results. Always do your own research and manage risk. Gösterge

Market Structure Target Tracker [MarkitTick]💡 An advanced, multi-faceted analytical suite designed for traders who rely on price action and logical trend progressions. By systematically identifying structural pivots in the market, this tool automatically maps out Break of Structure (BOS) and Change of Character (CHoCH) events. Rather than simply plotting support and resistance, it integrates a sophisticated risk-management framework directly onto the chart, calculating dynamic Entry, Stop Loss (SL), and multiple Take Profit (TP) levels based on market volatility.
Price action trading requires constant vigilance to identify local maxima and minima. This script relieves the trader of manual chart marking by perpetually analyzing rolling windows of price data. When an established swing high or low is breached, the indicator locks in the structural shift, evaluates higher timeframe momentum to filter out false breakouts, and establishes a forward-looking target zone.
✨ Originality and Utility
Most market structure indicators limit their functionality to placing historical labels on the chart. The originality of this script lies in its forward-looking, state-aware tracking mechanism. It operates not just as an indicator, but as a simulated trade management dashboard.
Once a structural break occurs, the indicator shifts into an active tracking state. It dynamically projects Entry and SL/TP bands anchored to the breakout, using Average True Range (ATR) to adapt to the asset's current volatility. Furthermore, it continuously evaluates the life-cycle of the structural break, monitoring price action to determine if the target is successfully hit or if the setup is invalidated by an opposing swing breach. This level of state persistence provides traders with an objective, real-time assessment of trade feasibility, risk-to-reward ratios, and trend duration.
🔬 Methodology and Concepts
The script is built upon four foundational technical concepts, woven together into a unified logic sequence:
• Pivot Detection
The core engine scans for Pivot Highs and Pivot Lows. A Pivot High is confirmed when a specific bar's high is strictly greater than the highs of a defined number of bars both preceding and following it. This creates a fractal representation of market turning points.
• Break of Structure (BOS)
A bullish structure break occurs when the closing price of a confirmed bar exceeds the most recent Pivot High. Conversely, a bearish break occurs when the close drops below the most recent Pivot Low. The script categorizes the first break in a new direction as a CHoCH, and subsequent continuous breaks as BOS.
• Higher Timeframe (HTF) Alignment
To prevent trading against the dominant macroeconomic trend, the script optionally queries the Relative Strength Index (RSI) from a higher timeframe. If this filter is engaged, bullish breakouts are ignored unless the HTF RSI indicates bullish momentum, adding a crucial layer of directional confirmation.
• Volatility-Adjusted Target Mapping
Upon a valid breakout, the script captures the current ATR. It then maps out a predefined trade setup. The Entry is plotted slightly past the breakout line, the Stop Loss is placed at a multiple of the ATR away from the entry, and up to three Take Profit levels are projected using independent ATR multipliers.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
The indicator translates discretionary price action theory into a strict, rule-based algorithmic framework grounded in discrete mathematics and statistical dispersion.
• Local Extrema in Discrete Time Series
The pivot detection relies on the mathematical definition of local extrema within a bounded domain. For a given time series of high prices $H_t$, a local maximum is identified at time $t$ if $H_t \ge H_{t \pm k}$ for a defined neighborhood $k$ (the Swing Length). By anchoring structural logic to these extrema, the script removes the subjectivity of trendline drawing, relying strictly on empirical data points that define the boundaries of recent market equilibrium.
• Measurement of Dispersion via True Range
The risk management module utilizes the Average True Range. The True Range ( NYSE:TR $) is defined as the greatest of the following: the current high minus the current low, the absolute value of the current high minus the previous close, or the absolute value of the current low minus the previous close. The ATR is a smoothed moving average of this NYSE:TR $. In academic finance, variance and standard deviation are common measures of risk; however, ATR is particularly robust for trading applications as it accounts for overnight gaps and limits, providing a highly adaptive measurement of kinetic market energy to appropriately size stop-loss thresholds.
• Relative Momentum Standardization
The Higher Timeframe filter utilizes the Relative Strength Index. The RSI standardizes the velocity of price movement onto a 0-100 scale by comparing the exponential moving average of recent gains to recent losses. By enforcing a rule where NYSE:RSI > 50$ is required for bullish structural breaks, the algorithm mathematically demands that the higher-degree derivative of price (momentum) aligns with the lower-degree breakout, statistically reducing the probability of mean-reverting false breakouts.
🎨 Visual Guide
The script provides a rich, non-intrusive visual overlay to keep the trader informed of all active states and historical context.
• Structure Break Lines
Dashed Green Lines: Indicate historical and active Bullish breakouts.
Dashed Red Lines: Indicate historical and active Bearish breakouts.
Trend Labels: Triangles and markers (▲ BOS / ▼ CHoCH) appear at the midpoint of the break line to clearly annotate the structural shift.
• Trade Projection Lines
When a break is active, a cluster of dashed lines projects to the right of the current price action:
Blue Line (►): Proposed Entry level.
Red Line (✕): Stop Loss level based on ATR.
Green Lines (●, ★, ◆): Three tiered Take Profit targets based on escalating ATR multiples.
• The Heads-Up Dashboard
Located in the top right corner, this table is the operational nerve center. It displays:
Asset Ticker and Current Trend status.
HTF Direction and a visual block-bar representation of the HTF RSI.
Active BOS Level and Target Status (⏳ Pending or ✓ Hit).
Exact price coordinates for Entry, SL, and all TPs.
The active Risk-to-Reward (R:R) ratio for the first target.
Statistical tracking of Total BOS counts and the duration (in bars) of the active setup.
📖 How to Use
Traders can utilize this script as a complete ruleset for navigating trend continuations and reversals.
When observing the chart, wait for the script to print a new BOS or CHoCH label. This signifies that a confirmed candle has closed beyond a significant structural pivot. If the HTF filter is enabled, this break already has the backing of higher timeframe momentum.
Once the break prints, look to the dashed projection lines and the dashboard. The dashboard will display exact coordinates for a theoretical trade setup. You can use the blue Entry line to plan limit orders or market execution upon pullbacks. Set your structural stop-loss according to the red SL line, and place limit orders to secure profits at the green TP lines.
Monitor the Dashboard's "Tgt Status". If price action reverses heavily and crosses the opposing pivot point before reaching the target, the script will trigger its auto-invalidation sequence, clearing the active lines and returning to a neutral scanning state. This helps in dynamically cutting risk when a setup structurally fails.
⚙️ Inputs and Settings
The indicator is highly customizable, allowing adaptation to any asset or timeframe.
• BOS Group
Swing Length: Determines the lookback and lookforward period for pivot detection. Lower values react faster but produce more noise; higher values identify major macro swings.
• Visibility Group
Show BOS Line / Labels: Toggles the historical structural break drawings.
Auto-Invalidate: When enabled, the script will cancel an active setup if the opposing structural extreme is breached.
Color settings: Fully customize the hues for Bullish breaks, Bearish breaks, and Targets.
• SL/TP Group
Show Entry/SL/TP: Toggles the projection lines on the chart.
ATR Length: The lookback period for calculating market volatility.
Multipliers: Adjust the SL ATR Multiplier and the individual TP1, TP2, and TP3 multipliers to define your specific risk-to-reward parameters.
• HTF Group
HTF: Select the resolution for the higher timeframe filter (e.g., 240 for 4-hour, D for Daily).
HTF Filter: Toggle the momentum alignment requirement on or off.
HTF RSI Len: The period for the higher timeframe momentum oscillator.
• Alerts Group
The script features built-in webhook-ready JSON alerts that can notify external services the moment a BOS occurs or a target is successfully hit.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Gösterge

Break-Retest Quality [AGPro Series]Break-Retest Quality
🎯 OVERVIEW
Break-Retest Quality is a precision-focused structure toolkit that detects pivot-based breaks of structure (BOS) and grades the first retest of the broken level using a transparent, multi-factor quality score. Instead of only drawing a break line and leaving you to guess whether the retest "looked clean", the script quantifies the retest with a 0-100 score and an A / B / C / F letter grade so you can quickly separate high-conviction pullbacks from low-quality ones. It is a discretionary context tool built for price action traders, SMC / ICT practitioners and anyone who builds setups around break-and-retest logic.
The system is fully automated, non-repainting after confirmation, and works on any symbol and timeframe that TradingView supports.
📐 UNIQUE EDGE — WHAT MAKES IT DIFFERENT
Most break-of-structure indicators stop at drawing a line and an arrow. Break-Retest Quality goes further:
🔹 Every retest is scored on six independent factors and translated into an A / B / C / F grade
🔹 The acceptance zone is an ATR-scaled rectangle that changes color and state as the setup evolves (live WATCH → graded RETEST)
🔹 A "Min Grade To Display" filter keeps weak retests off the chart, so the visual footprint stays clean
🔹 A right-edge WATCH tag pins the currently active level so you never lose track of the live setup
🔹 A compact two-line retest marker shows grade, score and a short outcome tag in a minimal footprint
🔹 Built-in cooldown and single-retest-per-break logic prevent label clutter on choppy price action
This is not a repackaged BOS indicator — it is a quality filter on top of BOS / retest logic.
🧪 METHODOLOGY
1. STRUCTURE DETECTION
Pivot highs and lows are detected with a user-defined Pivot Length. A break is registered when price clears the most recent pivot by at least Min Break ATR Filter × ATR, either on a close (default) or on a wick.
2. RETEST TRACKING
After a confirmed break, the script opens an acceptance zone of ± Retest Tolerance ATR × ATR around the broken level and watches for the first price revisit within Max Bars For Retest.
3. QUALITY SCORING (0-100)
The first retest is graded on six weighted factors:
🔸 Reclaim (25 pts) — how decisively the close reclaims the correct side of the level
🔸 Rejection (20 pts) — wick / body composition on the retest bar
🔸 Depth (20 pts) — how close the extreme of the retest bar lands to the level (no excessive overshoot)
🔸 Speed (15 pts) — how quickly the retest prints after the break
🔸 Volatility (10 pts) — bar range discipline relative to ATR
🔸 Volume (10 pts, optional) — relative volume vs 20-bar SMA
Final score → Grade: A ≥ 80, B ≥ 65, C ≥ 50, F < 50.
4. CONFIRMATION LOGIC
A retest is marked "confirmed" only if the score meets the Min Grade For Confirmation threshold AND the close lands on the correct side of the broken level.
🔔 SIGNALS & ALERTS
Three TradingView alert conditions are exposed:
🔹 Structure Break Detected — fires the moment a valid break is registered
🔹 First Retest Detected — fires on the first qualifying revisit inside the acceptance zone
🔹 High-Quality Retest Confirmed — fires only when the graded retest meets the confirmation threshold
⚙️ KEY INPUTS
STRUCTURE
• Pivot Length, Use Close Confirmation, Min Break ATR Filter, ATR Length
RETEST
• Max Bars For Retest, Retest Tolerance ATR, Cooldown Bars After Completed Setup, Resolved Zone Extension
SCORING
• Show Numeric Score / Grade, Use Volume Confirmation, Min Grade For Confirmation, Min Grade To Display
VISUALS
• Show Break Line / Labels / Retest Marker / Retest Zone / Watch Zone Text / Resolved Zone Text / Active Level Glow / Right-Edge Watch Tag / Invalidation Line / Outcome Text, Use Grade Colors, Zone Forward Extension, Label Size
PANEL
• Show Panel, Panel Position, Panel Font Size, Show Last Result Row
RUNTIME
• Keep Last Setups (controls how many historical setups stay on the chart)
🧭 HOW TO USE
1. Add Break-Retest Quality to any chart and timeframe. Adjust Pivot Length to match the structure you care about (lower on intraday, higher on swing).
2. Wait for a BRK▲ or BRK▼ label to print — this confirms a structure break.
3. Observe the live acceptance zone and the right-edge WATCH tag. These mark the level and the remaining retest window.
4. When price returns to the zone, read the two-line retest marker: grade + score on the top line, short outcome tag (Strong / Valid / Weak / Failed) on the bottom line.
5. Use the panel to monitor live state, active level, remaining window and the last completed result with its full outcome description.
6. Combine with your own confluences — higher-timeframe bias, liquidity levels, session context, volume profile — before acting on any signal.
⚠️ LIMITATIONS & TRANSPARENCY
🔹 This is an analytical and educational tool, not a strategy. It does not generate buy / sell orders and does not measure historical performance.
🔹 Grades describe the geometric and relative-volume quality of the retest bar at the moment it prints. They are not predictions of future price movement.
🔹 Scores calculated at bar close are final; intra-bar readings can shift until the bar closes.
🔹 The volume factor depends on exchange-supplied volume data. Turn it off on instruments where volume is unreliable or missing.
🔹 Pivot-based structure is sensitive to the Pivot Length setting. Choose it deliberately for the timeframe and symbol you are analyzing.
📢 RISK DISCLOSURE
Trading involves substantial risk and is not suitable for every investor. Past price behavior is not indicative of future results. This indicator is provided for educational and analytical purposes only and does not constitute financial advice, investment advice, or a solicitation to trade any instrument. Always perform your own research and risk management before acting on any signal. Gösterge

AG Pro BOS & CHoCH Auto Detector [AGPro Series]AG Pro BOS & CHoCH Auto Detector
OVERVIEW / WHAT IT DOES
AG Pro BOS & CHoCH Auto Detector is a market structure overlay designed to organize swing-based price action into a more readable workflow. Instead of leaving the chart covered with disconnected pivot labels or generic break markers, this script tracks structural swing progression, identifies when prior highs or lows are broken, and classifies those breaks as either BOS (Break of Structure) or CHoCH (Change of Character). The goal is not to predict the next move, but to help traders read whether price is continuing an existing structure or beginning to challenge it.
The script monitors HH, HL, LH, and LL development using pivot logic, then uses those reference points to detect structural breaks. A break in the direction of the active structure is treated as BOS, while the first meaningful break against the prior directional structure is treated as CHoCH. This distinction matters because many charts show every break in the same visual language, even though continuation and character shift do not carry the same analytical meaning. Here, those events are separated clearly.
A second layer of usefulness comes from presentation discipline. This script is built to keep structural information visible without turning the chart into a wall of labels. Swing density can be reduced, major structures can be emphasized, and the higher timeframe overlay can remain active in the background to keep local execution aligned with broader structure. The result is a structure map that stays informative without becoming visually noisy.
This tool is intended for traders who already use price structure as part of their chart reading and want a cleaner way to monitor continuation versus transition. It can support discretionary workflows around trend continuation, pullback analysis, structure failure, and higher timeframe context, while still remaining transparent about how its signals are formed.
UNIQUE EDGE
Many market structure tools stop at plotting swing points or printing BOS / CHoCH text when a level is crossed. AG Pro BOS & CHoCH Auto Detector is built around a more organized structure engine approach.
Its edge is not based on trying to forecast direction or force trade entries. Its edge is based on classification, hierarchy, and chart readability:
- It separates continuation breaks from character-change breaks instead of treating all structural violations as equivalent.
- It preserves the swing chain context behind each event, so BOS and CHoCH are not isolated labels detached from surrounding structure.
- It allows confirmation mode selection, so the user can decide whether structure breaks require close confirmation or can react to intrabar violations.
- It includes higher timeframe structure context directly on the chart rather than forcing the user to reconstruct that context manually.
- It includes swing-density controls so the visual output can be kept clean even when structure is active.
This makes the script less like a simple labeling utility and more like a workflow layer for structure-based chart reading.
METHODOLOGY
1) Swing Structure Detection
The script uses pivot-based highs and lows to identify structural reference points. Those pivots are then classified into HH, HL, LH, and LL sequences, allowing the chart to reflect whether structure is strengthening, weakening, or transitioning.
2) BOS Logic
When price breaks a prior structural level in the direction of the active trend, the event is labeled as BOS. In practical terms, this represents structural continuation rather than directional reversal.
3) CHoCH Logic
When price breaks against the previously established directional structure, the event is labeled as CHoCH. This is treated as a possible character shift, not as a guaranteed reversal. It highlights that the prior structure has been challenged.
4) Confirmation Mode
Users can choose whether structure breaks are confirmed by candle close or by intrabar price action. Close mode is more conservative and can reduce noise. Intrabar mode is more responsive and may show earlier breaks.
5) Higher Timeframe Overlay
An optional MTF layer allows the script to bring higher timeframe structure context onto the active chart. This can help users avoid reading local swings in isolation when broader structure is still dominant.
6) Visual Hierarchy
The script uses horizontal structure levels, event labels, optional arrows, controlled swing density, and a compact information panel to keep key structure events readable. The design priority is to preserve analytical clarity.
SIGNALS & ALERTS
This script can generate structure-based alerts for the following event types:
- Bullish BOS
- Bearish BOS
- Bullish CHoCH
- Bearish CHoCH
- Any structure break
These alerts are event-driven and tied to the script's structural logic. They are intended to notify the user when a relevant break occurs according to the selected confirmation mode. They are not trade instructions and should be interpreted within the user's broader process.
KEY INPUTS
Swing Pivot Length
Controls pivot sensitivity. Lower values detect swings faster but may produce more noise. Higher values are more selective.
Confirmation Mode
Choose between Close and Intrabar logic for structure break confirmation.
Max Structures to Show
Limits how many structural events remain plotted on the chart.
Swing Label Density
Lets users choose between fuller swing annotation and a cleaner major-structure view.
Max Swing Labels on Chart
Helps prevent excessive label build-up in active market conditions.
Enable MTF Overlay
Adds higher timeframe structure context to the active chart.
MTF Timeframe
Defines which higher timeframe structure layer is projected onto the chart.
Label Size / Panel Font Size / Line Settings
Allow visual tuning without changing structural logic.
LIMITATIONS & TRANSPARENCY
This script uses pivot-based structure logic. That means swing points are confirmed only after the required pivot bars are completed. Because of this, the tool is confirmation-based by design and does not attempt to label unfinished pivots as confirmed structure.
BOS and CHoCH are structural events, not certainty statements. A CHoCH may signal that the prior directional structure is being challenged, but it does not guarantee a lasting reversal. Likewise, a BOS indicates continuation within the script's structural framework, but not guaranteed follow-through.
The higher timeframe overlay is designed to add context, not to replace direct higher timeframe chart review. Users should still interpret local and higher timeframe structure together rather than relying on a single signal state.
This script is best used as a structure-mapping tool within a broader analytical framework. It is not a standalone trading system, not a predictor, and not a substitute for risk management.
RISK DISCLOSURE
This indicator is for chart analysis and educational use. It does not provide financial advice, does not guarantee outcomes, and should not be treated as a complete trading methodology on its own. Market structure tools can help organize price action, but all trading decisions remain the responsibility of the user.
Gösterge

QML FTB with Quality Score [Malibu]QML FTB with Quality Score
Overview
QML FTB with Quality Score is an open-source market structure indicator designed to detect Quasimodo (QML) reversal formations and highlight potential First Touch Back (FTB) reaction levels after a confirmed break of structure.
The script is built to be selective rather than frequent. Instead of displaying every possible QML pattern, it filters structure through multiple confluence factors and ranks each setup with a normalized Quality Score. The goal is to help traders focus on cleaner and more meaningful reaction zones rather than treating all reversal structures as equal.
What this indicator does
This indicator scans price action for bullish and bearish Quasimodo formations, confirms the related market structure break, and projects the corresponding left-shoulder area as a potential reaction level.
In practical terms, it is a structure-based reversal and reaction-zone tool that can assist with:
- market structure shifts
- support and resistance transitions
- break-of-structure confirmation
- liquidity-driven reversal analysis
- filtered first-touch retest opportunities
Why this indicator can be useful
Raw QML detection can become noisy because many structures may appear valid at first glance, but not all of them carry the same quality. This script attempts to solve that problem by combining pattern detection with context-based filtering.
Instead of only drawing a shape, it asks additional questions:
- Was the structure break strong enough?
- Is momentum aligned?
- Is there RSI divergence?
- Is there Fair Value Gap confluence?
- Was liquidity swept before the reversal?
- Is the level still fresh and untouched?
That layered process is what makes the script more selective and more practical for traders who prefer structured filtering over raw pattern frequency.
How it works
The script uses a ZigZag-style swing engine to track meaningful highs and lows in price structure. Based on those swings, it evaluates whether the sequence forms a valid Quasimodo transition.
Bullish structure:
- price forms a lower low
- price then breaks the prior key high
- the previous shoulder area becomes the projected bullish QML / FTB level
Bearish structure:
- price forms a higher high
- price then breaks the prior key low
- the previous shoulder area becomes the projected bearish QML / FTB level
Once the structure is identified, the setup can be refined through optional confluence filters. The script then calculates a Quality Score and prints the confirmed level only after bar close.
Filtering logic
1) Body Break Filter
This filter requires the break of structure to happen with candle body confirmation rather than wick-only penetration. Its purpose is to reduce weak or cosmetic breaks and focus on clearer structural shifts.
2) Momentum Filter (EMA)
This filter checks whether the setup is aligned with the broader directional bias using an EMA-based trend condition. Bullish setups are generally stronger when price is positioned in bullish momentum context, while bearish setups are generally stronger when price is positioned in bearish momentum context.
3) RSI Divergence Filter
This filter looks for momentum exhaustion. For bullish setups, it checks whether price pushes lower while RSI fails to confirm that weakness. For bearish setups, it checks the opposite. This is the strictest filter and is meant to isolate higher-selectivity reversal conditions.
4) FVG Confluence
This filter checks whether the projected QML level aligns with a Fair Value Gap area. The aim is to add imbalance context and identify zones where inefficient price delivery may support a reaction.
5) Liquidity Sweep Filter
This filter checks whether the head of the QML structure swept prior liquidity before the reversal. It is meant to capture structural traps and stop-hunt style behavior before a turn.
6) Freshness (FTB) Filter
This filter removes levels that have already been touched or used. Its goal is to keep the focus on first-touch reaction opportunities rather than repeatedly tested zones.
Quality Score logic
The script ranks each setup using a normalized Quality Score.
Current score components:
- RSI Divergence: +30
- FVG Confluence: +25
- Liquidity Sweep: +25
- EMA Momentum Alignment: +20
The total score is normalized according to the filters that are currently active, then displayed as a percentage. This allows the indicator to remain usable even when traders prefer a lighter or stricter filter stack.
What it plots on the chart
The indicator can display:
- a thick horizontal QML entry level
- optional dashed ZigZag structure lines
- bullish and bearish QML labels
- a Quality Score percentage
- an additional symbol when RSI divergence is present
The visual design is intentionally simple so the underlying structure remains readable on chart.
Inputs
ZigZag Sensitivity (default: 13)
Controls how sensitive the swing detection is.
- Lower values produce more swing points and more signals, but also more noise.
- Higher values reduce signal frequency and generally improve selectivity, but can introduce more lag.
Body Break Filter (default: true)
Requires structure breaks to happen with body confirmation.
- Usually lowers signal count
- Usually improves reliability
- Best kept enabled in noisier conditions
Momentum Filter / EMA Filter (default: true)
Restricts setups to those aligned with EMA direction.
- Reduces counter-trend signals
- Makes the script more selective
- Generally improves quality in directional markets
EMA Period (default: 50)
Defines the trend filter length.
- Lower values make the filter more responsive
- Higher values make it smoother and slower
RSI Divergence Filter (default: false)
Allows only setups that also show RSI divergence.
- This is the strictest filter
- Strongly reduces signal frequency
- Best used when only higher-selectivity reversal setups are desired
FVG Confluence (default: true)
Requires the level to align with Fair Value Gap context.
- Filters out some otherwise valid patterns
- Can improve contextual quality in imbalanced markets
Liquidity Sweep Filter (default: true)
Requires evidence of liquidity interaction at the head of the structure.
- Helps isolate trap-like reversal conditions
- Adds selectivity around structural extremes
Freshness (FTB) Filter (default: true)
Rejects previously tested levels.
- Keeps the focus on first-touch setups
- Useful for traders who prefer untouched zones
Line Length (bars) (default: 25)
Controls how far the projected QML level is extended to the right.
- This is a visual setting
- It does not change the signal logic
Which settings matter most
The three most important inputs are:
- ZigZag Sensitivity
- Body Break Filter
- Freshness (FTB) Filter
These settings have the biggest impact on how noisy, selective, and practical the final output becomes.
Suggested usage styles
Balanced / default use
For most users, the default settings are the best place to start. They are designed to provide a practical balance between signal frequency and selectivity.
More aggressive use
For traders who want more setups:
- reduce ZigZag Sensitivity toward 8–10
- consider disabling EMA Filter
- consider disabling FVG Confluence
This can increase opportunity count, but it also increases noise and false positives.
More conservative use
For traders who want fewer but stronger setups:
- keep Body Break Filter enabled
- keep Freshness Filter enabled
- enable RSI Divergence Filter
- focus more on higher-score setups, especially 80%+
This creates a much stricter selection process.
Timeframe behavior
This indicator is generally better suited to M15, H1, H4, and Daily charts.
Suggested sensitivity behavior:
- M15 to H1: 13 to 21 is usually more stable
- H4 to Daily: 8 to 13 is often more responsive without becoming overly delayed
Timeframe notes:
- On M1 and M5, low sensitivity settings can produce excessive noise and weak structure breaks.
- In lower timeframes, Body Break confirmation becomes much more important.
- On higher timeframes, very high sensitivity values can reduce opportunities too much and may introduce unnecessary delay.
Market conditions
The script tends to behave more cleanly in liquid markets where structure is clearer, such as:
- crypto majors
- forex majors
- index products
- other actively traded instruments
In very thin or highly irregular markets, the structural quality of setups may degrade.
Why this indicator may be preferred over simpler alternatives
This script is not intended to be just a basic ZigZag visualizer or a simple Quasimodo marker.
Its main differentiator is the way it combines multiple layers of structure validation into one ranked workflow:
- structure recognition
- body-based break confirmation
- momentum alignment
- divergence context
- FVG context
- liquidity sweep context
- freshness filtering
- normalized quality scoring
Instead of showing every possible shape, it tries to separate weaker structural patterns from more meaningful ones.
What makes this script different
The individual concepts used here are known market-structure concepts, but the practical value of the script comes from how they are combined.
Its distinguishing contribution is the orchestration layer:
- the Quality Score model
- the multi-filter ranking process
- the first-touch freshness workflow
- the compact integration of structure, momentum, liquidity, and imbalance into one decision-support tool
In other words, the script is built on generic market-structure concepts, but its filtering and ranking workflow is specific to this implementation.
How to use it in practice
A common workflow is:
- wait for a level to be confirmed
- monitor the first return into that level
- use the score and filter context to judge whether the setup deserves attention
- avoid treating every printed level as a guaranteed reversal
Many users will find it most useful as a structured decision-support tool rather than as a standalone entry engine.
Technical behavior
- Signals are confirmed on bar close.
- Confirmed levels remain fixed after printing.
- The script does not rely on request.security() in the described signal logic.
- No lookahead-based behavior is used in the signal confirmation process.
- The latest developing pivot may evolve while structure is still forming, but confirmed outputs are only printed after confirmation.
Alerts
The script includes on-close alerts when a new bullish or bearish QML level is confirmed.
Alert messages can include contextual details such as:
- direction
- Quality Score
- divergence state
Limitations
This script is a technical analysis tool, not a prediction engine.
Please keep in mind:
- sideways conditions can generate weaker structural setups
- very low timeframes can create more noise and false breaks
- news-driven volatility can invalidate technical levels quickly
- very low ZigZag Sensitivity settings can make ordinary pullbacks look more important than they really are
- no indicator can guarantee that price will react from every marked level
For that reason, the script is best used as a structured analysis tool rather than as a certainty model. Gösterge

Core Structure Break [UkutaLabs]█ OVERVIEW
Core Structure Break is designed to automatically detect Breaks of Structure (BoS) in price action, helping traders quickly identify when the market transitions from one structural phase to another.
A Break of Structure occurs when price moves beyond a previous swing high or swing low, signaling that the current trend may be continuing or shifting. These moments are often where momentum accelerates as liquidity is taken and market participants reposition.
This indicator removes the need to manually track swing points by automatically identifying key structure levels and highlighting when they are broken.
By clearly marking these structural events, traders can better understand trend continuation, potential reversals, and areas where liquidity has likely been taken.
█ FEATURES
Automatic Structure Detection
Identifies important swing highs and lows to define the current market structure.
Break of Structure Signals (BoS)
Highlights when price breaks a previously established structural level.
Bullish & Bearish Structure Breaks
Clearly distinguishes between bullish and bearish structural shifts.
Clean Chart Visualization
Designed to provide clear structural insights without cluttering your chart.
Works Across All Markets & Timeframes
Suitable for Forex, Crypto, Stocks, and Futures on any timeframe.
█ HOW TO USE
Trend Confirmation
A bullish break of structure suggests buyers are in control and the trend may continue upward.
A bearish break of structure suggests sellers are dominating the market.
Continuation Trades
Traders often use BOS signals to confirm that a trend remains intact before entering pullback trades.
Liquidity & Momentum Awareness
Structure breaks frequently occur when liquidity above highs or below lows is taken. This can lead to rapid price movement.
Combine With Other Tools
For best results, use structural breaks alongside other concepts such as:
Support & Resistance
Liquidity Sweeps
Order Blocks
Fair Value Gaps
Trend Indicators
█ WHY MARKET STRUCTURE MATTERS
Markets move in cycles of accumulation, expansion, retracement, and continuation.
Breaks of structure are often the first sign that the next phase has begun.
By identifying these key moments automatically, Core Structure Break helps traders stay aligned with the underlying market structure instead of reacting emotionally to every price movement. Gösterge

Smart Structure Breaks & Order BlocksOverview (What it does)
The indicator “Smart Structure Breaks & Order Blocks” detects market structure using swing highs and lows, identifies Break of Structure (BOS) events, and automatically draws order blocks (OBs) from the origin candle. These zones extend to the right and change color/outline when mitigated or invalidated. By formalizing and automating part of discretionary analysis, it provides consistent zone recognition.
Main Components
Swing Detection: ta.pivothigh/ta.pivotlow identify confirmed swing points.
BOS Detection: Determines if the recent swing high/low is broken by close (strict mode) or crossover.
OB Creation: After a BOS, the opposite candle (bearish for bullish BOS, bullish for bearish BOS) is used to generate an order block zone.
Zone Management: Limits the number of zones, extends them to the right, and tracks tagged (mitigated) or invalidated states.
Input Parameters
Left/Right Pivot (default 6/6): Number of bars required on each side to confirm a swing. Higher values = smoother swings.
Max Zones (default 4): Maximum zones stored per direction (bull/bear). Oldest zones are overwritten.
Zone Confirmation Lookback (default 3): Ensures OB origin candle validity by checking recent highs/lows.
Show Swing Points (default ON): Displays triangles on swing highs/lows.
Require close for BOS? (default ON): Strict BOS (close required) vs loose BOS (line crossover).
Use candle body for zones (default OFF): Zones drawn from candle body (ON) or wick (OFF).
Signal Definition & Logic
Swing Updates: Latest confirmed pivots update lastHighLevel / lastLowLevel.
BOS (Break of Structure):
Bullish – close breaks last swing high.
Bearish – close breaks last swing low.
Only one valid BOS per swing (avoids duplicates).
OB Detection:
Bullish BOS → previous bearish candle with lowest low forms the OB.
Bearish BOS → previous bullish candle with highest high forms the OB.
Zones: Bull = green, Bear = red, semi-transparent, extended to the right.
Zone States:
Mitigated: Price touches the zone → border highlighted.
Invalidated:
Bull zone → close below → turns red.
Bear zone → close above → turns green.
Chart Appearance
Swing High: red triangle above bar
Swing Low: green triangle below bar
Bull OB: green zone (border highlighted on touch)
Bear OB: red zone (border highlighted on touch)
Invalid Zones: Bull zones turn reddish, Bear zones turn greenish
Practical Use (Trading Assistance)
Trend Following Entries: Buy pullbacks into green OBs in uptrends, sell rallies into red OBs in downtrends.
Focus on First Touch: First mitigation after BOS often has higher reaction probability.
Confluence: Combine with higher timeframe trend, volume, session levels, key price levels (previous highs/lows, VWAP, etc.).
Stops/Targets:
Bull – stop below zone, partial take profit at swing high or resistance.
Bear – stop above zone, partial take profit at swing low or support.
Parameter Tuning (per market/timeframe)
Pivot (6/6 → 4/4/8/8): Lower for scalping (3–5), medium for day trading (5–8), higher for swing trading (8–14). Increase to reduce noise.
Strict Break: ON to reduce false breaks in ranging markets; OFF for earlier signals.
Body Zones: ON for assets with long wicks, OFF for cleaner OBs in liquid instruments.
Zone Confirmation (default 3): Increase for stricter OB origin, fewer zones.
Max Zones (default 4 → 6–10): Increase for higher volatility, decrease to avoid clutter.
Strengths
Standardizes BOS and OB detection that is usually subjective.
Tracks mitigation and invalidation automatically.
Adaptable: allows body/wick zone switching for different instruments.
Limitations
Pivot-based: Signals appear only after pivots confirm (slight lag).
Zones reflect past balance: Can fail after new events (news, earnings, macro data).
Range-heavy markets: More false BOS; consider stricter settings.
Backtesting: This script is for drawing/visual aid; trading rules must be defined separately.
Workflow Example
Identify higher timeframe trend (4H/Daily).
On lower TF (15–60m), wait for BOS and new OB.
Enter on first mitigation with confirmation candle.
Stop beyond zone; targets based on R multiples and swing points.
FAQ
Q: Why are zones invalidated quickly?
A: Flow reversal after BOS. Adjust pivots higher, enable Strict mode, or switch to Body zones to reduce noise.
Q: What does “tagged” mean?
A: Price touched the zone once = mitigated. Implies some orders in that zone may have been filled.
Q: Body or Wick zones?
A: Wick zones are fine in clean markets. For volatile pairs with long wicks, body zones provide more realistic areas.
Customization Tips (Code perspective)
Zone storage: Currently ring buffer ((idx+1) % zoneLimit). Could prioritize keeping unmitigated zones.
Automated testing: Add strategy.entry/exit for rule-based backtests.
Multi-timeframe: Use request.security() for higher timeframe swings/BOS.
Visualization: Add labels for BOS bars, tag zones with IDs, count touches.
Summary
This indicator formalizes the cycle Swing → BOS → OB creation → Mitigation/Invalidation, providing consistent structure analysis and zone tracking. By tuning sensitivity and strictness, and combining with higher timeframe context, it enhances pullback/continuation trading setups. Always combine with proper risk management. Gösterge
