Indicator

Sphinx Unicorn - FVG Breaker Nesting ModelDescription:
Sphinx Unicorn identifies a specific price structure from ICT-influenced methodology: a swing point that forms inside an unfilled fair value gap (FVG), which price then reclaims through displacement. This structure is commonly called a "unicorn" — a breaker nested within an FVG. The script scans for these continuously, tracks each candidate through a defined lifecycle, and confirms only those that complete the full sequence.
What makes this different from a generic FVG or order-block indicator
Most FVG scripts simply draw every gap. Most breaker scripts simply mark broken structure. This one requires the two to coincide and survives a multi-stage confirmation before it marks anything as complete:
The nesting test — a swing must sit inside an FVG that is still unfilled at the moment the swing forms. A gap price has already traded through is rejected, which removes the majority of low-quality candidates on intraday timeframes.
The Balanced Price Range (BPR) gate — activation requires the breaking leg to leave its own fair value gap that overlaps the nesting gap. A slow drift through the level does not qualify; only a genuine displacement that creates a second, opposing inefficiency does.
A self-scaling displacement filter — the gap left by the breaking leg must be at least a configurable fraction (default 0.75) of the size of the gap it inverts. This means a large level demands a proportionally decisive break to confirm, while a small level needs less. The threshold scales with the structure itself rather than using a fixed point or tick value, so it adapts across instruments and volatility regimes without re-tuning.
How it calculates
FVGs are detected using the standard three-bar definition (a gap between the first and third bar's wicks). A pivot is qualified as "nested" when its price falls strictly within an unfilled gap's range inside the search window. Overlapping gaps in the same direction are collapsed into a single zone drawn at the largest gap, so clustered inefficiencies read as one level rather than a stack of boxes. Displacement is confirmed on bar close beyond both the swing and the gap's far edge, subject to the BPR and ratio conditions above.
The four zone states
Level (grey, thin): a nested swing that has been superseded by a newer one. Price may still react here, but it is no longer the watched candidate and cannot activate.
Armed (grey, dashed): the current front-runner — the zone actively being evaluated for displacement.
Active (green or red): a confirmed unicorn. The displacement completed with a valid BPR.
Spent (purple): an Active zone that price has since mitigated. It is retained as a reference level, since a proven structure often sees price return to it.
How to use it
This tool marks where a precise entry structure exists. It is not a standalone system and is best used as one input within a layered approach. In practice it is strongest when the confirmed zone aligns with an independently identified key level — for example a higher-timeframe draw on liquidity, a volume or dealer-positioning level, or a session reference — and when it is paired with SMT (Smart Money Technique) divergence read across correlated instruments on the manipulation leg that forms the breaker. A confirmed unicorn sitting at a defended level, with SMT divergence present on that leg, represents the confluence this structure is designed to isolate. A confirmed unicorn with no surrounding context should be treated with more caution.
Alerts are provided for both the arming and activation of a zone, in each direction.
Inputs
Swing strength, FVG search radius, strict-nesting toggle, displacement-close requirement, BPR requirement and lookback, minimum displacement gap size, and the self-scaling displacement ratio. Display controls cover zone colors per state, the on-chart zone limit, and the mitigation rule (touch versus close-through). A diagnostic panel shows a live count of zones in each state.
Limitations and behavior traders should know
The nesting swing is detected using pivots, which require bars on both sides to confirm. A zone therefore arms only after the pivot's right-hand bars have formed; it does not arm on the exact pivot bar in real time.
On strongly trending sessions the model produces few or no setups, because reversals into unfilled opposing gaps are rare in a one-directional market. Empty output in a trend is expected behavior, not a failure.
SMT divergence, referenced above as a recommended confluence, is read by the trader from correlated instruments and is not drawn by this script.
This indicator marks structure. It does not predict direction, guarantee outcomes, or constitute a trading system on its own.
Open-source. Part of the Sphinx suite by Hermetic Trader. Indicator

Order Block Zones | AlphaScriptOrder Block Zones automatically detects and tracks institutional order blocks the candles where significant buying or selling originated and manages each zone through its full lifecycle from formation to mitigation.
💡What an order block is
An order block is the last candle before a strong directional move: the point where institutional orders were placed before price left the area. Traders watch these zones because price often returns to them, using the untraded liquidity as support (bullish OB) or resistance (bearish OB). This tool identifies those zones systematically instead of by eye.
🔍How detection works
Zones are anchored to confirmed swing pivots. A bullish order block is drawn from a down-candle at a confirmed swing low; a bearish order block from an up-candle at a confirmed swing high. Pivots are confirmed using a symmetrical lookback (default 10 bars each side), so a zone only appears after the pivot is fully validated — the detection does not repaint. You can define the zone boundaries two ways: Full Candle (high to low, the complete range) or Body Only (open to close, a tighter zone focused on the candle body).
⚙️Filtering for quality
Not every pivot candle is worth marking. Two optional filters keep the chart focused on significant zones:
ATR Size Filter — the candle's range must exceed a multiple of ATR, so only meaningfully large origin candles qualify.
Volume Filter — the candle's volume must exceed a multiple of its 20-period average, favoring zones formed on genuine participation.
A configurable cap limits how many active zones are tracked per side, keeping the most recent and relevant ones.
🎯Mitigation tracking — the core of the tool
A zone stays active until price invalidates it. You choose how invalidation is measured:
Close mode — the zone is mitigated when a candle closes through it (stricter, fewer false invalidations).
Wick mode — the zone is mitigated on any wick penetration (more sensitive).
When a zone is mitigated you can either remove it (Delete) or leave a dimmed marker where it was (Keep Faded), so you can see where past zones were tested.
📈How to use it
Treat active bullish zones as potential demand (support) and active bearish zones as potential supply (resistance). Watch for price returning to an unmitigated zone as a possible reaction area, and use the mitigation state to know when a level has genuinely failed rather than held. The zone's midline gives a reference level within the block. Combine it with your own structure read and higher-timeframe bias — the tool marks the zones, you make the decisions.
🎨Customization
Zone fill and border opacity, border width, extension length, midline style and width, label size, side, and text, and full color control — so the zones fit your chart rather than forcing a fixed look.
🔔Alerts
Bullish/bearish order block formed, and bullish/bearish order block mitigated.
📌Notes
Zones are drawn from confirmed pivots and evaluated on closed bars only — signals do not repaint intrabar. Detection quality depends on the pivot length and filters; adjust them to your instrument and timeframe. Order blocks mark areas of interest, not guaranteed reversals — always combine with your own analysis and risk management. Indicator

ICT Dealing Range [Malibu]ICT Dealing Range Engine is an open-source market structure and imbalance indicator built to organize multiple ICT-style concepts inside a single live dealing range framework. Instead of plotting Fair Value Gaps, Order Blocks, Breaker Blocks, and equilibrium zones as disconnected elements, this script uses the active dealing range as a structural engine that helps filter, organize, and maintain the most relevant zones around current price.
The purpose of this indicator is not to flood the chart with every possible imbalance or block. Its purpose is to build a cleaner, more contextual map of price by combining dealing range logic, equilibrium, liquidity interaction, market structure shifts, Fair Value Gaps, Inverted Fair Value Gaps, Order Blocks, and Breaker Blocks into one coordinated framework. This makes the script especially useful for traders who want to study price delivery inside a living range rather than treat each concept as an isolated label.
At the center of the script is a rolling dealing range calculated from a user-defined lookback window. The highest high and lowest low within that window define the active range boundaries, while the midpoint defines the equilibrium level. These values are not drawn as static references. They continuously update with market movement, which allows the range to function as a live structural context rather than a fixed historical box. The range can be visually extended to the right and styled with its own fill and boundary colors so that it remains readable without overwhelming the chart.
This range engine is what gives the script its identity. Many indicators can detect FVGs, Order Blocks, or swing-based zones, but they often do so everywhere on the chart without a hierarchy of relevance. In this script, the dealing range can act as a filter, meaning zones can be accepted, preserved, or removed according to whether they belong to the active structural window. That design choice helps reduce clutter and keeps the chart focused on what is currently most relevant from a structural perspective. Instead of treating the range as decoration, the script turns it into the framework that governs how other zones are interpreted.
The indicator can display the active dealing range itself, including the range high, range low, and optional equilibrium line. On top of that structural layer, it can detect bullish and bearish Fair Value Gaps, convert broken gaps into Inverted Fair Value Gaps, identify bullish and bearish Order Blocks after liquidity and structure conditions are met, and build bullish and bearish Breaker Blocks from recent swing relationships. Each of these zone categories can be managed independently, which gives the user control over both logic and presentation.
The Fair Value Gap engine uses a classic three-candle imbalance relationship. A bullish FVG forms when the older candle’s high is below the current candle’s low, creating a void that suggests upward displacement. A bearish FVG forms when the older candle’s low is above the current candle’s high, creating a downward imbalance. This script does not stop at merely finding such gaps. It can also require the gap to be meaningful relative to ATR, which helps ignore very thin or insignificant imbalances that often clutter lower timeframes. Once a qualifying gap is found, it is projected forward as a live zone so the user can monitor future interaction with it.
The Inverted Fair Value Gap logic extends that idea further. If a bullish FVG later breaks to the downside by close, the script can convert it into a bearish IFVG. If a bearish FVG later breaks to the upside by close, it can become a bullish IFVG. This is important because failed imbalances often retain analytical value after polarity changes. Instead of treating a broken gap as useless, the script can reinterpret it as a new directional zone. This creates a more complete picture of how imbalance evolves as price transitions from one state to another.
The Order Block logic is intentionally more selective than simple “last opposite candle” approaches. The script first tracks confirmed pivot highs and pivot lows using the chosen pivot length. Those pivots are then monitored for liquidity sweeps. A move above a stored pivot high marks buy-side liquidity taken, while a move below a stored pivot low marks sell-side liquidity taken. These events alone do not create an Order Block. Instead, they establish the context needed for the next confirmation step.
After liquidity is taken, the script waits for a close-based Market Structure Shift. This means price must actually close through a relevant structural level in the opposite direction before an Order Block candidate is allowed to form. Once that sequence completes, the script scans backward over a configurable number of bars to find the first qualifying opposite candle and uses that candle’s range as the Order Block. In practical terms, after sell-side liquidity is swept and bullish structure shifts, the script searches for a bearish candle to define a bullish OB. After buy-side liquidity is swept and bearish structure shifts, it searches for a bullish candle to define a bearish OB. This makes the Order Block engine more conditional, more context-aware, and less arbitrary than approaches that mark every local opposite candle before a move.
The Breaker Block logic is also structure-driven rather than purely cosmetic. For bearish breakers, the script looks for a high-low-high relationship in which the more recent high exceeds the previous one and price later closes below the intervening low. For bullish breakers, it looks for a low-high-low relationship in which the more recent low undercuts the previous one and price later closes above the intervening high. When those conditions are met, the corresponding region is marked as a Breaker Block. This approach makes breaker creation dependent on actual structural sequencing rather than on a simple visual approximation. To keep the chart readable, the script can also suppress near-duplicate breakers using ATR-based distance checks and remove breaker zones once they exceed a user-defined maximum age.
A major strength of the script is that all of these zones can optionally be filtered through the active dealing range. If enabled, only FVGs, IFVGs, OBs, and BBs that belong to the current structural window are retained. This is one of the main reasons the indicator is useful as a full framework rather than as a loose collection of concepts. The range is not merely a backdrop. It acts as a relevance filter that helps keep attention on the most structurally important zones around current price.
The script also includes a maintenance layer for zone management. Once zones are created, they can be extended forward for continued monitoring. If price invalidates or mitigates a zone, that zone can either be deleted or faded depending on the user’s preference. This is especially useful for traders who want to preserve historical context without keeping fully active boxes on the chart. Breakers can also expire based on age, and every major category has a cap on how many active regions can remain on screen. These controls are important not only for visual clarity but also for overall chart performance and usability.
From a user interface standpoint, the indicator is organized into functional groups so the settings remain easy to understand. The Dealing Range section controls the rolling range window, midpoint visibility, forward extension, and styling for the box and lines. The FVG / IFVG section manages gap detection, range filtering, extension length, and directional colors. The Order Blocks section controls pivot sensitivity, activation, range filtering, extension, scan depth, and color settings. The Breaker Blocks section manages activation, range filtering, extension, age limits, and directional styling. Finally, the Style / Performance section controls label visibility, label color, mitigation fading, faded opacity, and the maximum number of retained zones per category.
This layout is intentional. The script is meant to remain usable for both visual traders and more process-oriented users who want to adjust sensitivity and chart density. A lower pivot length will make the structure engine more reactive, while a higher pivot length will usually produce cleaner but slower structural responses. A shorter range lookback will make the dealing range more adaptive, while a larger one will emphasize broader price boundaries. FVG filtering, zone retention, and fading options can all be adjusted depending on how minimal or information-dense the chart should be.
A practical workflow is to first identify the active dealing range and its equilibrium. That establishes the structural frame. From there, the user can observe which imbalances and reaction zones are forming inside that range, whether price is operating above or below equilibrium, and whether recent liquidity events are producing valid structure shifts. Bullish or bearish FVGs can then be evaluated in the context of current price location, while Order Blocks and Breaker Blocks can be interpreted as more conditionally derived zones that reflect structural responses rather than raw candle patterns. If price later invalidates an FVG and flips it into an IFVG, that polarity change remains visible and can be studied as part of the evolving delivery process.
Key features:
• Rolling dealing range with optional equilibrium line
• Optional dealing-range filter for FVG, IFVG, OB, and BB zones
• ATR-based Fair Value Gap thickness filter
• Sweep + close-based Market Structure Shift logic for Order Blocks
• Structure-based Breaker Block detection
• Inverted Fair Value Gap polarity flips after invalidation
• Zone extension, cleanup, fading, and age controls
• Per-category retention limits for better chart clarity
• Organized input groups for range, FVG/IFVG, OB, BB, and style/performance settings
How to use:
Use the dealing range to define the current structural window, then use equilibrium as the internal reference point of that range. Monitor which FVGs, OBs, and BBs form inside that context, and pay attention to whether price respects, mitigates, invalidates, or flips those zones. The script is most useful when its zones are read as contextual structural areas rather than as automatic signals.
Notes:
This indicator is a chart analysis tool, not a promise of outcome. It does not guarantee direction, entries, or performance. Past market behavior does not guarantee future results. Like any structure- or imbalance-based model, it should be used together with confirmation, risk management, and broader market context.
This script is published as open-source so users can inspect the logic, study the implementation, and adapt the framework for their own research and education. Indicator

Breaker Confluence Engine [Nick789]Breaker Confluence Engine
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Breaker Confluence Engine is built to map out breaker-style zones, Fair Value Gaps, and key confluence areas without making the chart look like a Christmas tree.
The idea is simple:
Use a higher source timeframe to find the important breaker and FVG structure, then project those zones onto the chart you are actually trading from.
So instead of constantly switching timeframes, you can sit on your lower timeframe and still see where the bigger structure is sitting.
This tool is not about throwing random buy and sell labels everywhere. It is designed to help you see where price has shifted, where imbalance is sitting, and where price may react if it comes back for a retest.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT IT DOES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Breaker Zone Detection
The script detects bullish and bearish breaker-style zones using pivot-based swing structure.
These zones help show areas where price has broken through previous structure and may later come back to test that area.
- Bullish breaker zones can act as support
- Bearish breaker zones can act as resistance
- Zones extend forward until tested, filled, or invalidated
- Overlap prevention helps avoid stacking too many similar zones
- Zone limits help keep the chart clean
2. Fair Value Gap Mapping
The script can detect 3-candle Fair Value Gaps from the selected source timeframe and project them onto the current chart.
There is also an optional current-timeframe FVG layer for traders who want more lower-timeframe detail.
Use the source FVGs for the cleaner main view.
Turn on current-timeframe FVGs when you want to dig deeper or review price action.
3. Breaker + FVG Confluence
This is where the tool starts to get interesting.
When a breaker zone lines up with a source-timeframe FVG, the zone is highlighted as a stronger confluence area.
Not every breaker matters.
Not every FVG matters.
But when structure shift and imbalance show up together, that area is worth paying attention to.
4. Zone Rating System
Each zone can be rated using a mix of confluence factors:
- Displacement
- Relative volume
- Directional delta proxy
- Sweep context
- FVG alignment
The rating scale is:
Weak → Interest → Momentum → Absorption → Institutional
This gives you a quick way to separate basic zones from the ones that actually have a bit more story behind them.
Weak zones can stay simple by default, or you can turn on full weak rating details if you want to study everything.
5. Tested and Mitigated Tracking
The script tracks whether a zone is fresh, tested, or already used up.
- Fresh zones show areas price has not returned to yet
- Tested zones show areas price has touched
- Filled or invalidated zones can be hidden automatically
- Or you can fade them for review and back testing
This helps you avoid treating an old used-up zone like it is still fresh.
6. Potential Breaker Zones
The optional Potential Breaker layer gives an early heads-up when price is approaching a prior swing level before a confirmed breaker forms.
It uses an ATR-based proximity threshold.
Think of it as:
“Price is getting close. Something may be building here.”
Potential zones are removed once the breaker confirms or the level gets invalidated.
7. Source Timeframe & Session Control
Choose the source timeframe you want the main logic to come from.
Examples:
- 5m / 15m / 30m for scalping
- 1H / 4H for intraday structure
- 4H / Daily for bigger context
There is also an optional New York session filter for traders who want to focus only on a specific liquidity window.
8. Alerts
The script includes alerts for:
- Bullish breaker events
- Bearish breaker events
- Source-timeframe FVGs
- Current-timeframe FVGs
- Potential breaker events
- Mitigation and fill events
- Master alert for combining events into one cleaner message
The master alert is useful if you do not want a massive alert list or you are setting up webhook-style workflows.
9. Status Table
A small table on the chart shows the main tool status at a glance:
- Source timeframe
- Current chart timeframe
- Session filter
- Source FVG status
- Current-timeframe FVG status
- Potential Breaker status
- Rating status
Simple, clean, and easy to check.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Pick Your Source Timeframe
Choose the timeframe you want the important structure to come from.
For example, you might trade on the 1m or 5m chart, but use 15m or 1H as the source timeframe.
That lets you trade lower-timeframe entries while still respecting the bigger zones.
2. Watch the Breaker Zones
Breaker zones show where price has shifted through prior structure.
If price comes back to that area, it may react, reject, continue, or fail. The zone gives you a place to focus, not a guaranteed trade.
3. Look for Confluence
The best zones usually have more than one thing going for them.
A breaker by itself is okay.
A breaker with FVG alignment, displacement, sweep context, volume, and delta support is much more interesting.
That is the whole point of the tool.
4. Pay Attention to Tested Status
Fresh zones are usually cleaner.
Once price has already tapped, filled, or invalidated a zone, it may not carry the same weight anymore.
The tested and mitigated tracking helps keep that clear.
5. Keep the Chart Clean
For live trading, less is usually better.
A clean setup could be:
- Source FVGs: On
- Current-timeframe FVGs: Optional
- Hide Mitigated: On
- Prevent Overlap: On
- Potential Breakers: Off
- Weak Ratings: Off
For review and back testing, turn more layers on and study how price reacts.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BEST USE CASE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This tool is best used as a structure and confluence map.
It helps answer questions like:
- Where is the higher-timeframe breaker?
- Is there an FVG sitting with it?
- Has the zone already been tested?
- Did price sweep before forming the zone?
- Is the move away strong or weak?
- Is this area actually worth watching?
It is not meant to replace your own trading plan.
It is meant to make the important areas easier to see.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMPORTANT NOTES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Source-timeframe logic confirms after the source candle closes
- The tool uses lookahead-off source timeframe logic
- Current-timeframe FVGs are optional and can add more visual load
- Zone ratings are guides, not guarantees
- Best used on liquid markets with clean price action
- Keep your chart clean if you are using it live
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is for educational and informational use only.
It does not provide financial advice, guaranteed signals, or automatic trade decisions.
Trading involves risk. Always use your own analysis, confirmation, risk management, and testing before making any trading decision. Indicator

PD ArraysHi all!
This indicator is based on my indicator 'Order blocks' () that will show you order blocks (OB) found by the indicator or the once that are in alignment with the current trend.
This indicator will, however, not only show you order blocks but it will also find fair value gaps (FVG). Order blocks and fair value gaps are popular and a big part of inner circle trading (ICT). The true power lies in that the indicator will give you alerts and show you labels for retest ('R'), false breakouts ('FB') and breakouts ('B'). This is possible through my library 'Touched' (). The possibilities of interactions in the form of breakouts allows for the findings of broken order blocks and fair value gaps. That means that this indicator allows the showing of zones that are before the CHoCH/CHoCH+ and has flipped function. So a support becomes resistance and vice versa. These zones are popular and are called breaker blocks (BB, a flipped order block) and inversion fair value gap (IFVG, a flipped fair value gap). If a broken order block is before a BOS (instead of a CHoCH/CHoCH+) it's called a mitigation block (MB) instead of a breaker block, but it has the same function.
So, broken order blocks are called breaker blocks (BB) if they're before a change of character (CHoCH/CHoCH+) and mitigation blocks (MB) if they're before a break of structure (BOS).
Broken fair value gaps are called inversion fair value gaps (IFVG). The following zones will be displayed by the indicator:
• Fair value gaps
• Inversion fair value gaps
• Order blocks
• Breaker blocks
• Mitigation blocks
The trend is based on price action that creates change of characters (CHoCH/CHoCH+) and break of structures (BOS). This is based on pivots/swings with your set length for left and right and is possible through my script 'PriceAction' (). The market structure will be displayed with solid lines and a label showing the type (CHoCH/CHoCH+/BOS).
2 things can invalidate a zone and cause it to disappear;
• broken by price or
• a CHoCH/CHoCH+ appears to start a new trend.
I.e. a bullish zone (OB/FVG/BB/MB/IFVG) will disappear upon the closing price being lower than the zone's low or a bearish CHoCH/CHoCH+ happens. A bullish BB/MB/IFVG means a bearish OB/FVG that has been broken by price and is now bullish.
I've tried to make the ability to find zones to be on a different timeframe than chart (like in my script 'Order blocks') but I have not found it to be reliable yet, so the zones are found on the chart's timeframe. I will keep working on making it more reliable, but for now it's only possible to find them on the chart's timeframe.
The default settings will show you all zones (OB/FVG) and their broken version (BB/MB/IFVG). If the trend is bullish it will show bullish OBs and bullish FVGs and bearish OBs/FVGs that are broken and now are bullish (BB/MB/IFVG), and vice versa. OBs and FVGs will be displayed as soon as they are found, IFVGs when it's broken by price and BBs/MBs upon the next structural break (CHoCH/CHoCH+/BOS). All zones within a CHoCH/CHoCH+ (from the high/low pivot that's broken to when it's broken by price) will be kept to be take action on by the script's code. They're hidden until they make sense regarding to the new trend that's determined by the 'PriceAction' library.
Settings
• Keep history
Check this if you want old zones to be kept (from previous trends). They are removed if they are broken or a CHoCH/CHoCH+ appears.
PD ARRAYS
• Fair value gaps
Show fair value gaps or not.
• Inversion fair value gaps
Show inversion fair value gaps or not.
• Order blocks
Show order blocks or not.
• Breaker blocks
Show breaker blocks or not.
• Mitigation blocks
Show mitigation blocks or not.
FAIR VALUE GAPS
• Consecutive rising/falling
The candles in the reaction must consecutivly rise or fall (the 'hl2' must be rising/falling).
• Force strong
If this is enabled it will force the FVG middle candle to have a higher/lower 'hl2' (middle of the entire candle) than the first candle's high.
• Hide consecutive zones
If multiple fair value gaps are found after each other only the first one will be found by the indicator.
• Minimum size
A factor of the Average True Range (of length 14) that the size of the fair value gap must have.
ORDER BLOCKS
• Reaction
A factor of the Average True Range (of length 14) that the total reaction must have. A higher value will create fewer zones with a bigger reaction. And check the checkbox if you want the limit to be displayed.
• Take out
The bar that start the reaction must take out the previous bar high/low (liquidity sweep).
• Consecutive rising/falling
The candles in the reaction must consecutivly rise or fall.
• Fair value gap
The middle bar in the order block must create a fair value gap.
• Hide consecutive zones
If multiple order blocks are found after each other only the first one will be found by the indicator.
DISPLAY
• Bull
The color for bullish zones (OB or FVG). This is the color before a breakout from the price, if it's broken by price once its a bearish zone instead.
• Bear
The color for bearish zones (OB or FVG). This is the color before a breakout from the price, if it's broken by price once its a bullish zone instead.
MARKET STRUCTURE
• Enable
If zones found should follow market structure or not. This is automatically enabled if 'Current trend' is true.
• Pivot
Set the length of pivots and check if they should be shown or not.
• Font size
Set the font size of market structure text.
ALERT
• Retests
Enable alerts for retest.
• False breakouts
Enable alerts for false breakouts.
• Breakouts
Enable alerts for breakouts.
Examples
Below will be some examples of how the indicator behaves. All the examples are with the default settings but only the example zone is visible.
• This demonstrates a retest of an inversion fair value gap after a CHoCH+. After price goes higher (after that support) price retests later IFVGs and goes even higher.
• Shows the lowest bullish fair value gap that's retested two times and goes higher. On the journey of higher prices more FVGs are retested/has false breakouts and price goes higher.
• Shows a bearish order block (at the top) that's retested and price goes lower.
• Shows a bearish breaker block that has two retests and a false breakout. The origin is a bullish order block that's now (after price has broken it) a bearish breaker block. After that resistance price goes lower.
• Shows a retest of a bullish mitigation block (that's a broken bearish order block).
The code for finding these PD Arrays are extracted to my library 'PDArrays' ().
I hope that this indicator will help you in your trading and I've been trying to make an indicator like this for a very long time. Many new tries, a lot of time spent and lots of lines of code I managed to make one that I think is good enough!
If you have any findings of unexpected behavior or feature of, feel free to reach out!
Best of luck trading! Indicator

PDArraysLibrary "PDArrays"
Hi all!
This library will help you to draw fair value gaps and order blocks and their broken version; breaker blocks, mitigation blocks and inversion fair value gaps.
It does not contain any example code, but I will create an indicator called 'PD Arrays' that uses this library.
Best of luck trading!
Remove(zones, settings)
Removes the zone in 'zones.Remove' and its visuals. The visuals will be kept if 'settings.KeepHistoryZones' is true.
Parameters:
zones (Zones) : The current zone.
settings (Settings) : Set all values in this parameter to define the settings for the zones.
Interactions(zones, settings, trend)
Sets the interactions (retests\false breakouts\breakouts) from the library 'Touched'.
Parameters:
zones (array)
settings (Settings) : set all values in this parameter to define the settings for the order block creation.
trend (int) : the market structure trend that's used for the integrations direction. 1 = bullish, -1 = bearish, 0 = both.
HiddenInteractions(zones, settings, marketStructureInfo, trend)
Sets the hidden interactions (only breakouts) from the library 'Touched'.
Parameters:
zones (Zones)
settings (Settings) : set all values in this parameter to define the settings for the order block creation.
marketStructureInfo (MarketStructureInfo) : The state of market structure needed.
trend (int) : the market structure trend that's used for the integrations direction. 1 = bullish, -1 = bearish, 0 = both.
Pivots(settings)
Creates pivots (high and low) to be used for order block creation.
Parameters:
settings (Settings) : set all values in this parameter to define the settings for the order block creation.
Returns: a tuple containing two pivot values (high and low) or 'na'
OrderBlock(settings, pivotHigh, pivotLow)
Creates an order block if one is found according to the settings parameter.
Parameters:
settings (Settings) : set all values in this parameter to define the settings for the order block creation.
pivotHigh (float) : The high pivot to use.
pivotLow (float) : The low pivot to use.
Returns: a Zone object if an order block is found, na otherwise
FairValueGap(settings)
Creates a fair value gap if one is found according to the settings parameter.
Parameters:
settings (Settings) : set all values in this parameter to define the settings for the fair value gap creation.
Returns: a Zone object if a fair value gap is found, na otherwise
SetBarIndex(zone)
Sets the 'BarIndex' value of the 'zone' object according to 'zone.ChartBaseTime'.
Parameters:
zone (Zone) : The 'Zone' object to set the bar index on.
MarketStructureZones(marketStructureInfo, foundZones, zones, priceAction, settings)
Creates/draws zones (order blocks and fair value gaps) depending on the current market structure from the price action.
Parameters:
marketStructureInfo (MarketStructureInfo) : The infirmation about the market structure from the price action.
foundZones (array) : All zones (order blocks and fair value gaps) to take action on.
zones (Zones) : The 'Zones' object that holds the current context.
priceAction (PriceAction type from mickes/PriceAction/5) : The 'PriceAction.PriceAction' object from the library 'PriceAction'.
settings (Settings) : set all values in this parameter to define the settings for the fair value gap creation.
Visual
Holds the visual elements or the zone.
Fields:
Boxes (array) : All the visual boxes.
Lines (array) : All the visual lines.
Labels (array) : All the visual labels.
Zone
Holds the values for visuals for the zone and to handle interactions (retests, false breakouts and breakouts).
Fields:
BaseTimeClose (series int) : The time close for the start of the zone.
FoundTimeClose (series int) : The time close for the zone when it's found.
ChartBaseTime (series int) : The time for the start of the zone according to the chart bar.
High (series float) : The maximimum price of the zone.
Low (series float) : The minimum price of the zone.
ReactionLimit (series float) : Set a factor (%) of the Average True Range (of length 14) that the total reaction must have.
TouchedZone (Zone type from mickes/Touched/17) : Zone object that will be created and sent to the library 'Touched'.
Visual (Visual) : An object that holds the visual elements for the zone.
SourceTimeframeSeconds (series int) : The 'timeframe.in_seconds' for the zone.
Direction (series int) : Defines if the found zone is bullish (1) or bearish (-1).
LatestRetestBarIndex (series int) : The latest 'bar_index' for a retest.
LatestFalseBreakoutBarIndex (series int) : The latest 'bar_index' for a false breakout.
LatestBreakoutBarIndex (series int) : The latest 'bar_index' for a breakout.
BarIndex (series int) : The chart's timeeframe 'bar_index'.
OriginType (series Type) : The 'Type' for the origin (order block or fair value gap).
Type (series Type) : The type of the zone.
Visible (series bool) : If the zone is drawn and not removed or re-drawn.
Zones
Holds the values for the charts zones.
Fields:
Zones (array) : The currently active zones.
Removes (array) : Reprsents the zones that will be replaced.
HiddenZones (array) : The currently hidden zones.
OrderBlockSettings
The settings specific for order block creation.
Fields:
TakeOut (series bool) : If the bas candle needs to be higher\lower than the previous candle (liquidity sweep\grab).
FairValueGap (series bool) : If there needs o be a fair value gap between the first and the last (third) candle of the order block.
ConsecutiveRisingOrFalling (series bool) : The candles in the reaction must consecutivly rise or fall (the 'hl2' must be rising/falling).
ReactionFactor (series float) : A factor of the Average True Range (of length 14) that the total reaction must have. A higher value will create fewer zones with a bigger reaction. And check the checkbox if you want the limit to be displayed.
ShowReaction (series bool) : Show a solid line for the reaction limit.
HideConsecutiveZones (series bool) : If multiple order blocks are found after each other only the first one will be found by the indicator.
FairValueGapSettings
The settings specific for fair value gap creation.
Fields:
ConsecutiveRisingOrFalling (series bool) : The candles in the reaction must consecutivly rise or fall (the 'hl2' must be rising/falling).
Strong (series bool) : If this is enabled it will force the FVG middle candle to have a higher/lower 'hl2' (middle of the entire candle) than the first candle's high.
HideConsecutiveZones (series bool) : If multiple order blocks are found after each other only the first one will be found by the indicator.
MinimumSizeFactor (series float) : A factor of the Average True Range (of length 14) that the size of the fair value gap must have.
Settings
The settings for the creation of order blocks and fair value gaps. You will need to set all the containing values in here.
Fields:
KeepHistoryZones (series bool) : Set to true if you want removed (from previous trend) zones to be displayed.
Bull (series color) : The color of bullish zones.
Bear (series color) : The color of bearish zones.
CreateCreationZone (series bool) : Set to true if you want a box with a border to be drawn at the creation of the zone. This is usefull when the zones comes from a higher timeframe, but not from a lower. If this is false the 'Draw()' function will start at 'time - time_close'.
AlertRetests (series bool) : Enable if you want alerts to fire when the 'Touched' library signals that a retest of the order block has occured.
AlertFalseBreakouts (series bool) : Enable if you want alerts to fire when the 'Touched' library signals that a false breakout of the order block has occured.
AlertBreakouts (series bool) : Enable if you want alerts to fire when the 'Touched' library signals that a breakout of the order block has occured.
AlertMessageFormat (series string) : Set the format of the fired alert uppon 'Touched' library signals. Need to be in the format of '{0} on order block from ...' where '{0}' is replaced with 'retest', 'false breakout' or 'breakout'.
Types (array) : All types that should be displayed.
FairValueGapSettings (FairValueGapSettings) : The settings for the creation of fair value gaps.
OrderBlockSettings (OrderBlockSettings) : The settings for the creation of order blocks.
MarketStructurePivot
Pivot The 'PriceAction.Pivot' for the market structure.
Fields:
BrokenBarIndex (series int)
Pivot (Pivot type from mickes/PriceAction/5)
MarketStructureInfo
Holds the needed market structure pivots needed for this library.
Fields:
LatestBreakOfStructure (MarketStructurePivot) : The latest break of structure (BOS) found by the 'PriceAction' library.
LatestChangeOfCharacter (MarketStructurePivot) : The latest change of character (CHoCH\CHoCH+) found by the 'PriceAction' library. Library

ICT Order Block ProOverview
The ICT Order Block Pro is a comprehensive, quantitative trading system designed to mechanically identify high-probability Order Blocks (OBs) based on strict Inner Circle Trader (ICT) concepts.
Unlike standard indicators that simply highlight large candles, this script acts as a "Narrative Engine." It demands that specific market conditions—such as liquidity sweeps, structural shifts, and session timing—are met before an Order Block is validated. Furthermore, it dynamically projects the Draw on Liquidity (DOL) to provide mechanical Take Profit targets.
Core Concepts & Educational Logic
For an Order Block to be considered high-probability in the ICT methodology, it must be the origin of a significant change in the state of delivery. This script validates setups based on the following sequence:
The Purge (Liquidity Sweep): The swing that forms the OB must first sweep a short-term liquidity pool (prior highs/lows). If an OB forms in the middle of a range without taking liquidity, it is ignored.
The Shift (MSS): The displacement away from the OB must aggressively break a recent structural pivot, confirming institutional sponsorship.
The Imbalance: The displacement must leave behind a Fair Value Gap (FVG).
PD Array Alignment: The script dynamically calculates the current dealing range (or utilizes HTF ranges) to ensure bullish setups only trigger in a Discount, and bearish setups only trigger in a Premium.
Key Features
1-2-3 Draw on Liquidity (DOL) Targeting: The script runs a background algorithm to map unmitigated Buy-Side (BSL) and Sell-Side (SSL) liquidity pools. When a valid OB forms, a dashed target line automatically projects toward the closest opposing liquidity pool.
Breaker Block Conversion: Order blocks are not simply deleted when mitigated. If price closes through an OB's Mean Threshold (50% mark), the script dynamically flips its polarity, converting it into a Breaker Block (+BRK / -BRK) for secondary entries.
Higher Timeframe (HTF) Nesting: The indicator continuously monitors your chosen HTF. If a Current Timeframe (CT) Order Block forms inside an active HTF Order Block of the same direction, it is marked with a star (★) to denote high confluence.
Algorithmic Macros & Kill Zones: Built-in session filters allow you to restrict OB detection strictly to the NY AM/PM Kill Zones or specific "Silver Bullet" algorithmic macro windows (e.g., 09:50–10:10 AM EST).
Strict Mean Threshold Invalidation: Instead of waiting for a full candle close outside the OB, the script invalidates or converts the block the moment a candle body closes past the 50% Mean Threshold.
How to Use This Indicator
Wait for the Setup: Look for a highlighted OB to appear during your active session.
Confirm the Target: Note the dashed Draw on Liquidity line projecting from the OB. This is your mechanical target.
Execution: Enter when price taps the OB box. Place your stop loss just outside the box (or at the Mean Threshold if using strict validation).
Breaker Scenarios: If your primary OB fails and converts into a Breaker Block, monitor for a return to the Breaker for a continuation trade in the opposite direction.
Customization (Engine Tuning)
Every market is fractal, and volatility differs across assets. You can fully tune the engine in the settings:
Adjust the lookback lengths for the Liquidity Sweeps and Market Structure Shifts (e.g., increase lengths for 1m scalping, decrease for 1H swing trading).
Toggle between Dynamic Fractal Dealing Ranges or static HTF ranges for Premium/Discount filtering.
Customize all visual elements, including Breaker colors, target lines, and macro background highlights.
Disclaimer: This script is designed for educational and analytical purposes only. It does not constitute financial advice. Always backtest mechanical systems thoroughly on your specific asset and timeframe before live trading. Indicator

Imbalance Cartograph [JOAT]Imbalance Cartograph
Introduction
The Imbalance Cartograph is an advanced open-source price imbalance mapping engine that identifies, tracks, and manages Fair Value Gaps (FVGs) and Supply/Demand zones across multiple layers. It goes far beyond basic FVG detection by adding auto-mitigation, volume filtering, transparency fade for aging zones, stacked imbalance detection, confluence highlighting, nearest zone radar, imbalance density scoring, and a comprehensive 15-row dashboard. Every zone is non-repainting and drawn only on confirmed bars.
The core idea is simple but powerful: institutional order flow creates imbalances in price delivery. These imbalances — gaps where price moved too fast for the market to fill, and zones where large orders were placed — act as magnets that price tends to revisit. By mapping all active imbalances and tracking their lifecycle, traders can identify high-probability areas where institutional interest exists.
Why This Indicator Exists
Fair Value Gaps and Supply/Demand zones are among the most discussed concepts in Smart Money methodology, yet most indicators that detect them are simplistic: they draw a box when a gap forms and leave it there indefinitely, with no lifecycle management, no volume confirmation, and no way to assess how many imbalances are clustered near current price.
The Imbalance Cartograph solves these problems by treating imbalances as living entities with a full lifecycle:
Creation: FVGs are detected using the standard three-candle gap pattern, but filtered by volume (only gaps formed on above-average volume qualify by default). Supply/Demand zones are created at swing pivots using configurable pivot lengths.
Aging: Older zones progressively fade in transparency, giving visual priority to fresh zones while keeping historical context visible.
Testing: When price returns to a zone, it transitions from "fresh" to "tested" with a color change, indicating the zone has been challenged but not broken.
Mitigation: FVGs are automatically deleted when price fills the gap completely. Supply zones broken by price can convert to breaker blocks (polarity flip).
Confluence: When an FVG overlaps with a Supply/Demand zone, the overlap area is highlighted as a high-probability confluence zone.
Layer 1: Fair Value Gaps
FVGs represent gaps in price delivery where the market moved so aggressively that it left unfilled space between candles. The indicator detects both bullish and bearish FVGs:
Bullish FVG: Current candle's low is above the candle-two-bars-ago's high, and the middle candle closed above that high. This creates an upward gap in price delivery.
Bearish FVG: Current candle's high is below the candle-two-bars-ago's low, and the middle candle closed below that low. This creates a downward gap.
Each FVG is drawn as a colored box extending forward (default 50 bars) with optional price labels showing the exact gap range.
Volume Filter: When enabled (default), FVGs only qualify if the middle candle's volume exceeds the 20-bar average. This filters out low-conviction gaps that are less likely to act as institutional reference points.
Auto-Mitigation: When enabled (default), FVGs are automatically deleted when price fills the gap. For bullish FVGs, this means price's low touches the top of the gap. For bearish FVGs, price's high reaches the bottom. The indicator tracks mitigation counts for the dashboard.
Stacked Imbalance Detection: When two or more consecutive FVGs form in the same direction, the indicator marks them as "STACKED" with a count. Stacked FVGs indicate sustained institutional pressure — the market is creating gap after gap in the same direction, which is a strong directional signal.
Layer 2: Supply and Demand Zones
Supply and Demand zones are created at swing pivot points detected using ta.pivothigh() and ta.pivotlow() with a configurable pivot length (default 10 bars).
Supply Zones: Created at swing highs. The zone extends from the swing high candle's high down to the candle body (max of open, close). These represent areas where selling pressure overwhelmed buying.
Demand Zones: Created at swing lows. The zone extends from the swing low candle's low up to the candle body (min of open, close). These represent areas where buying pressure overwhelmed selling.
Zone Lifecycle:
Fresh: Newly created zone, bright color, never tested
Tested: Price has returned to the zone but not broken through. Color shifts to indicate the zone has been challenged.
Broken/Breaker: When price breaks through a zone completely, it can optionally convert to a "breaker block" — the zone flips polarity (old supply becomes potential demand, and vice versa). This is a key Smart Money concept.
Overlap Prevention: New zones are checked against existing zones using an ATR-based threshold. If a new zone would overlap with an existing one, it is not drawn, keeping the chart clean.
BOS Lines: When price breaks through a supply or demand zone, a Break of Structure (BOS) line is drawn at the broken level, marking the structural shift.
Transparency Fade: When enabled, older zones gradually become more transparent based on their age in bars. This creates a natural visual hierarchy where fresh zones stand out and old zones fade into the background.
Advanced Features
Imbalance Confluence Detection:
The indicator checks whether any active FVG overlaps with any active Supply/Demand zone. When they overlap, the confluence area is highlighted with a gold-colored marker. These confluence zones represent areas where two independent institutional concepts agree — a gap in price delivery coincides with a structural supply or demand level. These are among the highest-probability zones on any chart.
Nearest Zone Radar:
The indicator continuously calculates the distance from current price to the nearest active zone (supply or demand). The dashboard displays the zone type, distance in ATR multiples, and direction. This gives traders an instant read on how close they are to the next potential reaction area.
Imbalance Density:
The indicator counts how many active FVGs and S/D zones exist within 3 ATR of current price and produces a density score (0-10). High density means price is surrounded by multiple imbalances — a "thick" area where reactions are likely. Low density means price is in "clean" territory with fewer institutional reference points.
15-Row Dashboard
Rows 1-2: Bull FVG and Bear FVG counts with stacked status
Rows 3-4: Supply and Demand zone counts with lifecycle state (Fresh/Tested)
Row 5: Breaker block count
Row 6: FVG fill rate (percentage of FVGs that have been mitigated)
Row 7: Nearest zone type, distance, and direction
Row 8: Imbalance density score and classification
Row 9: Confluence detection status (active/none)
Row 10: Stacked imbalance status
Row 11: Zone age (average bars since creation for active zones)
Row 12: Supply retest count and demand retest count
Row 13: Market bias based on imbalance distribution (more bull FVGs + demand = bullish)
Rows 14-15: Total FVG and zone statistics
Input Parameters
Fair Value Gaps:
Show FVGs (default on), FVG Extend bars (default 50), Max FVGs Displayed (default 15)
Auto-Mitigate FVGs (default on) — delete when price fills the gap
Volume Filter (default on) — only show FVGs with above-average volume
Supply / Demand Zones:
Show Zones (default on), Pivot Length (default 10), Max Zones (default 15)
Show BOS Lines (default on), Convert to Breaker (default on)
Fade Old Zones (default on) — transparency increases with age
Advanced Features:
Show Confluence Zones (default on), Show Stacked Imbalances (default on)
Show Price Labels on Zones (default on)
How to Use This Indicator
Step 1: Identify Active Imbalances
Look at the chart for active FVG boxes and S/D zones. Fresh zones (brighter colors) are more likely to produce reactions than tested or faded zones.
Step 2: Check Imbalance Density
The dashboard's density score tells you whether price is in a zone-rich or zone-poor area. High density (7+) means multiple imbalances are nearby — expect reactions. Low density (0-2) means price is in clean delivery territory.
Step 3: Watch for Confluence
When the dashboard shows "CONFLUENCE ACTIVE," an FVG overlaps with a S/D zone. These are the highest-probability reaction areas. Consider these zones for entries with tight stops.
Step 4: Monitor Stacked FVGs
Stacked FVGs (2+ consecutive gaps in the same direction) indicate strong institutional pressure. The market is not pausing to fill gaps — it is aggressively displacing price. Trade in the direction of stacked FVGs.
Step 5: Use Nearest Zone for Targets
The nearest zone radar tells you how far price is from the next potential reaction. Use this for setting take-profit targets or anticipating where price may stall.
Step 6: Track Mitigation Rate
The FVG fill rate shows what percentage of gaps have been filled. A high fill rate suggests the market is efficiently filling imbalances (range-bound behavior). A low fill rate suggests strong trending where gaps are being left behind.
Limitations
FVG detection uses a standard three-candle pattern. Not all gaps are created by institutional activity — news events and low-liquidity periods can create gaps that lack institutional significance.
Supply/Demand zones are based on swing pivots, which require a lookback period. The pivot length parameter significantly affects zone placement — shorter lengths create more zones, longer lengths create fewer but more significant zones.
Auto-mitigation deletes FVGs when price touches the gap boundary. In some cases, price may wick into a gap without truly filling it. The indicator treats any touch as mitigation.
Volume filtering uses the 20-bar volume average. On instruments with irregular volume patterns (e.g., crypto on weekends), this filter may be too aggressive or too lenient.
The indicator draws on confirmed bars only (barstate.isconfirmed), so zones appear one bar after the pattern completes. This is intentional to prevent repainting.
Imbalance zones show where institutional interest existed historically. They do not guarantee future price reactions.
Originality Statement
This indicator is original in its comprehensive lifecycle approach to imbalance mapping. While FVG detection and S/D zones exist in other scripts, this indicator is justified because:
It treats imbalances as entities with a full lifecycle (creation, aging, testing, mitigation, breaker conversion) rather than static drawings
The volume filter ensures only institutionally-significant FVGs are displayed, reducing noise from low-conviction gaps
Transparency fade creates a natural visual hierarchy that no static-color indicator provides
Stacked imbalance detection identifies consecutive FVGs as a measure of institutional pressure — a concept not available in standard FVG indicators
Confluence detection between FVGs and S/D zones creates a cross-layer analysis that identifies the highest-probability reaction areas
Nearest zone radar and imbalance density scoring provide quantitative measures of the imbalance environment around current price
The combination of FVG lifecycle management, S/D zone tracking with breaker conversion, confluence detection, density scoring, and a comprehensive dashboard creates a unified imbalance analysis system not available in any single existing indicator
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors.
Price imbalances are historical observations about where gaps and zones formed. They do not predict future price movement. While price often revisits imbalances, there is no guarantee that any specific FVG will be filled or that any S/D zone will produce a reaction.
Always use proper risk management. Never risk more than you can afford to lose. The author is not responsible for any losses incurred from using this indicator.
-Made with passion by officialjackofalltrades
Indicator

ICT Unicorn Model [UAlgo]ICT Unicorn Model is a chart overlay indicator that automates a practical interpretation of the ICT “Unicorn” concept by combining two core components: a Market Structure Shift style Breaker Block (BB) and a Fair Value Gap (FVG). The script first builds a rolling pivot map using configurable left and right pivot bars, then monitors those pivots for structure breaks that qualify as bullish or bearish breaker blocks. Separately, it detects 3 candle FVG imbalances with a minimum size filter. A Unicorn is confirmed when a newly printed FVG overlaps an active breaker block of the same direction.
The output is built for real trading workflows and chart readability. Breaker blocks and FVGs can exist independently, but when they align, the script highlights the overlap region as a Unicorn zone and labels it. All zones extend forward in time and are automatically removed when mitigation or invalidation conditions are met. Optional session filtering is included to restrict detection to a specific trading window for killzone style usage.
Educational tool only. Not financial advice.
🔹 Features
🔸 1) Pivot Based Structure Mapping
The indicator uses built-in pivot detection to create a reliable swing framework. Both pivot highs and pivot lows are stored as structured objects that keep track of pivot time, bar index, pivot price, pivot direction, and whether that pivot has already been “broken” to prevent repeated processing. This pivot map becomes the backbone of the breaker block engine, allowing the script to reference meaningful swing points instead of reacting to minor noise.
🔸 2) Breaker Block Detection via Market Structure Shift Logic
Breaker blocks are created when price breaks through an unbroken pivot in a way that signals a directional shift in structure.
Bullish Breaker Block: price closes above an unbroken pivot high, then the script validates the context by locating two pivot lows around that pivot high and requiring a lower low relationship between them (LL style confirmation in this implementation). Once confirmed, a bullish breaker block zone is stored using the pivot candle’s full range.
Bearish Breaker Block: price closes below an unbroken pivot low, then the script validates the context by locating two pivot highs around that pivot low and requiring a higher high relationship between them (HH style confirmation in this implementation). Once confirmed, a bearish breaker block zone is stored using the pivot candle’s full range.
🔸 3) Fair Value Gap Detection with Minimum Size Filter
The FVG engine detects classic 3 candle price imbalances:
Bullish FVG: current low is above high from two bars ago.
Bearish FVG: current high is below low from two bars ago.
A minimum FVG size filter is applied using raw price points so you can ignore tiny gaps that are usually filled immediately. This makes the script easier to adapt across different markets and timeframes.
🔸 4) Unicorn Confirmation via Directional Overlap
A Unicorn is confirmed only when a newly printed FVG overlaps an active breaker block and both are in the same direction. The overlap test is a standard price interval intersection check, and the direction match ensures bullish FVGs only confirm bullish unicorns and bearish FVGs only confirm bearish unicorns.
When a Unicorn is confirmed, the script draws a dedicated Unicorn zone covering the combined overlap footprint and prints a simple Bull or Bear label directly on the chart.
🔸 5) Optional Session Filter for Killzone Style Workflows
A session filter can restrict detection to a specific time window. If enabled, the script only runs breaker block detection, FVG detection, and Unicorn confirmation while the current bar is inside the selected session. This is useful when you only want signals during higher participation windows.
🔸 6) Automatic Forward Extension, Mitigation, and Cleanup
All zones behave as live objects:
Breaker block boxes extend forward until invalidation.
FVG boxes extend forward until mitigation.
Unicorn boxes extend forward until the associated FVG mitigation condition is met.
When a zone is mitigated or invalidated, its box and label objects are deleted and removed from internal arrays. This keeps the chart clean and prevents stale zones from accumulating.
🔸 7) Object and Memory Management for Chart Stability
The script uses arrays of custom types (Pivot, BreakerBlock, FVG, Unicorn) and enforces internal history limits to reduce clutter and object growth. Older items are shifted out when limits are exceeded, and graphical objects are deleted when no longer valid to maintain stable chart performance.
🔹 Calculations
1) Time Filter (Session Gate)
If the time filter is disabled, detection runs on every bar. If enabled, detection only runs when the chart time is inside the selected session.
in_session = not use_time_filter or time(timeframe.period, time_session) != 0
Interpretation:
If use_time_filter is false, in_session is always true.
If use_time_filter is true, time() returns non-zero only while the bar is inside the session.
2) Pivot Detection and Pivot Object Storage
Pivot highs and lows are detected using PulseWire pivot functions with user-defined left and right bars. Pivots are confirmed after right_bars bars, so the stored pivot time and bar index are offset by right_bars to align the pivot to the originating candle.
ph = ta.pivothigh(high, left_bars, right_bars)
pl = ta.pivotlow(low, left_bars, right_bars)
When a pivot is found:
array.unshift(pivots, Pivot.new(time , bar_index , ph, true, false, high , low ))
The pivot list is capped to keep the script lightweight:
if array.size(pivots) > 20
array.pop(pivots)
3) Bullish Breaker Block Detection
A bullish breaker is triggered when price closes above an unbroken pivot high. The script then searches for pivot lows around that pivot high and requires a lower low relationship between them. If this context check passes, the pivot is marked as broken and a bullish breaker block is stored.
if p.isHigh and not p.isBroken and close > p.price
...
if foundLL
p.isBroken := true
array.push(active_bbs, BreakerBlock.new(p.time, p.index, p.highPrice, p.lowPrice, true, true, na))
Breaker block zone definition is derived from the pivot candle:
Top = pivot candle high
Bottom = pivot candle low
4) Bearish Breaker Block Detection
A bearish breaker is triggered when price closes below an unbroken pivot low. The script then searches for pivot highs around that pivot low and requires a higher high relationship between them. If this context check passes, the pivot is marked as broken and a bearish breaker block is stored.
if not p.isHigh and not p.isBroken and close < p.price
...
if foundHH
p.isBroken := true
array.push(active_bbs, BreakerBlock.new(p.time, p.index, p.highPrice, p.lowPrice, false, true, na))
5) Fair Value Gap Detection and Sizing
Bullish FVG requires current low to be above high .
Bearish FVG requires current high to be below low .
A minimum size filter is applied in points:
bool isBullishFVG = low > high and (low - high ) >= fvg_min_volume
bool isBearishFVG = high < low and (low - high) >= fvg_min_volume
FVGs are stored with their start anchored to bar_index and time , matching the gap’s originating structure:
if isBullishFVG
array.push(active_fvgs, FVG.new(time , bar_index , low, high , true, false, na))
if isBearishFVG
array.push(active_fvgs, FVG.new(time , bar_index , low , high, false, false, na))
6) Overlap Rule for Unicorn Confirmation
A Unicorn requires overlap plus direction agreement. The overlap is calculated as an interval intersection:
method overlaps(BreakerBlock this, FVG fvg) =>
bool isOverlapping = (fvg.bottom <= this.top) and (fvg.top >= this.bottom)
isOverlapping and (this.isBullish == fvg.isBullish)
Interpretation:
The FVG range must intersect the breaker block range, and both must be bullish or both bearish.
7) Unicorn Zone Construction
When a new FVG prints, the script compares it against all active breaker blocks. If an overlap is found, it creates a Unicorn zone and a Bull or Bear label. The Unicorn box boundaries are computed using min and max edges between the BB and FVG:
float topEdge = math.min(bb.top, latestFVG.top)
float bottomEdge = math.max(bb.bottom, latestFVG.bottom)
The Unicorn zone is then drawn and extended forward.
8) Mitigation and Invalidation Logic
Breaker Block invalidation
Bullish BB invalidates if close goes below BB bottom.
Bearish BB invalidates if close goes above BB top.
if (bb.isBullish and close < bb.bottom) or (not bb.isBullish and close > bb.top)
bb.isActive := false
if not na(bb.bbBox)
box.delete(bb.bbBox)
array.remove(active_bbs, i)
FVG mitigation
Bullish FVG mitigates if close goes below FVG bottom.
Bearish FVG mitigates if close goes above FVG top.
if (fvg.isBullish and close < fvg.bottom) or (not fvg.isBullish and close > fvg.top)
fvg.isMitigated := true
if not na(fvg.fvgBox)
box.delete(fvg.fvgBox)
array.remove(active_fvgs, i)
Unicorn mitigation
Unicorn zones are removed when the associated FVG mitigation condition is met:
bool isMitigated = (uni.isBullish and close < uni.fvg.bottom) or (not uni.isBullish and close > uni.fvg.top)
if isMitigated
box.delete(uni.uniBox)
label.delete(uni.uniLabel)
array.remove(unicorns, i)
9) Forward Extension and Internal Limits
Boxes are extended on each bar by updating right = bar_index + 5 to keep them projected slightly forward. Arrays are capped to control history size and object usage:
if array.size(active_bbs) > 50
array.shift(active_bbs)
if array.size(active_fvgs) > 50
array.shift(active_fvgs)
if array.size(unicorns) > 50
array.shift(unicorns) Indicator

