Premium & Discount Matrix1. Dynamic Intraday Dealing Range
The core of the PD Matrix is the "dealing range." The script calculates this by finding the absolute highest high and lowest low of the current daily session:
It automatically detects when a new day begins.
As the day progresses and price creates new highs or lows, the script dynamically updates the top and bottom boundaries in real-time.
2. Matrix Box & Equilibrium
Once the dealing range is established, it draws the matrix components:
The Box: It draws a single, fully transparent rectangle around the entire daily range. The background is completely clear so it doesn't obstruct your candlesticks, and only the outer border is visible.
Equilibrium (50%): It automatically calculates the exact mathematical midpoint of the daily high and low. It then draws a dashed line straight through the middle of the box to represent the 50% Equilibrium level.
3. Smart Market Labeling
To make the zones instantly readable, the script places three floating text labels neatly to the right of your current live candle. These labels move with the price action:
Premium (Red): Positioned in the upper half (above 50%). According to ICT concepts, this is expensive pricing where institutional algorithms seek to distribute (sell short).
Eq (50%) (Gray): Points directly to the dashed equilibrium line, representing fair value.
Discount (Green): Positioned in the lower half (below 50%). This is cheap pricing where institutional algorithms seek to accumulate (buy long).
4. Customization & Performance
Like the previous script, this is highly optimized for PulseWire. It uses a single dynamic box, a single line, and three labels that constantly update on the very last bar, preventing your chart from being cluttered with hundreds of historical drawings.
You can fully customize the colors of the box border, the equilibrium line, and all three text labels directly from the indicator settings! Indicator

