High-Resistance & Low-Resistance Liquidity Runs
Also known as: LRLR, HRLR, low-resistance liquidity run, high-resistance liquidity run, clean vs messy liquidity
What is it?
A liquidity run is price travelling from where it is now to a pool of resting orders - a cluster of stops above old highs or below old lows. The run is low-resistance (LRLR) when nothing stands in the way, and high-resistance (HRLR) when price has to work through opposing arrays to get there. What counts as resistance is anything that gives the other side a place to trade back: an unmitigated order block, an unfilled fair value gap, a breaker, or a stack of intermediate highs and lows in the path. A low-resistance run has a clean corridor - the pool sits above a stretch of chart where price already delivered efficiently, so there is nothing left to react to.
Low-resistance vs high-resistance liquidity runs
Low-resistance run (LRLR)
- No unmitigated order block, gap or breaker between price and the pool.
- Price already delivered efficiently through that stretch of chart.
- GBP/USD swept the 1.2740 equal highs in two 15-minute candles.
- Plan: the target is realistic to hold a runner for.
A clean corridor - if the run starts, it should travel.
High-resistance run (HRLR)
- Two or more opposing arrays screen the pool from current price.
- Each array gives the other side a place to trade back from.
- The 1.2802 highs took four hours and stalled 6 pips short.
- Plan: take a partial at the first array instead of holding.
An obstacle course - expect stalls, size and exit for them.
A high-resistance run has three or four of those arrays between price and the pool. On GBP/USD, equal highs at 1.2740 sat 30 pips above price with no unfilled gap and no order block in between; price ran the pool in two 15-minute candles. The same session, equal highs at 1.2802 sat above two unmitigated bearish order blocks - price took four hours and three failed pushes to get there, and stalled 6 pips short. The distinction is a filter, not a signal.
It does not tell you the run will happen; it tells you what the run should look like if it does, and how much room your stop needs. A target reached through a low-resistance corridor is worth holding for. The same target behind three opposing arrays needs a smaller size and a wider tolerance for chop, because each array is a place the move can stall. Your capital is at risk on either read.
Why it matters: It tells you whether the path to your target is a clean corridor or an obstacle course, which decides how far you can realistically hold a runner.
The same target is a fast, holdable move through a low-resistance corridor and a stalling grind through a high-resistance one, so the read changes both your size and your exit plan.
Real-world example
On GBP/USD 15m, the 1.2740 equal highs sat above a clean corridor and were swept in two candles; the 1.2802 highs, screened by two unmitigated order blocks, took four hours and stalled 6 pips short.
How SignalBots handles it
SignalBots signals publish the target level alongside the entry and invalidation, so you can check the chart between price and that target before deciding how much of the position to hold for it. See /risk-warning.
Pro tip
Before taking a setup, count the unmitigated arrays between entry and target - two or more and you should plan a partial exit at the first one rather than holding for the pool.
Common pitfalls
Treating a low-resistance corridor as a promise that price will run it, when it only describes how the move should behave once it actually starts.
Frequently asked questions
How do I tell a low-resistance run from a high-resistance one before it starts?
Mark every unmitigated order block, unfilled fair value gap and breaker between current price and the pool you are targeting. An empty path is low-resistance; two or more arrays make it high-resistance.
Does a high-resistance run mean I should skip the trade?
No, it means you should plan it differently. Take a partial at the first opposing array rather than holding the full position for the pool, and expect the move to take longer than a clean run would.
Which timeframe do I judge resistance on?
The timeframe you are targeting on. Arrays that matter for a 15-minute target are the 15-minute and 1-hour ones; every 1-minute gap in the path would make every run look high-resistance.
Do fair value gaps in the direction of the run count as resistance?
No. An unfilled gap on the same side as your move is a support shelf under price, not an obstacle. Only arrays that give the opposite side somewhere to trade back from count.
Is this the same as saying the market is trending or ranging?
Related but not the same. A trend often produces low-resistance runs because price is delivering efficiently, but a single leg out of a range can be just as clean. Judge the path, not the regime label.
Trading involves substantial risk of loss. Historical and backtested results do not guarantee future performance. Read the full risk warning.