Breaker Blocks Finder | Gold | ProjectSyndicateProjectSyndicate Breaker Blocks Finder
📊 Overview
The ProjectSyndicate Breaker Blocks Finder (PS BB Finder) is a professional-grade Pine Script indicator designed to detect and display Bullish and Bearish Breaker Blocks based on Smart Money Concepts (SMC) methodology. This indicator is specifically optimized for XAUUSD (Gold) trading but works reliably across all symbols and timeframes.
Key Features
✅ Non-Repainting: Breaker blocks never change position after formation
✅ Multi-Timeframe Support: Optimized for M5, M10, M15, M20, M30, and H1
✅ Highly Customizable: 10+ user-configurable settings
✅ Visual Clarity: Color-coded boxes and labels for easy identification
✅ Performance Optimized: Handles 1000+ candles without lag
✅ Cross-Symbol Compatible: Works on Forex, Crypto, Stocks, Indices, and Commodities
✅ Displacement Detection: Uses ATR-based displacement to filter false signals
🎯 What are Breaker Blocks?
A Breaker Block is a failed order block that becomes a new support or resistance zone after being invalidated by price. It represents a market structure shift where institutional traders (smart money) have flipped their position.
Bullish Breaker Block
A Bullish Breaker Block forms when:
1 A bearish order block (resistance zone) exists
2 Price breaks ABOVE this zone with strong displacement
3 The former resistance zone now becomes SUPPORT
4 Price may retest this zone before continuing higher
Visual: Green box with "BB ▲" label
Bearish Breaker Block
A Bearish Breaker Block forms when:
5 A bullish order block (support zone) exists
6 Price breaks BELOW this zone with strong displacement
7 The former support zone now becomes RESISTANCE
8 Price may retest this zone before continuing lower
Visual: Red box with "BB ▼" label
⚙️ Default Settings
Setting Default Range Description
Lookback Period 1000 100-5000 Number of historical candles to analyze
Max Breaker Blocks 5 1-50 Maximum number of breaker blocks to display
Swing Detection Length 10 2-20 Bars on each side to confirm swing high/low. Higher = more significant swings
Use Displacement Filter true true/false Enable to filter breaker blocks by displacement size
Displacement Multiplier 2.0 0.5-5.0 Minimum move size as multiple of ATR. Higher = stricter detection
Invalidation Method Close Close/Wick Close = Conservative (candle must close beyond zone)Wick = Aggressive (wick touch is enough)
📈 Recommended Timeframes & Settings
This indicator is optimized for the following timeframes. Use these settings as a starting point.
Lower Timeframes (M5, M10, M15, M20)
These settings are designed to capture faster price movements and are the default settings for the indicator.
Setting Recommended Value
Lookback Period 1000
Max Breaker Blocks 5
Swing Detection Length 10
Use Displacement Filter true
Displacement Multiplier 2.0
Invalidation Method Close
Higher Timeframes (M30, H1)
For these timeframes, a less strict displacement filter is recommended to capture more significant, but less frequent, breaker blocks.
Setting Recommended Value
Lookback Period 1000
Max Breaker Blocks 5
Swing Detection Length 10
Use Displacement Filter true
Displacement Multiplier 1.0
Invalidation Method Close
🎓 How to Use
Step 1: Identify Breaker Blocks
Once the indicator is loaded, breaker blocks will automatically appear on your chart:
• Green boxes = Bullish breaker blocks (former resistance, now support)
• Red boxes = Bearish breaker blocks (former support, now resistance)
Step 2: Wait for Retest
The most reliable trading opportunities occur when price retests the breaker block zone:
• For bullish breaker blocks, wait for price to come back down to the green zone
• For bearish breaker blocks, wait for price to come back up to the red zone
Step 3: Look for Confluence
Combine breaker blocks with other SMC concepts for higher probability setups:
• Fair Value Gaps (FVG) within the breaker block zone
• Liquidity grabs before the retest
• Break of Structure (BoS) or Change of Character (ChoCH) confirmation
Step 4: Enter the Trade
Bullish Setup:
• Entry: At or near the bullish breaker block zone
• Stop Loss: Below the breaker block
• Take Profit: Previous swing high or higher
Bearish Setup:
• Entry: At or near the bearish breaker block zone
• Stop Loss: Above the breaker block
• Take Profit: Previous swing low or lower
🛡️ Non-Repainting Guarantee
This indicator is 100% non-repainting, meaning:
✅ Breaker blocks never change position after formation
✅ Historical breaker blocks remain in the exact same location indefinitely
✅ Backtesting results are reliable and consistent
🐛 Troubleshooting
Issue: No Breaker Blocks Appearing
Solutions:
• Ensure "Use Displacement Filter" is enabled.
• On M30/H1, try lowering the "Displacement Multiplier" to 1.0.
• Scroll back in history; blocks may not be present on the most recent bars.
Issue: Too Many Breaker Blocks
Solutions:
• Increase "Displacement Multiplier" to 2.5 or 3.0.
• Increase "Swing Detection Length" to 12-15.
• Decrease "Max Breaker Blocks" to 3-4. Indicator