ICT PD Arrays [LunqFX] FVG, Displacement & Smart Money ZonesICT PD Arrays is a complete Smart Money Concepts toolkit built on the Inner
Circle Trader (ICT) methodology. It maps the full Price Delivery Array —
7 interconnected modules working together to identify where institutions
accumulate and distribute positions across any liquid market.
█ WHAT IT DOES
Most ICT indicators cover one concept in isolation — a Fair Value Gap, or
just Premium/Discount zones. This script combines all core PD Array
components into one cohesive system and ties them together with an ISD
state machine and a live HUD dashboard that shows full market context
at a glance.
Seven modules run simultaneously on every bar:
Fair Value Gaps (FVG) + Inversion FVG + Balanced Price Range (BPR)
Premium / Discount Zones + OTE Fibonacci Zones + Equilibrium Line
Displacement Detection with ATR and Volume confirmation
Inducement (IDM) — false breakout / liquidity trap detection
ISD Sequence state machine (Inducement → Sweep → Displacement)
Killzones — London, New York, Asian, Silver Bullet sessions
Live HUD Dashboard — all signals aggregated in real time
█ HOW IT DOES IT
FAIR VALUE GAPS
A Fair Value Gap is a 3-candle price imbalance where the gap between
candle 1's extreme and candle 3's extreme was never traded. Institutions
use these gaps as re-entry points — price gravitates back to fill them.
Detection uses a confirmed 3-candle structure with a bar offset so
the current live bar never creates a new FVG. No repainting.
An ATR(14)-based minimum size filter removes micro-gaps that carry no
significance. Raise the multiplier to see only strong imbalances.
Mitigation is tracked in real time. Once price crosses the CE midpoint
(Consequent Encroachment — the 50% level of the gap), the box fades.
When price fully passes through a gap it automatically converts to an
Inversion FVG (IFVG) — former support becomes resistance, box recolors.
Balanced Price Range (BPR) detects spatial overlap between the most
recent bullish FVG and bearish FVG. The overlap zone is where both
buyer and seller imbalances exist at the same price — the strongest
equilibrium area on the chart.
PREMIUM / DISCOUNT ZONES + OTE
ICT divides any dealing range into two halves: Premium (above 50%) where
institutions sell, and Discount (below 50%) where institutions buy.
Swing highs and lows are detected via pivot logic with a configurable
lookback. The range between the last confirmed pivot high and pivot low
becomes the active dealing range.
Two OTE zones are drawn using Fibonacci retracement logic:
OTE Buy zone — 21.4% to 38.2% from the low
= 61.8%–78.6% retracement FROM the swing high
= deepest discount, highest-probability long area
OTE Sell zone — 61.8% to 78.6% from the low
= deepest premium, highest-probability short area
Math:
OTE Buy Top = SwingLow + Range x 0.382
OTE Buy Bot = SwingLow + Range x 0.214
OTE Sell Top = SwingLow + Range x 0.786
OTE Sell Bot = SwingLow + Range x 0.618
Zones update automatically when new pivots are confirmed.
DISPLACEMENT
Displacement is not simply a large candle. In ICT theory it marks a
genuine shift of institutional order flow — it must show conviction.
Three conditions must all be satisfied simultaneously:
Body >= ATR(14) x multiplier (default 2.0)
Filters out average volatility, keeps only significant momentum.
Wick-to-range ratio below threshold (default 30%)
A large wick relative to range signals indecision, not displacement.
Formula: (High - Close) / Range for bulls,
(Close - Low) / Range for bears.
Optional volume filter: Volume > SMA(20) x 1.5
Confirms institutional participation behind the move.
Disable for spot Forex where tick volume is unreliable.
Displacement candles are the primary FVG trigger — the gap left behind
a displacement candle is the highest-quality FVG to trade.
INDUCEMENT (IDM)
Inducement is how institutions engineer a false breakout to grab
retail stop-loss liquidity before reversing price the other way.
Detected when price temporarily sweeps beyond a recent swing high or
low and then closes back inside the range. An ATR-based wick filter
ensures only meaningful sweeps qualify — micro-breakouts are excluded.
Bear Trap: price sweeps below a recent low and closes above it.
Bull Trap: price sweeps above a recent high and closes below it.
A 25-bar cooldown prevents label flooding in trending conditions.
The signal still feeds the ISD state machine on every bar regardless.
ISD SEQUENCE STATE MACHINE
ISD stands for Inducement, Sweep, Displacement. This is the complete
3-step institutional setup that ICT traders look for before entering.
The module runs as a persistent state machine tracking progress
across bars in real time:
Score 1/3 — IDM confirmed. Liquidity has been grabbed.
Score 2/3 — A structural sweep of a 5-bar high or low confirmed.
Score 3/3 — A Displacement candle fires in the same direction.
Label appears on chart. State resets automatically.
A 50-bar timeout resets the sequence if no follow-through occurs,
preventing stale signals from contaminating new setups.
ISD 3/3 is the single highest-confidence signal in this indicator.
All three institutional steps have completed in the correct order.
Dashboard shows live progress: Score 0 to 3 with block indicators.
KILLZONES
ICT defines specific time windows where institutional order flow
is at its highest. The script highlights four of them:
London Open 02:00 - 05:00 New York time
New York Open 08:30 - 11:00 New York time
Asian Session 20:00 - 00:00 New York time
Silver Bullet 10:00 - 11:00 New York time
The Silver Bullet is a specific 1-hour ICT window occurring inside
the New York session — considered one of the highest-probability
entry windows in the entire ICT model.
Killzones are automatically hidden on timeframes 4H and above.
LIVE HUD DASHBOARD
A real-time panel in the bottom-left corner aggregates all modules:
Zone current price position (PREMIUM / DISCOUNT / EQ)
with gradient background that shifts green to red
EQ Level exact equilibrium price of the current dealing range
Bull FVG count of active non-inverted bullish gaps
Bear FVG count of active non-inverted bearish gaps
BPR whether a Balanced Price Range is currently active
Displace direction of the most recent displacement candle
IDM most recent trap type — Bear Trap / Bull Trap / None
ISD Score live block progress from 0/3 to 3/3
ATR (14) current ATR value
Timeframe active chart timeframe
█ HOW TO USE
Recommended workflow for intraday setups on 1m to 1H timeframes.
Step 1
Check the dashboard Zone. If PREMIUM, look for short setups only.
If DISCOUNT, look for long setups only. Never trade against the zone.
Step 2
Wait for an IDM label. This confirms retail stop-loss liquidity has
been swept in the direction you are looking to trade.
Step 3
Watch the ISD score reach 2/3 — a structural sweep is confirmed in
the same direction as the IDM.
Step 4
When a Displacement candle fires and ISD reaches 3/3, the complete
institutional sequence is confirmed. This is the entry trigger.
Step 5
Enter on a retest of the FVG left by the displacement candle.
For the highest-precision entry, wait for price to reach the OTE
zone within the FVG (61.8%–78.6% retracement level).
Step 6
Use Killzones to time entries. Highest-probability window is the
Silver Bullet (10:00–11:00 NY). London and NY Open are second.
For higher timeframe analysis on 4H and Daily: use Premium/Discount
zones and swing structure only. Ignore Killzones and FVG entries.
█ SETTINGS GUIDE
Fair Value Gaps
Min FVG Size (ATR mult) raise to filter weak gaps, 0 shows all
Max FVGs to Show limits drawn gaps, default 5
Show CE Midline shows the 50% Consequent Encroachment level
Show Inverted FVG recolors box when price passes through fully
Show BPR draws overlap zone between bull and bear FVGs
PD Arrays
Swing Detection Length longer lookback gives bigger dealing ranges
Show OTE Zones draws the Fibonacci entry zones
Show Equilibrium Line draws the 50% midpoint with price label
Displacement
Body Size (x ATR) momentum threshold, raise for stronger signals
Max Wick/Range Ratio lower value requires cleaner committed candles
Volume Filter disable for Forex, enable for stocks/futures
Inducement
IDM Lookback Bars how far back to find the reference high/low
Min Wick Size (x ATR) raise to filter micro false-breakouts
ISD Sequence
Min Score to Show Label set to 3 to see only complete 3/3 setups
Killzones
Each session can be toggled independently.
█ ALERTS
Bullish FVG Formed
Bearish FVG Formed
Bullish Displacement — check for FVG entry
Bearish Displacement — check for FVG entry
Full ISD Sequence (3/3) — high-probability setup complete
Bullish Inducement (IDM) — Bear Trap detected
Bearish Inducement (IDM) — Bull Trap detected
█ TECHNICAL NOTES
All ta.* function calls — ATR, SMA, pivot highs/lows, highest, lowest —
are executed unconditionally at the top script level in compliance with
the Pine Script v6 execution model. Never inside conditionals or
functions called conditionally.
FVG detection is locked to barstate.isconfirmed with a bar offset.
The current live bar never creates a new FVG box. No repainting.
The ISD state machine uses persistent var variables with inline
assignment in the main execution body. Pine v6 does not allow global
variable reassignment inside functions, so the state machine runs
directly in the main script scope with a 50-bar timeout guard.
█ DISCLAIMER
This indicator is provided for educational and informational purposes
only. It does not constitute financial advice or a recommendation to
buy or sell any financial instrument. Past performance of any trading
concept or signal is not indicative of future results. All trading
involves risk. You are solely responsible for your own trading decisions.
Always use proper risk management.
© LunqFX 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

