ICT PD Array Matrix Explained: How to Rank Premium & Discount Arrays
Learn what PD arrays are in ICT trading, the full premium and discount array list, how the matrix ranks them, and how to use them for entries and exits.
If you have ever marked a fair value gap or order block on your chart and watched price blow right past it, the problem is not the concept. The problem is that you are treating every PD array as equal when they are not. The PD Array Matrix solves this by ranking every array from strongest to weakest, telling you which levels price is most likely to respect and which ones it will skip.
This is the framework behind ICT methodology that separates traders who guess at levels from traders who anticipate them with precision.
What Is a PD Array?
PD stands for Premium Discount. An array is a specific price level or zone derived from past price action that the algorithm references for future delivery. Think of it as a data point. Just as a computer program cycles through an array of data to generate outputs, the pricing algorithm cycles through these levels to determine where price will be delivered next.
Every PD array falls into one of two categories:
- Premium arrays sit in the upper half of a range. They attract price when the market needs to reach higher before reversing. Institutional shorts target premium arrays to sell at expensive prices.
- Discount arrays sit in the lower half of a range. They attract price when the market needs to reach lower before reversing. Institutional longs target discount arrays to buy at cheap prices.
This is directly tied to the premium and discount zone concept. Take any defined range, split it at the 50% equilibrium, and everything above is premium, everything below is discount. The PD arrays that exist within each zone are what price uses as its specific reference points for turning or continuing.
The Complete PD Array List
There are matched pairs of arrays. Every premium array has a discount counterpart. Here is the full list, organized by category.
Premium Arrays (Sell Side)
These are the zones and levels above equilibrium where institutional sellers look to enter short positions or where price draws to before reversing lower.
-
Old High - A previous swing high where buy-side liquidity (stop losses from shorts) rests above it. The most powerful draw on the premium side because it represents a pool of executable orders.
-
Bearish Order Block - The last up-close candle or series of up-close candles before a significant displacement lower. This is where institutions initiated their selling. When price returns, it often reacts.
-
Bearish Fair Value Gap (SIBI) - A sell-side imbalance buy-side inefficiency. The three-candle pattern where the wick of candle one does not overlap with the wick of candle three, creating a void in price delivery. In premium, these gaps attract price for a fill before continuation lower.
-
Bearish Breaker Block - Formed when price sweeps a previous high (takes buy-side liquidity) and then reverses, creating a structural failure. The down-close candles between the original high and the higher high become the breaker block. Ranked above mitigation blocks because the liquidity sweep confirms institutional order filling.
-
Bearish Mitigation Block - Formed when price fails to sweep the previous high (a failure swing) and reverses without taking liquidity. The order block from the failed move becomes a mitigation zone where institutions need to revisit and close out losing positions. Breakers and mitigation blocks are mutually exclusive at any given swing: either price took the liquidity (breaker) or it did not (mitigation).
-
Premium Rejection Block - Created by a long upper wick on a candle in premium territory. The wick represents a range where price was offered but rejected. When graded into quadrants, the rejection block provides precise reaction levels.
-
Premium Volume Imbalance - The gap between one candle's close and the next candle's open on the same side. Smaller than a fair value gap but still an inefficiency the algorithm references.
Discount Arrays (Buy Side)
These are the zones and levels below equilibrium where institutional buyers look to enter long positions or where price draws to before reversing higher.
-
Old Low - A previous swing low where sell-side liquidity (stop losses from longs) rests below it. The strongest draw on the discount side.
-
Bullish Order Block - The last down-close candle or consecutive down-close candles before a significant displacement higher. This is where institutions built their long positions. The opening price of the lowest down-close candle is the key level.
-
Bullish Fair Value Gap (BISI) - A buy-side imbalance sell-side inefficiency. The three-candle void where candle one's wick does not touch candle three's wick. In discount, these are high-probability entry zones. Different types of fair value gaps have different reliability levels.
-
Bullish Breaker Block - Formed when price sweeps a previous low (takes sell-side liquidity) and then reverses. The up-close candles between the original low and the lower low become the breaker. The liquidity sweep adds confirmation that smart money filled orders at that level. For a deeper dive, see the comparison between breaker blocks and order blocks.
-
Bullish Mitigation Block - Formed when price fails to sweep the previous low (a failure swing) and reverses without taking liquidity. The order block from the failed move becomes a zone institutions revisit to mitigate losing positions. Like the premium side, breakers and mitigation blocks cannot coexist from the same swing — the outcome depends on whether liquidity was taken.
-
Discount Rejection Block - Created by a long lower wick on a candle in discount territory. The wick was a price exploration that got rejected, creating a zone the algorithm may reference again.
-
Discount Volume Imbalance - The gap between one candle's close and the next candle's open. A subtle inefficiency that still shows up on lower timeframes with precision.
How the PD Array Matrix Ranks Them
The matrix is not just a list. It is a hierarchy. The arrays at the top of each column are the strongest draws on liquidity. The ones at the bottom are the weakest.
The Ranking (Strongest to Weakest)
Premium Side: Old High > Order Block > Fair Value Gap > Breaker > Mitigation Block > Rejection Block > Volume Imbalance
Discount Side: Old Low > Order Block > Fair Value Gap > Breaker > Mitigation Block > Rejection Block > Volume Imbalance
The ranking tells you two critical things:
First, which PD array price is most likely to reach. If there is a bearish order block and a bearish fair value gap in the same premium zone, and price is heading up, the order block is the stronger magnet. Price may fill the FVG on the way up, but the order block is the more probable termination point.
Second, which PD array will cause the strongest reaction. An old high being swept will often produce displacement. A volume imbalance being tagged may only produce a minor pause.
Why Liquidity Pools Rank Highest
Old highs and old lows sit at the top because they represent actual resting orders, not just price levels. Buy stops above old highs and sell stops below old lows are real executable liquidity that market makers need to pair with their own positions. Every other PD array is a zone where price reacted in the past. Old highs and lows are where price is being pulled toward in the future.
This is also why the matrix is dynamic. As old highs get swept and new ones form, the hierarchy updates. An old high that has been taken out is no longer a draw. The next old high above it, or the next order block in the ranking, moves up in priority. You are always working with the current state of the matrix, not a static snapshot.
Determining Which PD Arrays Matter Right Now
Here is where the matrix goes from theory to application. Not every PD array on your chart is relevant. The ones that matter are determined by three filters.
Filter 1: The 20-Day Look Back
Go to your daily chart. Count back 20 trading days from today. Identify the highest high and lowest low in that range. Grade the range into quadrants:
- Upper extreme (75-100%) - Only relevant if expecting a reversal
- Upper quadrant (50-75%) - Core area for premium arrays
- Equilibrium (50%) - The dividing line
- Lower quadrant (25-50%) - Core area for discount arrays
- Lower extreme (0-25%) - Only relevant if expecting a reversal
The PD arrays that exist within the upper and lower quadrants (the 25-75% zone) are your highest probability levels. This is where the algorithm focuses. Ignore the extremes unless price is already there and showing structural evidence of reversal.
For trending markets, extend the look back to 40 or 60 days to capture the full range. A market like gold in a parabolic run will have its most relevant PD arrays spread over a wider range than a consolidating forex pair.
This 20-day look back concept is what separates the matrix from randomly drawing PD arrays across your entire chart history. Stale levels from months ago carry far less weight than fresh levels within the active range. The algorithm references recent data first.
Filter 2: Premium vs Discount Context
If price is in the premium zone of the 20-day range and you are looking for shorts, only premium arrays matter. Ignore the discount arrays below equilibrium for entry purposes (though they become your targets).
If price is in the discount zone and you are looking for longs, only discount arrays matter.
This connects directly to optimal trade entry. The OTE zone (62-79% retracement) often aligns with the strongest PD arrays in the correct premium or discount context.
Filter 3: Order Flow Validation
A PD array without order flow confirmation is unreliable. Here is how to validate:
Bullish order flow exists when:
- Down-close candles support price (their opening prices hold as support)
- Price respects the quadrant levels of the current range
- Bodies stay above key quadrant lines on retests
Bearish order flow exists when:
- Up-close candles resist price (their opening prices hold as resistance)
- Price respects the quadrant levels from above
- Bodies stay below key quadrant lines on retests
If a bullish order block exists in the discount zone but price is showing bearish order flow (breaking below quadrant levels, closing below down-close candle opens), that order block is likely to fail. The matrix ranking only holds when order flow confirms the direction.
Grading Individual PD Arrays
Every PD array can be graded into its own quadrants for precision entries and invalidation levels.
Take a bullish order block formed by three consecutive down-close candles. The entire range from the highest open to the lowest close defines the block. Now grade it:
- High of block - The opening price of the highest candle
- Upper quadrant (75%) - Strong reaction zone in bullish conditions
- Mean threshold (50%) - The midpoint of the entire block
- Lower quadrant (25%) - Deeper entry but still valid
- Low of block - The lowest wick of the range
For bullish order blocks, you want price to react in the upper half (mean threshold and above). If price penetrates below the mean threshold on a closing basis, the probability of the block holding drops significantly.
For bearish order blocks, you want price to react in the lower half (mean threshold and below). Closes above mean threshold signal weakness.
This grading applies to every PD array type. Fair value gaps have a consequent encroachment (midpoint) that acts as the key reaction level. Breaker blocks have the same quadrant structure. Even individual candlestick wicks can be graded this way.
How PD Arrays Connect to Each Other
PD arrays do not exist in isolation. They stack, overlap, and confirm each other.
Stacking (Confluence)
When multiple PD arrays align at the same price level, the probability of a reaction increases. The most powerful setups occur when:
- An order block sits directly on a quadrant level of the 20-day range
- A fair value gap overlaps with an order block (the unicorn model with breakers)
- A volume imbalance exists inside a larger fair value gap
- An old high or low coincides with a higher-timeframe PD array
This is the essence of confluence trading. A single PD array is a reference. Multiple PD arrays at the same level is a high-probability zone.
Inversion
When price trades through a PD array instead of respecting it, the array can invert its characteristic. A bullish fair value gap that gets traded through becomes a bearish inversion fair value gap. The zone that was once support now acts as resistance.
Inversions are significant because they indicate a change in the state of delivery. The algorithm is no longer referencing that array for its original purpose. It has been repurposed. Inversion FVGs often provide cleaner reactions than original FVGs because the trap has already been set.
The same principle applies to order blocks. A bullish order block that fails and gets displaced through can become an inversion order block, now acting as resistance. Suspension blocks, a sub-category of fair value gaps, follow the same inversion logic. When you see a PD array fail, do not delete it from your chart. Re-classify it as an inversion and watch how price respects it from the opposite side.
One-Time Use
PD arrays are generally considered one-time use. Once price has mitigated a PD array (traded into it and reacted), it becomes less reliable on subsequent visits. After mitigation, shift your attention to the next unmitigated PD array in the hierarchy.
This is why it matters whether an order block is "fresh" or has already been tested. The first touch carries the highest probability. Every subsequent touch degrades the level. If you want to understand the nuances of order block retests and when they fail, context around mitigation versus invalidation is essential.
Practical Application: Using the Matrix for Trade Selection
Here is a step-by-step process for applying the PD Array Matrix to live trading.
Step 1: Define Your Range
Pull up the daily chart. Count back 20 trading days (not calendar days) from the current session. Identify the highest high and lowest low in that range. Grade the range into quadrants using the rectangle tool with the midpoint line enabled. Write down the exact price levels for each quadrant on a notepad. This is your reference sheet for the session.
Step 2: Identify Relevant PD Arrays
Within the range, mark the PD arrays that exist in the quadrant where price is currently trading or heading toward. Ignore arrays outside the 25-75% zone unless price is already in the extremes.
Use the matrix ranking to prioritize. If there are three PD arrays in the premium zone, the old high matters more than the fair value gap.
Step 3: Confirm Order Flow
Before committing to any PD array, check the order flow. Are down-close candles supporting price (bullish) or are up-close candles resisting price (bearish)? Are bodies respecting the quadrant levels?
Step 4: Grade the Entry
Once you have identified your target PD array and confirmed order flow, grade the array into quadrants. Determine where within the array you want to enter (mean threshold for aggressive, upper/lower quadrant for conservative).
Step 5: Drop to a Lower Timeframe
This is where tools like the Institutional Price Blocks indicator become valuable. On a lower timeframe, look for a market structure shift at or near your higher-timeframe PD array. Use lower-timeframe PD arrays (FVGs, order blocks, breakers) for precision entry. The CRT with Key Levels indicator can help identify these structural shifts automatically.
Step 6: Manage the Trade Using the Matrix
Your targets should be the PD arrays on the opposite side. If you entered long at a discount order block, your targets are the premium arrays above: the nearest FVG, then the order block, then the old high. Partials at each level protect profits while allowing for the full run.
The MTF Confluence Key Levels indicator can help visualize where these multi-timeframe PD arrays stack, giving you a clearer picture of where price is likely to react across different timeframes.
Common Mistakes with PD Arrays
Treating All PD Arrays Equally
A volume imbalance does not carry the same weight as an order block. A fair value gap inside the 25-75% zone of the 20-day range does not carry the same weight as one outside of it. Use the matrix ranking. It exists for a reason.
Ignoring Premium/Discount Context
Marking a bullish order block in the premium zone and expecting it to hold for a long entry is fighting the framework. Bullish order blocks are discount arrays. They belong below equilibrium. If one exists in premium, it is much less likely to produce a significant reaction in the bullish direction.
Using PD Arrays Without Time Context
A PD array that forms during a dead period (outside kill zones, during lunch) carries less weight than one that forms during displacement at 7 AM or 9:30 AM Eastern. The Asian session creates the range. London and New York displace through it. PD arrays formed during displacement carry the highest conviction.
Forcing Entries at Every PD Array
Not every PD array requires a trade. If order flow does not confirm, if the array has already been mitigated, or if it sits outside the active quadrant of the 20-day range, pass on it. The matrix is a filter, not a signal generator.
The PD Array Matrix and Timeframes
The matrix applies across all timeframes, but the weight of a PD array scales with the timeframe it was created on. A daily order block carries more significance than a 5-minute order block. A weekly fair value gap outranks a daily one.
When multiple timeframes align, such as a daily order block sitting inside a weekly fair value gap at a level that is in the discount quadrant of the 20-day range, you have a setup with the highest conviction the matrix can produce.
For scalping on lower timeframes, the matrix still applies. You simply compress the look back to match your trading horizon. A 5-minute chart scalper might use a 20-period look back on the hourly chart to define the range, then identify PD arrays on the 15-minute and 5-minute charts within that range. The hierarchy and ranking remain the same regardless of timeframe.
The Smarter Money Suite indicator can assist with identifying these multi-timeframe PD arrays automatically, mapping out order blocks, fair value gaps, and liquidity levels across your preferred timeframes.
Bringing It Together
The PD Array Matrix is not a standalone strategy. It is the organizational framework that tells you which price levels matter, how strongly they attract price, and in what order price is likely to interact with them.
Without it, you are marking random order blocks and fair value gaps with no way to prioritize. With it, you have a structured hierarchy that aligns with how the algorithm references past price action to deliver future price.
The process is always the same:
- Define the range (20-day look back)
- Grade it into quadrants
- Identify premium and discount arrays within the relevant zone
- Rank them using the matrix
- Validate with order flow
- Grade each array for precision entry
- Target the opposite side's arrays for exits
Master this framework, and you stop guessing which levels will hold. You start anticipating them.