ICT Setup 02 [TradingFinder] Breaker Blocks + Reversal Candles🔵 Introduction
The "Breaker Block" concept, widely utilized in ICT (Inner Circle Trader) technical analysis, is a crucial tool for identifying reversal points and significant market shifts. Originating from the "Order Block" concept, Breaker Blocks help traders pinpoint support and resistance levels. These blocks are essential for understanding market trends and recognizing optimal entry and exit points.
A Breaker Block is essentially a failed Order Block that changes its role when price action breaks through it. When an Order Block fails to hold as a support or resistance level, it reverses its function, becoming a Breaker Block.
There are two primary types : Bullish Breaker Blocks and Bearish Breaker Blocks. These Breaker Blocks align with the prevailing market trend and indicate potential entry points after a liquidity sweep or a shift in market structure.
Understanding and applying the Breaker Block strategy enables traders to capitalize on the behavior of institutional investors, enhancing their trading outcomes.
Bullish Setup :
Bearish Setup :
🔵 How to Use
The ICT Setup 02 indicator designed to automate the identification of Bullish and Bearish Breaker Blocks. This tool enables traders to easily spot these blocks on a chart and utilize them for entering or exiting trades. Below is a breakdown of how to use this indicator in both bullish and bearish setups.
🟣 Bullish Breaker Block Setup
A Bullish Breaker Block setup is identified in an uptrend, where it serves as a potential entry point. This setup occurs when a Bearish Order Block fails and the price moves above the high of that Order Block. In this scenario, the previously bearish Order Block turns into a Bullish Breaker Block, which now acts as a support level for the price.
To trade a Bullish Breaker Block, wait for the price to retest this newly formed support level. Confirmation of the uptrend can be achieved by analyzing lower time frames for further market structure shifts or other bullish indicators.
A successful retest of the Bullish Breaker Block provides a high-probability entry point for a long trade, as it signals institutional support. Traders often place their stop-loss below the low of the Breaker Block zone to minimize risk.
🟣 Bearish Breaker Block Setup
A Bearish Breaker Block setup, conversely, is used in a downtrend to identify potential sell opportunities. This setup forms when a Bullish Order Block fails, and the price moves below the low of that Order Block.
Once this Order Block is broken, it reverses its role and becomes a Bearish Breaker Block, providing resistance to the price as it pushes downward. For a Bearish Breaker Block trade, wait for the price to retest this resistance level.
A confirmation of the downtrend, such as a market structure shift on a lower time frame or additional bearish signals, strengthens the setup. The Bearish Breaker Block retest provides an opportunity to enter a short position, with a stop-loss placed just above the high of the Breaker Block zone.
🔵 Settings
Pivot Period : This setting controls the look-back period used to identify pivot points that contribute to the detection of Order Blocks. A higher period captures longer-term pivots, while a lower period focuses on more recent price action. Adjusting this parameter allows traders to fine-tune the indicator to match their trading time frame.
Breaker Block Validity Period : This setting defines how long a Breaker Block remains valid based on the number of bars elapsed since its formation. Increasing the validity period keeps Breaker Blocks active for a longer duration, which can be useful for higher time frame analysis.
Mitigation Level BB : This option lets traders choose the level of the Order Block at which the price is expected to react. Options like "Proximal," "50% OB," and "Distal" adjust the zone where a reaction may occur, offering flexibility in setting up the entry and stop-loss levels.
Breaker Block Refinement : The refinement option refines the Breaker Block zone to display a more precise range for aggressive or defensive trading approaches. The "Aggressive" mode provides a tighter range for risk-tolerant traders, while the "Defensive" mode expands the zone for those with a more conservative approach.
🔵 Conclusion
The Breaker Block indicator provides traders with a sophisticated tool for identifying key reversal zones in the market. By leveraging Breaker Blocks, traders can gain insights into institutional order flow and predict critical support and resistance levels.
Using Breaker Blocks in conjunction with other ICT concepts, like Fair Value Gaps or liquidity sweeps, enhances the reliability of trading signals. This indicator empowers traders to make informed decisions, aligning their trades with institutional moves in the market.
As with any trading strategy, it is crucial to incorporate proper risk management, using stop-losses and position sizing to minimize potential losses. The Breaker Block strategy, when applied with discipline and thorough analysis, serves as a powerful addition to any trader’s toolkit.
Indicator