PowerGaps - Multi-Timeframe Fair Value GapsPowerGaps — Multi‑Timeframe Fair Value Gap Engine
PowerGaps is a precision‑built, multi‑timeframe Fair Value Gap (FVG) engine designed for traders who rely on clean, reliable market structure signals without noise, repainting, or clutter.
It automatically detects and plots institutional FVGs from higher timeframes directly onto your current chart, giving you a clear view of premium/discount imbalances and liquidity inefficiencies that matter most.
What PowerGaps Does
• Scans four customizable timeframes (e.g., M5, M15, H1, H4) for valid bullish and bearish FVGs
• Projects those HTF gaps onto any lower timeframe chart
• Colors and labels each gap by timeframe for instant visual recognition
• Tracks each gap until it is mitigated by wick touch, then automatically closes and removes it
• Ensures no repainting, no duplicates, and no phantom gaps
• Maintains perfect alignment across timeframes using a robust, cross‑TF‑safe architecture
Why It’s Different
PowerGaps is engineered with a strict validation and mitigation system that prevents the common issues seen in many FVG indicators:
• No repeated stacking of the same gap
• No gaps disappearing when switching timeframes
• No false mitigation signals
• No stale or corrupted objects left behind
Every plotted gap is intentional, accurate, and actionable.
Ideal For
• ICT‑style traders
• Liquidity and imbalance‑based strategies
• HTF bias mapping
• Scalpers who rely on HTF inefficiencies
• Swing traders looking for clean continuation or reversal zones
Inputs & Customization
• Enable/disable each timeframe independently
• Choose custom colors for bullish and bearish gaps
• Full control over which timeframes you want projected onto your chart Indicator