Volumetric Volatility Breaker Blocks [UAlgo]The "Volumetric Volatility Breaker Blocks " indicator is designed for traders who want a comprehensive understanding of market volatility combined with volume analysis. This indicator provides a clear visualization of significant volatility areas (or blocks), characterized by price movements that exceed a specific volatility threshold, as calculated using the ATR (Average True Range). The concept is enhanced by integrating volume-based insights, offering a view of market activity that helps users to recognize when significant price changes are being supported by an appropriate level of market participation.
The indicator calculates breaker blocks for both bullish and bearish market conditions, providing distinct visual elements that identify periods of high volatility and substantial volume divergence. The focus on both volume and volatility makes this tool versatile, allowing traders to assess the strength of price movements as well as areas where price might break above or below previously established levels.
It supports adjustable parameters, such as volatility length, smoothness factor, and volume display, allowing traders to fine-tune the indicator according to their trading strategy and market environment. The highlighted breaker blocks assist in identifying zones of potential price reversal or continuation, which can be critical for making informed trading decisions.
🔶 Key Features
Volatility-Based Block Identification: The indicator uses the Average True Range (ATR) to determine the volatility of the market. When the ATR exceeds a specified threshold (smooth ATR multiplied by a user-defined multiplier), it highlights these areas as volatility blocks. The idea is to mark periods where price activity is significantly divergent from normal conditions, which often signals market opportunities.
Volume Integrated Analysis: In addition to tracking volatility, the indicator incorporates volume data, allowing traders to see the amount of activity that occurs during these high-volatility periods. This helps in identifying whether a price movement is likely sustainable or whether it lacks market support.
User Adjustable Parameters: The indicator offers customization options for the volatility length (using ATR), smooth length, and multiplier for sensitivity adjustment. These settings enable users to modify the indicator’s responsiveness to market conditions.
The option to display the last few volatility blocks allows traders to manage clutter on their charts and focus only on the most recent significant data.
Mitigation Method: Users can select between different mitigation methods ("Close" or "Wick") to determine how blocks are broken. This adds an extra layer of adaptability, allowing traders to modify the indicator's response based on different price action strategies.
Dynamic Visual Representation: The indicator dynamically draws boxes for volatility blocks and shades them according to market direction, with split areas showing the bullish and bearish strength contributions. It also provides percentage volume for each block, helping traders understand the relative market participation during these moves.
🔶 Interpreting the Indicator
Identifying High Volatility Areas: When a new volatility block appears, it signifies that the market is experiencing higher-than-usual volatility, driven by increased ATR values. Traders should pay attention to these blocks, as they often indicate that a significant price move is occurring. Bullish blocks suggest upward pressure, whereas bearish blocks indicate downward pressure.
Volume Insights: The volume associated with each volatility block provides an insight into how much market participation accompanies these moves. Higher volume within a block implies that the market is actively supporting the price change, which may be a sign of continuation. Low volume suggests that the movement may lack the strength to persist.
Bullish vs. Bearish Strength Analysis: Each block is split into bullish and bearish strength, giving a clearer picture of what’s happening within the volatility period. If the bullish portion dominates, it indicates strong upward sentiment during that period. Conversely, if the bearish side is more prominent, there is more selling pressure. This breakdown helps in understanding intra-block market dynamics.
Volume Percentage Display: The indicator also displays the volume percentage in each block, which provides context for the strength of the move relative to recent market activity. Higher percentages mean more market engagement, which could confirm the legitimacy of a trend or a significant breakout.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results. Indicator

Volatility Breaker Blocks [BigBeluga]The Volatility Breaker Blocks indicator identifies key market levels based on significant volatility at pivot highs and lows. It plots blocks that act as potential support and resistance zones, marked in green (support) and blue (resistance). Even after a breakout, these blocks leave behind shadow boxes that continue to impact price action. The sensitivity of block detection can be adjusted in the settings, allowing traders to customize the identification of volatility breakouts. The blocks print triangle labels (up or down) after breakouts, indicating potential areas of interest.
🔵 IDEA
The Volatility Breaker Blocks indicator is designed to highlight key areas in the market where volatility has created significant price action. These blocks, created at pivot highs and lows with increased volatility, act as potential support and resistance levels.
The idea is that even after price breaks through these blocks, the remaining shadow boxes continue to influence price movements. By focusing on volatility-driven pivot points, traders can better anticipate how price may react when it revisits these areas. The indicator also captures the natural tendency for price to retest broken resistance or support levels.
🔵 KEY FEATURES & USAGE
◉ High Volatility Breaker Blocks:
The indicator identifies areas of high volatility at pivot highs and lows, plotting blocks that represent these zones. Green blocks represent support zones (identified at pivot lows), while blue blocks represent resistance zones (identified at pivot highs).
Support:
Resistance:
◉ Shadow Blocks after Breakouts:
When price breaks through a block, the block doesn't disappear. Instead, it leaves behind a shadow box, which can still influence future price action. These shadow blocks act as secondary support or resistance levels.
If the price crosses these shadow blocks, the block stops extending, and the right edge of the box is fixed at the point where the price crosses it. This feature helps traders monitor important price levels even after the initial breakout has occurred.
◉ Triangle Labels for Breakouts:
After the price breaks through a volatility block, the indicator prints triangle labels (up or down) at the breakout points.
◉ Support and Resistance Retests:
One of the key concepts in this indicator is the retesting of broken blocks. After breaking a resistance block, price often returns to the shadow box, which then acts as support. Similarly, after breaking a support block, price tends to return to the shadow box, which becomes a resistance level. This concept of price retesting and bouncing off these levels is essential for understanding how the indicator can be used to identify potential entries and exits.
The natural tendency of price to retest broken resistance or support levels.
Additionaly indicator can display retest signals of broken support or resistance
◉ Customizable Sensitivity:
The sensitivity of volatility detection can be adjusted in the settings. A higher sensitivity captures fewer but more significant breakouts, while a lower sensitivity captures more frequent volatility breakouts. This flexibility allows traders to adapt the indicator to different trading styles and market conditions.
🔵 CUSTOMIZATION
Calculation Window: Defines the window of bars over which the breaker blocks are calculated. A larger window will capture longer-term levels, while a smaller window focuses on more recent volatility areas.
Volatility Sensitivity: Adjusts the threshold for volatility detection. Lower sensitivity captures smaller breakouts, while higher sensitivity focuses on larger, more significant moves.
Retest Signals: Display or hide retest signals of shadow boxes
Indicator