Indicator

Indicator

Indicator

MMXM ICT [TradingFinder] Market Maker Model PO3 CHoCH/CSID + FVG🔵 Introduction
The MMXM Smart Money Reversal leverages key metrics such as SMT Divergence, Liquidity Sweep, HTF PD Array, Market Structure Shift (MSS) or (ChoCh), CISD, and Fair Value Gap (FVG) to identify critical turning points in the market. Designed for traders aiming to analyze the behavior of major market participants, this setup pinpoints strategic areas for making informed trading decisions.
The document introduces the MMXM model, a trading strategy that identifies market maker activity to predict price movements. The model operates across five distinct stages: original consolidation, price run, smart money reversal, accumulation/distribution, and completion. This systematic approach allows traders to differentiate between buyside and sellside curves, offering a structured framework for interpreting price action.
Market makers play a pivotal role in facilitating these movements by bridging liquidity gaps. They continuously quote bid (buy) and ask (sell) prices for assets, ensuring smooth trading conditions.
By maintaining liquidity, market makers prevent scenarios where buyers are left without sellers and vice versa, making their activity a cornerstone of the MMXM strategy.
SMT Divergence serves as the first signal of a potential trend reversal, arising from discrepancies between the movements of related assets or indices. This divergence is detected when two or more highly correlated assets or indices move in opposite directions, signaling a likely shift in market trends.
Liquidity Sweep occurs when the market targets liquidity in specific zones through false price movements. This process allows major market participants to execute their orders efficiently by collecting the necessary liquidity to enter or exit positions.
The HTF PD Array refers to premium and discount zones on higher timeframes. These zones highlight price levels where the market is in a premium (ideal for selling) or discount (ideal for buying). These areas are identified based on higher timeframe market behavior and guide traders toward lucrative opportunities.
Market Structure Shift (MSS), also referred to as ChoCh, indicates a change in market structure, often marked by breaking key support or resistance levels. This shift confirms the directional movement of the market, signaling the start of a new trend.
CISD (Change in State of Delivery) reflects a transition in price delivery mechanisms. Typically occurring after MSS, CISD confirms the continuation of price movement in the new direction.
Fair Value Gap (FVG) represents zones where price imbalance exists between buyers and sellers. These gaps often act as price targets for filling, offering traders opportunities for entry or exit.
By combining all these metrics, the Smart Money Reversal provides a comprehensive tool for analyzing market behavior and identifying key trading opportunities. It enables traders to anticipate the actions of major players and align their strategies accordingly.
MMBM :
MMSM :
🔵 How to Use
The Smart Money Reversal operates in two primary states: MMBM (Market Maker Buy Model) and MMSM (Market Maker Sell Model). Each state highlights critical structural changes in market trends, focusing on liquidity behavior and price reactions at key levels to offer precise and effective trading opportunities.
The MMXM model expands on this by identifying five distinct stages of market behavior: original consolidation, price run, smart money reversal, accumulation/distribution, and completion. These stages provide traders with a detailed roadmap for interpreting price action and anticipating market maker activity.
🟣 Market Maker Buy Model
In the MMBM state, the market transitions from a bearish trend to a bullish trend. Initially, SMT Divergence between related assets or indices reveals weaknesses in the bearish trend. Subsequently, a Liquidity Sweep collects liquidity from lower levels through false breakouts.
After this, the price reacts to discount zones identified in the HTF PD Array, where major market participants often execute buy orders. The market confirms the bullish trend with a Market Structure Shift (MSS) and a change in price delivery state (CISD). During this phase, an FVG emerges as a key trading opportunity. Traders can open long positions upon a pullback to this FVG zone, capitalizing on the bullish continuation.
🟣 Market Maker Sell Model
In the MMSM state, the market shifts from a bullish trend to a bearish trend. Here, SMT Divergence highlights weaknesses in the bullish trend. A Liquidity Sweep then gathers liquidity from higher levels.
The price reacts to premium zones identified in the HTF PD Array, where major sellers enter the market and reverse the price direction. A Market Structure Shift (MSS) and a change in delivery state (CISD) confirm the bearish trend. The FVG then acts as a target for the price. Traders can initiate short positions upon a pullback to this FVG zone, profiting from the bearish continuation.
Market makers actively bridge liquidity gaps throughout these stages, quoting continuous bid and ask prices for assets. This ensures that trades are executed seamlessly, even during periods of low market participation, and supports the structured progression of the MMXM model.
The price’s reaction to FVG zones in both states provides traders with opportunities to reduce risk and enhance precision. These pullbacks to FVG zones not only represent optimal entry points but also create avenues for maximizing returns with minimal risk.
🔵 Settings
Higher TimeFrame PD Array : Selects the timeframe for identifying premium/discount arrays on higher timeframes.
PD Array Period : Specifies the number of candles for identifying key swing points.
ATR Coefficient Threshold : Defines the threshold for acceptable volatility based on ATR.
Max Swing Back Method : Choose between analyzing all swings ("All") or a fixed number ("Custom").
Max Swing Back : Sets the maximum number of candles to consider for swing analysis (if "Custom" is selected).
Second Symbol for SMT : Specifies the second asset or index for detecting SMT divergence.
SMT Fractal Periods : Sets the number of candles required to identify SMT fractals.
FVG Validity Period : Defines the validity duration for FVG zones.
MSS Validity Period : Sets the validity duration for MSS zones.
FVG Filter : Activates filtering for FVG zones based on width.
FVG Filter Type : Selects the filtering level from "Very Aggressive" to "Very Defensive."
Mitigation Level FVG : Determines the level within the FVG zone (proximal, 50%, or distal) that price reacts to.
Demand FVG : Enables the display of demand FVG zones.
Supply FVG : Enables the display of supply FVG zones.
Zone Colors : Allows customization of colors for demand and supply FVG zones.
Bottom Line & Label : Enables or disables the SMT divergence line and label from the bottom.
Top Line & Label : Enables or disables the SMT divergence line and label from the top.
Show All HTF Levels : Displays all premium/discount levels on higher timeframes.
High/Low Levels : Activates the display of high/low levels.
Color Options : Customizes the colors for high/low lines and labels.
Show All MSS Levels : Enables display of all MSS zones.
High/Low MSS Levels : Activates the display of high/low MSS levels.
Color Options : Customizes the colors for MSS lines and labels.
🔵 Conclusion
The Smart Money Reversal model represents one of the most advanced tools for technical analysis, enabling traders to identify critical market turning points. By leveraging metrics such as SMT Divergence, Liquidity Sweep, HTF PD Array, MSS, CISD, and FVG, traders can predict future price movements with precision.
The price’s interaction with key zones such as PD Array and FVG, combined with pullbacks to imbalance areas, offers exceptional opportunities with favorable risk-to-reward ratios. This approach empowers traders to analyze the behavior of major market participants and adopt professional strategies for entry and exit.
By employing this analytical framework, traders can reduce errors, make more informed decisions, and capitalize on profitable opportunities. The Smart Money Reversal focuses on liquidity behavior and structural changes, making it an indispensable tool for financial market success.
Indicator

Indicator