Price Action Volumetric Breaker Blocks [UAlgo]The Price Action Volumetric Breaker Blocks indicator is designed to identify and visualize significant price levels in the market. It combines concepts of price action, volume analysis, and market structure to provide traders with a comprehensive view of potential support and resistance areas. This indicator identifies "breaker blocks," which are price zones where the market has shown significant interest in the past.
These blocks are created based on swing highs and lows, and are further analyzed using volume data to determine their strength. The indicator also tracks market structure shifts, providing additional context to price movements.
By visualizing these key levels and market structure changes, traders can gain insights into potential areas of price reversal or continuation, helping them make more informed trading decisions.
🔶 Key Features
Dynamic Breaker Block Identification: The indicator automatically detects and draws breaker blocks based on swing highs and lows. These blocks represent areas of potential support and resistance.
Volume-Weighted Strength Analysis: Each breaker block is analyzed using volume data to determine its bullish and bearish strength. This is visually represented by the proportion of green (bullish) and red (bearish) coloring within each block.
Market Structure Break (MSB) and Break of Structure (BOS): The indicator identifies and labels Market Structure Breaks (MSB) and Break of Structure (BOS) events, providing context to larger market trends.
Customizable Settings:
- Adjustable swing length for identifying pivot points
- Option to show a specific number of recent breaker blocks
- Choice between wick or close price for violation checks
- Toggle to hide overlapping blocks for cleaner analysis
Violation Detection: Automatically detects when a breaker block has been violated (broken through), either by wick or close price, depending on user settings.
Overlap Control: Provides an option to hide overlapping order blocks, ensuring that the chart remains clean and easy to read when multiple blocks are detected in close proximity.
🔶 Interpreting Indicator
Breaker Blocks:
Breaker blocks are key areas where the price moves through and invalidates a previously identified order block. The indicator detects a breaker block when the price violates an order block by exceeding its high or low (depending on whether it's a bullish or bearish block). This violation is determined by either the wick or the close of a candle, depending on the user's selection in the "Violation Check" setting. When a breaker block is detected, the indicator removes the violated order block from the chart, signaling that the zone is no longer relevant for future price action.
Bullish Breaker Block: This occurs when a bearish order block (red) is violated by the price closing above the block’s top boundary or when the wick surpasses this level. It signals that a prior bearish structure has been invalidated, and the market may shift to a bullish trend.
Bearish Breaker Block: This occurs when a bullish order block (teal) is violated by the price closing below the block’s bottom boundary or when the wick drops below it. It suggests that a previous bullish structure has been broken, indicating potential bearish momentum.
Market Structure Labels:
"MSB" (Market Structure Break) labels indicate a potential change in trend direction.
"BOS" (Break of Structure) labels confirm the continuation of the current trend after breaking a significant level.
Block Strength:
A block with more green indicates stronger bullish interest.
A block with more red indicates stronger bearish interest.
The relative sizes of the green and red portions show the balance of power between buyers and sellers at that level.
🔶 Disclaimer
Use with Caution: This indicator is provided for educational and informational purposes only and should not be considered as financial advice. Users should exercise caution and perform their own analysis before making trading decisions based on the indicator's signals.
Not Financial Advice: The information provided by this indicator does not constitute financial advice, and the creator (UAlgo) shall not be held responsible for any trading losses incurred as a result of using this indicator.
Backtesting Recommended: Traders are encouraged to backtest the indicator thoroughly on historical data before using it in live trading to assess its performance and suitability for their trading strategies.
Risk Management: Trading involves inherent risks, and users should implement proper risk management strategies, including but not limited to stop-loss orders and position sizing, to mitigate potential losses.
No Guarantees: The accuracy and reliability of the indicator's signals cannot be guaranteed, as they are based on historical price data and past performance may not be indicative of future results. Indicator

Pure Price Action ICT Tools [LuxAlgo]The Pure Price Action ICT Tools indicator is designed for pure price action analysis, automatically identifying real-time market structures, liquidity levels, order & breaker blocks, and liquidity voids.
Its unique feature lies in its exclusive reliance on price patterns, without being constrained by any user-defined inputs, ensuring a robust and objective analysis of market dynamics.
🔶 MARKET STRUCTURES
A Market Structure Shift, also known as a Change of Character (CHoCH), is a pivotal event in price action analysis indicating a potential change in market sentiment or direction. An MSS occurs when the price reverses from an established trend, signaling that the prevailing trend may be losing momentum and a reversal might be underway. This shift is often identified by key technical patterns, such as a higher low in a downtrend or a lower high in an uptrend, which indicate a weakening of the current trend's strength.
A Break of Structure typically indicates the continuation of the current market trend. This event occurs when the price decisively moves beyond a previous swing high or low, confirming the strength of the prevailing trend. In an uptrend, a BOS is marked by the price breaking above a previous high, while in a downtrend, it is identified by the price breaking below a previous low.
While a Market Structure Shift (MSS) can indicate a potential trend reversal and a Break of Structure (BOS) often confirms trend continuation, they do not assure a complete reversal or continuation. MSS and BOS levels can also function as liquidity zones or areas of price consolidation rather than definitively signaling a change in market direction. Traders should approach these signals cautiously and validate them with additional factors before making trading decisions. For further details on other components of the tool, please refer to the following sections.
🔶 ORDER & BREAKER BLOCKS
Order and Breaker Blocks are key concepts in price action analysis that help traders identify significant levels in the market structure.
Order Blocks are specific price zones where significant buying or selling activity has occurred. These zones often represent the actions of large institutional traders or market makers, who execute substantial orders that impact the market.
Breaker Blocks are specific price zones where a strong reversal occurs, causing a break in the prevailing market structure. These blocks indicate areas where the price encountered significant resistance or support, leading to a reversal.
In summary, Order and Breaker Blocks are essential tools in price action analysis, providing insights into significant market levels influenced by institutional trading activities. These blocks help traders make informed decisions about potential support and resistance levels, trend reversals, and breakout confirmations.
🔶 BUYSIDE & SELLSIDE LIQUIDITY
Both buy-side and sell-side liquidity zones are critical for identifying potential turning points in the market. These zones are where significant buying or selling interest is concentrated, influencing future price movements.
In summary, buy-side and sell-side liquidity provide crucial insights into market demand and supply dynamics, helping traders make informed decisions based on the availability of orders at different price levels.
🔶 LIQUIDITY VOIDS
Liquidity voids are gaps or areas on a price chart where there is a lack of trading activity. These voids represent zones with minimal to no buy or sell orders, often resulting in sharp price movements when the market enters these areas.
In summary, liquidity voids are crucial areas on a price chart characterized by a lack of trading activity. These voids can lead to rapid price movements and increased volatility, making them essential considerations for traders in their analysis and decision-making processes.
🔶 SWING POINTS
Reversal price points are commonly referred to as swing points. Traders often analyze historical swing points to discern market trends and pinpoint potential trade entry and exit points.
Do note that in this script these are subject to backpainting, that is they are not located where they are detected.
The detection of swing points and the unique feature of this script rely exclusively on price action, eliminating the need for numerical user-defined settings. The process begins with detecting short-term swing points:
Short-Term Swing High (STH): Identified as a price peak surrounded by lower highs on both sides.
Short-Term Swing Low (STL): Recognized as a price trough surrounded by higher lows on both sides.
Intermediate-term and long-term swing points are detected using the same approach but with a slight modification. Instead of directly analyzing price candles, previously detected short-term swing points are utilized. For intermediate-term swing points, short-term swing points are analyzed, while for long-term swing points, intermediate-term ones are used.
This method ensures a robust and objective analysis of market dynamics, offering traders reliable insights into market structures. Detected swing points serve as the foundation for identifying market structures, buy-side/sell-side liquidity levels, and order and breaker blocks presented with this tool.
In summary, swing points are essential elements in technical analysis, helping traders identify trends, support, and resistance levels, and optimal entry and exit points. Understanding swing points allows traders to make informed decisions based on the natural price movements in the market.
🔶 SETTINGS
🔹 Market Structures
Market Structures: Toggles the visibility of the market structures, both shifts and breaks.
Detection: An option that allows users to detect market structures based on the significance of swing levels, including short-term, intermediate-term, and long-term.
Market Structure Labels: Controls the visibility of labels that highlight the type of market structure.
Line Style: Customizes the style of the lines representing the market structure.
🔹 Order & Breaker Blocks
Order & Breaker Blocks: Toggles the visibility of the order & breaker blocks.
Detection: An option that allows users to detect order & breaker blocks based on the significance of swing levels, including short-term, intermediate-term, and long-term.
Last Bullish Blocks: Number of the most recent bullish order/breaker blocks to display on the chart.
Last Bearish Blocks: Number of the most recent bearish order/breaker blocks to display on the chart.
Use Candle Body: Allows users to use candle bodies as order block areas instead of the full candle range.
🔹 Buyside & Sellside Liquidity
Buyside & Sellside Liquidity: Toggles the visibility of the buyside & sellside liquidity levels.
Detection: An option that allows users to detect buy-side & sell-side liquidity based on the significance of swing levels, including short-term, intermediate-term, and long-term.
Margin: Sets margin/sensitivity for a liquidity level detection.
Visible Levels: Controls the amount of the liquidity levels/zones to be visualized.
🔹 Liquidity Voids
Liquidity Voids: Enable display of both bullish and bearish liquidity voids.
Threshold Multiplier: Defines the multiplier for the threshold, which is hard-coded to the 200-period ATR range.
Mode: Controls the lookback length for detection and visualization. Present considers the last X bars specified in the option, while Historical includes all available data.
Label: Enable display of a label indicating liquidity voids.
🔹 Swing Highs/Lows
Swing Highs/Lows: Toggles the visibility of the swing levels.
Detection: An option that allows users to detect swing levels based on the significance of swing levels, including short-term, intermediate-term, and long-term.
Label Size: Control the size of swing level labels.
🔶 RELATED SCRIPTS
Pure-Price-Action-Structures.
Market-Structures-(Intrabar).
Buyside-Sellside-Liquidity.
Order-Breaker-Blocks.
Indicator

ICT Unicorn | Flux Charts💎 GENERAL OVERVIEW
Introducing our new ICT Unicorn Indicator! This indicator is built around the ICT's "Unicorn" strategy. The strategy uses Breaker Blocks and Fair Value Gaps for entry confirmation. For more information about the process, check the "HOW DOES IT WORK" section.
Features of the new ICT Unicorn Indicator :
Implementation of ICT's Unicorn Strategy
Toggleable Retracement Entry Method
3 Different TP / SL Methods
Customizable Execution Settings
Customizable Backtesting Dashboard
Alerts for Buy, Sell, TP & SL Signals
📌 HOW DOES IT WORK ?
The ICT Unicorn entry model merges the concepts of Breaker Blocks and Fair Value Gaps (FVGs), offering a distinct method for identifying trade opportunities. By integrating these two elements, we can have a position entry with stop-loss and take-profit targets on the potential support & resistance zones. This model is particularly reliable for trade entry, as it combines two powerful entry techniques.
An ICT Unicorn Model consists of a FVG which is overlapping with a Breaker Block of the same type. Here is an example :
When a FVG overlaps with a Breaker Block of the same type, the indicator gives a Buy or Sell signal depending on the FVG type (Bullish & Bearish). If the "Require Retracement" option is enabled in the settings, the signals are not given immediately. Instead, the current price of the ticker will need to touch the FVG once more before the signals are given.
After the Buy or Sell signal, the indicator immediately draws the take-profit (TP) and stop-loss (SL) targets. The indicator has three different TP & SL modes, explained in the "Settings" section of this write-up.
You can set up alerts for entry and TP & SL signals, and also check the current performance of the indicator and adjust the settings accordingly to the current ticker using the backtesting dashboard.
🚩 UNIQUENESS
This indicator is an all-in-one suit for the ICT's Unicorn concept. It's capable of plotting the strategy, giving signals, a backtesting dashboard and alerts feature. Different and customizable algorithm modes will help the trader fine-tune the indicator for the asset they are currently trading. Three different TP / SL modes are available to suit your needs. The backtesting dashboard allows you to see how your settings perform in the current ticker. You can also set up alerts to get informed when the strategy is executable for different tickers.
⚙️ SETTINGS
1. General Configuration
FVG Detection Sensitivity -> You may select between Low, Normal, High or Extreme FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
Swing Length -> Swing length is used when finding order block formations. Smaller values will result in finding smaller order & breaker blocks.
Require Retracement ->
a) Disabled : The entry signal is given immediately once a FVG overlaps with a Breaker Block of the same type.
b) Enabled : The current price of the ticker will need to touch the FVG once more before the entry signal is given.
2. TP / SL
TP / SL Method ->
a) Unicorn : This is the default option. The SL will be set to the lowest low of the last 100 bars with an extra offset in a Buy signal. For Sell signals, the SL will be set to the highest high of the last 100 bars with an extra offset. The TP is then set to a value using the SL value and maintaining a risk-reward ratio.
b) Dynamic: The TP / SL zones will be auto-determined by the algorithm based on the Average True Range (ATR) of the current ticker.
c) Fixed : You can adjust the exact TP / SL ratios from the settings below.
Dynamic Risk -> The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted. Indicator

Unicorn ICT Signals [TradingFinder] Breaker Block + FVG Zones🔵 Introduction
The "ICT Unicorn Model" trading strategy in the "Inner Circle Trader" (ICT) style is one of the well-known strategies in the world of Forex and financial market trading.
The ICT methodology was developed by Michael Huddleston and is based on technical analysis and Price Action concepts.
This style focuses specifically on interpreting price movements and identifying optimal entry and exit points in the market.
In the Unicorn strategy, traders seek points where the probability of price reversal or trend continuation is high. This strategy is primarily based on recognizing and analyzing Price Action patterns and market structure.
By understanding"ICT Unicorn Model", traders can make more informed decisions about where to enter or exit trades, thereby increasing their chances of success in the market.
🟣 Understanding the Breaker Block
A Breaker Block is a specialized form of an Order Block that changes its role after a key market level is broken. Typically, an Order Block is an area on the chart where large institutional orders are likely to be placed, providing strong support or resistance.
However, when this area is breached, and the price moves in the opposite direction, it transforms into what is known as a Breaker Block. This shift indicates a reversal in market sentiment, turning the previous support into resistance or vice versa, thereby signaling a potential trend change to traders.
🟣 The Significance of the Fair Value Gap (FVG)
The Fair Value Gap (FVG) refers to an area on a price chart where the price rapidly moves through a level, leaving behind a gap. This gap represents an imbalance between supply and demand and is often seen as a potential area for price to return and fill the gap.
These zones are crucial for traders as they can indicate future price movements, providing opportunities to enter or exit trades.
🟣 Defining the ICT Unicorn Model
When an FVG overlaps with a Breaker Block, it forms a highly significant trading area known as a Unicorn. This overlap creates an ideal zone for traders to enter the market, as it combines two powerful technical signals.
The Unicorn Model is therefore considered an optimal strategy for identifying precise entry and exit points in the financial markets.
Demand ICT Unicorn Model :
Supply ICT Unicorn Model :
🔵 How to Use
🟣 Bullish ICT Unicorn
The Bullish ICT Unicorn model is applicable when the market is in an uptrend, and traders are seeking buying opportunities.
Follow these steps to identify Bullish ICT Unicorn :
Identify the Bullish Breaker Block : Locate an area where the price moved upward after breaking an Order Block. This area now acts as a Breaker Block.
Identify the Bullish FVG : Look for a Fair Value Gap near the Breaker Block.
Confirm the Unicorn : When the Bullish Breaker Block and Bullish FVG overlap, a Bullish Unicorn is confirmed. Traders can enter a buy position when the price returns to this zone.
🟣Bearish ICT Unicorn
The Bearish ICT Unicorn model is used when the market is in a downtrend, and traders are looking for selling opportunities.
To identify Bearish ICT Unicorn, follow these steps :
Identify the Bearish Breaker Block : Find an area where the price moved downward after breaking an Order Block. This area now acts as a Breaker Block.
Identify the Bearish FVG : Check if a Fair Value Gap has formed near the Breaker Block.
Confirm the Unicorn : When the Bearish Breaker Block and Bearish FVG overlap, a Bearish Unicorn is confirmed. Traders can enter a sell position when the price returns to this zone.
🔵 Setting
🟣 Global Setting
Pivot Period of Order Blocks Detector : Enter the desired pivot period to identify the Order Block.
Order Block Validity Period (Bar) : You can specify the maximum time the Order Block remains valid based on the number of candles from the origin.
Mitigation Level Breaker Block : Determining the basic level of a Breaker Block. When the price hits the basic level, the Breaker Block due to mitigation.
Mitigation Level FVG : Determining the basic level of a FVG. When the price hits the basic level, the FVG due to mitigation.
Mitigation Level Unicorn : Determining the basic level of a Unicorn Block. When the price hits the basic level, the Unicorn Block due to mitigation.
🟣 Unicorn Block Display
Show All Unicorn Block : If it is turned off, only the last Order Block will be displayed.
Demand Unicorn Block : Show or not show and specify color.
Supply Unicorn Block : Show or not show and specify color.
🟣 Breaker Block Display
Show All Breaker Block : If it is turned off, only the last Breaker Block will be displayed.
Demand Main Breaker Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
Supply Main Breaker Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
🟣 Fair Value Gap Display
Show Bullish FVG : Toggles the display of demand-related boxes.
Show Bearish FVG : Toggles the display of supply-related boxes.
🟣 Logic Settings
🟣 Order Block Refinement
Refine Order Blocks : Enable or disable the refinement feature. Mode selection.
🟣 FVG Filter
FVG Filter : This refines the number of identified FVG areas based on a specified algorithm to focus on higher quality signals and reduce noise.
Types of FVG filters :
Very Aggressive Filter: Adds a condition where, for an upward FVG, the last candle's highest price must exceed the middle candle's highest price, and for a downward FVG, the last candle's lowest price must be lower than the middle candle's lowest price. This minimally filters out FVGs.
Aggressive Filter: Builds on the Very Aggressive mode by ensuring the middle candle is not too small, filtering out more FVGs.
Defensive Filter: Adds criteria regarding the size and structure of the middle candle, requiring it to have a substantial body and specific polarity conditions, filtering out a significant number of FVGs.
Very Defensive Filter: Further refines filtering by ensuring the first and third candles are not small-bodied doji candles, retaining only the highest quality signals.
🟣 Alert
Alert Name : The name of the alert you receive.
Alert ICT Unicorn Model Block Mitigation :
On / Off
Message Frequency :
This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone :
The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
🔵Conclusion
The Unicorn Model in ICT, utilizing the concepts of Breaker Blocks and Fair Value Gaps, provides an effective tool for identifying entry and exit points in financial markets. By offering more precise signals, this model helps traders make better decisions and minimize trading risks.
Success in applying this model requires practice and a deep understanding of market structure, but it can significantly improve trading performance.
Indicator

Breaker Blocks + Order Blocks confirm [TradingFinder] BBOB Alert🔵 Introduction
In the realm of technical analysis, various tools and concepts are employed to identify key levels on price charts. These tools assist traders in analyzing market trends with greater precision, enabling them to optimize their trading decisions. Among these tools, the Order Block and Breaker Block hold a significant place, serving as effective instruments for analyzing market structure.
🟣 Order Block
An Order Block refers to zones on a chart where large financial institutions and high-volume traders place their orders. Due to the substantial volume of buy or sell orders in these areas, they are often regarded as pivotal points for potential price reversals or temporary pauses in a trend. Order Blocks are particularly crucial when prices react to these zones after a strong market move, acting as strong support or resistance levels.
🟣 Breaker Block
On the other hand, a Breaker Block refers to areas on a chart that previously functioned as Order Blocks but where the price has managed to break through and continue in the opposite direction. These zones are typically recognized as key points where market trends might shift, helping traders identify potential reversal points in the market.
🟣 Overlapping Block (BBOB)
Now, imagine a scenario where these two essential concepts in technical analysis—Order Blocks and Breaker Blocks—overlap on a chart. Although this overlap is not specifically discussed within the ICT (Inner Circle Trader) trading framework, exploring and utilizing this overlap can provide traders with powerful insights into strong support and resistance zones. The combination of these two robust concepts can highlight critical areas in trading, potentially offering significant advantages in making informed trading decisions.
In this article, we will delve into the concept of this overlap, explaining how to utilize it in trading strategies. Additionally, we will analyze the potential outcomes and benefits of incorporating this concept into your trading decisions.
Bullish Overlapping Block (BBOB) :
Bearish Overlapping Block (BBOB) :
🔵 How to Use
The overlap between Order Blocks and Breaker Blocks is a compelling and powerful concept that can help traders identify key levels on the chart with a high probability of success. This overlap is particularly valuable because it combines two well-regarded concepts in technical analysis—zones of high order volume and critical market shifts.
🟣 Here’s how to effectively use this overlap in your trading
1. Dentifying the Overlapping Block : To make the most of the overlap between Order Blocks and Breaker Blocks, begin by identifying these zones separately. Order Blocks are areas where price typically reacts and reverses after a strong market move.
Breaker Blocks are areas where a previous Order Block has been breached, and the price continues in the opposite direction. When these two zones overlap on a chart, it’s crucial to pay close attention to this area, as it represents a high-probability reaction zone.
2. Analyzing the Overlapping Block : After identifying the overlap zone, carefully analyze price action within this region. Candlestick patterns and price behavior can provide essential clues.
If the price reaches this overlap zone and strong reversal patterns such as Pin Bars or Engulfing patterns are observed, it’s likely that this zone will act as a pivotal reversal point. In such cases, entering a trade with confidence becomes more feasible.
3. Entering the Trade : When sufficient signs of price reaction are present in the overlap zone, you can proceed to enter the trade. If the overlap zone is within an uptrend and bullish reversal signals are evident, a long position might be appropriate.
Conversely, if the overlap zone is in a downtrend and bearish reversal signals are observed, a short position would be more suitable.
4. Risk Management : One of the most critical aspects of trading in overlap zones is managing risk. To protect your capital, place your stop loss near the lowest point of the Order Block (for buy trades) or the highest point (for sell trades). This approach minimizes potential losses if the overlap zone fails to hold.
5. Price Targets : After entering the trade, set your price targets based on other key levels on the chart. These targets could include other support and resistance zones, Fibonacci levels, or pivot points.
Bullish Overlapping Block :
Bearish Overlapping Block :
🟣 Benefits of the Overlapping Block Between Order Block and Breaker Block
1. Enhanced Precision in Identifying Key Levels : The overlap between these two zones usually acts as a highly reliable area for price reactions, increasing the accuracy of identifying entry and exit points.
2. Reduced Trading Risk : Given the high importance of the overlap zone, the likelihood of making incorrect decisions is reduced, contributing to overall lower trading risk.
3. Increased Probability of Success : The overlap between Order Blocks and Breaker Blocks combines two powerful concepts, enhancing the likelihood of success in trades, as multiple indicators confirm the importance of the area.
4. Creation of Better Trading Opportunities : Overlap zones often provide traders with more robust trading opportunities, as these areas typically represent strong reversal points in the market.
5. Compatibility with Other Technical Tools : This concept seamlessly integrates with other technical analysis tools such as Fibonacci retracements, trend lines, and chart patterns, offering a more comprehensive market analysis.
🔵 Setting
🟣 Global Setting
Pivot Period of Order Blocks Detector : Enter the desired pivot period to identify the Order Block.
Order Block Validity Period (Bar) : You can specify the maximum time the Order Block remains valid based on the number of candles from the origin.
Mitigation Level Order Block : Determining the basic level of a Order Block. When the price hits the basic level, the Order Block due to mitigation.
Mitigation Level Breaker Block : Determining the basic level of a Breaker Block. When the price hits the basic level, the Breaker Block due to mitigation.
Mitigation Level Overlapping Block : Determining the basic level of a Overlapping Block. When the price hits the basic level, the Overlapping Block due to mitigation.
🟣 Overlapping Block Display
Show All Overlapping Block : If it is turned off, only the last Order Block will be displayed.
Demand Overlapping Block : Show or not show and specify color.
Supply Overlapping Block : Show or not show and specify color.
🟣 Order Block Display
Show All Order Block : If it is turned off, only the last Order Block will be displayed.
Demand Main Order Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
Supply Main Order Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
🟣 Breaker Block Display
Show All Breaker Block : If it is turned off, only the last Breaker Block will be displayed.
Demand Main Breaker Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
Supply Main Breaker Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
🟣 Order Block Refinement
Refine Order Blocks : Enable or disable the refinement feature. Mode selection.
🟣 Alert
Alert Name : The name of the alert you receive.
Alert Overlapping Block Mitigation :
On / Off
Message Frequency :
This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone :
The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
🔵 Conclusion
The overlap between Order Blocks and Breaker Blocks represents a critical and powerful area in technical analysis that can serve as an effective tool for determining entry and exit points in trading.
These zones, due to the combination of two key concepts in technical analysis, hold significant importance and can help traders make more confident trading decisions.
Although this concept is not specifically discussed in the ICT framework and is introduced as a new idea, traders can achieve better results in their trades through practice and testing.
Utilizing the overlap between Order Blocks and Breaker Blocks, in conjunction with other technical analysis tools, can significantly improve the chances of success in trading.
Indicator

Order Block Overlapping Drawing [TradingFinder]🔵 Introduction
Technical analysis is a fundamental tool in financial markets, helping traders identify key areas on price charts to make informed trading decisions. The ICT (Inner Circle Trader) style, developed by Michael Huddleston, is one of the most advanced methods in this field.
It enables traders to precisely identify and exploit critical zones such as Order Blocks, Breaker Blocks, Fair Value Gaps (FVGs), and Inversion Fair Value Gaps (IFVGs).
To streamline and simplify the use of these key areas, a library has been developed in Pine Script, the scripting language for the PulseWire platform. This library allows you to automatically detect overlapping zones between Order Blocks and other similar areas, and visually display them on your chart.
This tool is particularly useful for creating indicators like Balanced Price Range (BPR) and ICT Unicorn Model.
🔵 How to Use
This section explains how to use the Pine Script library. This library assists you in easily identifying and analyzing overlapping areas between Order Blocks and other zones, such as Breaker Blocks and Fair Value Gaps.
To add "Order Block Overlapping Drawing", you must first add the following code to your script.
import TFlab/OrderBlockOverlappingDrawing/1
🟣 Inputs
The library includes the "OBOverlappingDrawing" function, which you can use to detect and display overlapping zones. This function identifies and draws overlapping zones based on the Order Block type, trigger conditions, previous and current prices, and other relevant parameters.
🟣 Parameters
OBOverlappingDrawing(OBType , TriggerConditionOrigin, distalPrice_Pre, proximalPrice_Pre , distalPrice_Curr, proximalPrice_Curr, Index_Curr , OBValidGlobal, OBValidDis, MitigationLvL, ShowAll, Show, ColorZone) =>
OBType (string)
TriggerConditionOrigin (bool)
distalPrice_Pre (float)
proximalPrice_Pre (float)
distalPrice_Curr (float)
proximalPrice_Curr (float)
Index_Curr (int)
OBValidGlobal (bool)
OBValidDis (int)
MitigationLvL (string)
ShowAll (bool)
Show (bool)
ColorZone (color)
In this example, various parameters are defined to detect overlapping zones and draw them on the chart. Based on these settings, the overlapping areas will be automatically drawn on the chart.
OBType : All order blocks are summarized into two types: "Supply" and "Demand." You should input your Current order block type in this parameter. Enter "Demand" for drawing demand zones and "Supply" for drawing supply zones.
TriggerConditionOrigin : Input the condition under which you want the Current order block to be drawn in this parameter.
distalPrice_Pre : Generally, if each zone is formed by two lines, the farthest line from the price is termed Pervious "Distal." This input receives the price of the "Distal" line.
proximalPrice_Pre : Generally, if each zone is formed by two lines, the nearest line to the price is termed Previous "Proximal" line.
distalPrice_Curr : Generally, if each zone is formed by two lines, the farthest line from the price is termed Current "Distal." This input receives the price of the "Distal" line.
proximalPrice_Curr : Generally, if each zone is formed by two lines, the nearest line to the price is termed Current "Proximal" line.
Index_Curr : This input receives the value of the "bar_index" at the beginning of the order block. You should store the "bar_index" value at the occurrence of the condition for the Current order block to be drawn and input it here.
OBValidGlobal : This parameter is a boolean in which you can enter the condition that you want to execute to stop drawing the block order. If you do not have a special condition, you should set it to True.
OBValidDis : Order blocks continue to be drawn until a new order block is drawn or the order block is "Mitigate." You can specify how many candles after their initiation order blocks should continue. If you want no limitation, enter the number 4998.
MitigationLvL : This parameter is a string. Its inputs are one of "Proximal", "Distal" or "50 % OB" modes, which you can enter according to your needs. The "50 % OB" line is the middle line between distal and proximal.
ShowAll : This is a boolean parameter, if it is "true" the entire order of blocks will be displayed, and if it is "false" only the last block order will be displayed.
Show : You may need to manage whether to display or hide order blocks. When this input is "On", order blocks are displayed, and when it's "Off", order blocks are not displayed.
ColorZone : You can input your preferred color for drawing order blocks.
🟣 Output
Mitigation Alerts : This library allows you to leverage Mitigation Alerts to detect specific conditions that could lead to trend reversals. These alerts help you react promptly in your trades, ensuring better management of market shifts.
🔵 Conclusion
The Pine Script library provided is a powerful tool for technical analysis, especially in the ICT style. It enables you to detect overlapping zones between Order Blocks and other significant areas like Breaker Blocks and Fair Value Gaps, improving your trading strategies. By utilizing this tool, you can perform more precise analysis and manage risks effectively in your trades.
Library

Pure Price Action Order & Breaker Blocks [LuxAlgo]The Pure Price Action Order & Breaker Blocks indicator is a pure price action adaptation of our previously published and highly popular Order-Blocks-Breaker-Blocks script.
Similar to its earlier version, this indicator detects order blocks that can automatically turn into breaker blocks on the chart once mitigated. However, the key difference/uniqueness is that the pure price action version relies solely on price patterns, eliminating the need for length definitions. In other words, it removes the limitation of user-defined inputs, ensuring a robust and objective analysis of market dynamics.
🔶 USAGE
An order block is a significant area on a price chart where there was a notable accumulation or distribution of orders, often identified by a strong price move followed by consolidation. Traders use order blocks to identify potential support or resistance levels.
A mitigated order block refers to an order block that has been invalidated due to subsequent market movements. It may no longer hold the same significance in the current market context. However, when the price mitigates an order block, a breaker block is confirmed. It is possible that the price might trade back to this breaker block, potentially offering a new trading opportunity.
Users can optionally enable the "Historical Polarity Changes" labels within the settings menu to see where breaker blocks might have previously provided effective trade setups.
This feature is most effective when using replay mode. Please note that these labels are subject to backpainting.
🔶 DETAILS
The swing points detection feature relies exclusively on price action, eliminating the need for numerical user-defined settings.
The first step involves detecting short-term swing points, where a short-term swing high (STH) is identified as a price peak surrounded by lower highs on both sides. Similarly, a short-term swing low is recognized as a price trough surrounded by higher lows on both sides.
Intermediate-term swing and long-term swing points are detected using the same approach but with a slight modification. Instead of directly analyzing price candles, we now utilize the previously detected short-term swing points. For intermediate-term swing points, we rely on short-term swing points, while for long-term swing points, we use the intermediate-term ones.
🔶 SETTINGS
Detection: Market structure used to detect swing points for creating order blocks.
Show Last Bullish OB: Number of the most recent bullish order/breaker blocks to display on the chart.
Show Last Bearish OB: Number of the most recent bearish order/breaker blocks to display on the chart.
Use Candle Body: Allows users to use candle bodies as order block areas instead of the full candle range.
🔹 Style
Show Historical Polarity Changes: Allows users to see labels indicating where a swing high/low previously occurred within a breaker block.
🔶 RELATED SCRIPTS
Pure-Price-Action-Structures.
Order-Blocks-Breaker-Blocks.
Indicator

Order Blocks & Breaker Blocks [TradingFinder] Signals + Alerts🔵 Introduction
Order Block and Breaker Block, are powerful tools in technical analysis. By understanding these concepts, traders can enhance their ability to predict potential price reversals and continuations, leading to more effective trading strategies.
Using historical price action, volume analysis, and candlestick patterns, traders can identify key areas where institutional activities influence market movements.
🟣 Demand Order Block and Supply Breaker Block
Demand Order Block : A Demand Order Block is formed when the price succeeds in breaking the previous high pivot.
Supply Breaker Block : A Supply Breaker Block is formed when the price succeeds in breaking the Demand Order Block. As a result, the Order Block changes its role and turns from the role of price support to resistance.
🟣 Supply Order Block and Demand Breaker Block
Supply Order Block : A Supply Order Block is formed when the price succeeds in breaking the previous low pivot.
Demand Breaker Block : A Demand Breaker Block is formed when the price succeeds in breaking the Supply Order Block. As a result, the Order Block changes its role and turns from the role of price resistance to support.
🔵 How to Use
🟣 Order Blocks (Supply and Demand)
Order blocks are zones where the likelihood of a price reversal is higher. In demand zones, buying opportunities arise, while in supply zones, selling opportunities can be explored.
The "Refinement" feature allows you to adjust the width of the order block to fit your trading strategy. There are two modes in the "Order Block Refine" feature: "Aggressive" and "Defensive." The primary difference between these modes is the width of the order block.
For risk-averse traders, the "Defensive" mode is ideal as it offers a lower loss limit and a higher reward-to-risk ratio.
Conversely, for traders who are willing to take more risks, the "Aggressive" mode is more suitable. This mode, with its wider order block width, caters to those who prefer entering trades at higher prices.
🟣 Breaker Blocks (Supply and Demand)
Trading based on breaker blocks is the same as order blocks and the price in these zones is likely to be reversed.
🔵 Setting
🟣 Global Setting
Pivot Period of Order Blocks Detector : Enter the desired pivot period to identify the Order Block.
Order Block Validity Period (Bar) : You can specify the maximum time the Order Block remains valid based on the number of candles from the origin.
Mitigation Level Order Block : Determining the basic level of a Order Block. When the price hits the basic level, the Order Block due to mitigation.
Mitigation Level Breaker Block : Determining the basic level of a Breaker Block. When the price hits the basic level, the Breaker Block due to mitigation.
Switching Colors Theme Mode : Three modes "Off", "Light" and "Dark" are included in this parameter. "Light" mode is for color adjustment for use in "Light Mode".
"Dark" mode is for color adjustment for use in "Dark Mode" and "Off" mode turns off the color adjustment function and the input color to the function is the same as the output color.
🟣 Order Block Display
Show All Order Block : If it is turned off, only the last Order Block will be displayed.
Demand Main Order Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
Supply Main Order Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Order Block : Show or not show and specify color.
🟣 Breaker Block Display
Show All Breaker Block : If it is turned off, only the last Breaker Block will be displayed.
Demand Main Breaker Block : Show or not show and specify color.
Demand Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
Supply Main Breaker Block : Show or not show and specify color.
Supply Sub (Propulsion & BoS Origin) Breaker Block : Show or not show and specify color.
🟣 Order Block Refinement
Refine Order Blocks : Enable or disable the refinement feature. Mode selection.
🟣 Alert
Alert Name : The name of the alert you receive.
Alert Demand OB Mitigation :
On / Off
Alert Demand BB Mitigation :
On / Off
Alert Supply OB Mitigation :
On / Off
Alert Supply BB Mitigation :
On / Off
Message Frequency :
This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Show Alert Time by Time Zone :
The date, hour, and minute you receive in alert messages can be based on any time zone you choose. For example, if you want New York time, you should enter "UTC-4". This input is set to the time zone "UTC" by default.
Display More Info :
Displays information about the price range of the order blocks (Zone Price) and the date, hour, and minute under "Display More Info".
If you do not want this information to appear in the received message along with the alert, you should set it to "Off".
Indicator

Volume Breaker Blocks [UAlgo]The "Volume Breaker Blocks " indicator is designed to identify breaker blocks in the market based on volume and price action. It is a concept that emerges when an order block fails, leading to a change in market structure. It signifies a pivotal point where the market shifts direction, offering traders opportunities to enter trades based on anticipated trend continuation.
🔶 Key Features
Identifying Breaker Blocks: The indicator identifies breaker blocks by detecting pivot points in price action and corresponding volume spikes.
Breaker Block Sensitivity: Traders can adjust breaker block detection sensitivity, length to be used to find pivot points.
Mitigation Method (Close or Wick): Traders can choose between "Close" and "Wick" as the mitigation method. This choice determines whether the indicator considers closing prices or wicks in identifying breaker blocks. Selecting "Close" implies that breaker blocks will be considered broken when the closing price violates the block, while selecting "Wick" implies that the wick of the candle must violate the block for it to be considered broken.
Show Last X Breaker Blocks: Users can specify how many of the most recent breaker blocks to display on the chart.
Visualization: Volume breaker blocks are visually represented on the chart with customizable colors and text labels, allowing for easy interpretation of market conditions. Each breaker block is accompanied by informational text, including whether it's bullish or bearish and the corresponding volume, aiding traders in understanding the significance of each block.
🔶 Disclaimer
Educational Purpose: The "Volume Breaker Blocks " indicator is provided for educational and informational purposes only. It does not constitute financial advice or a recommendation to engage in trading activities.
Risk of Loss: Trading in financial markets involves inherent risks, including the risk of loss of capital. Users should carefully consider their financial situation, risk tolerance, and investment objectives before engaging in trading activities.
Accuracy Not Guaranteed: While the indicator aims to identify potential reversal points in the market, its accuracy and effectiveness may vary. Users should conduct thorough testing and analysis before relying solely on the indicator for trading decisions.
Past Performance: Past performance is not indicative of future results. Historical data and backtesting results may not accurately reflect actual market conditions or future performance. Indicator
