What is Price Has Two Objectives?
Price moves for two reasons only — to seek liquidity (pools of resting orders) and to rebalance inefficiency (Fair Value Gaps). Fair Value Gaps are NOT liquidity; they are inefficiencies. Understanding this distinction is the single biggest mental shift in becoming a price-action trader.

Objective #1 — Seek liquidity
Price is drawn to pools of liquidity where orders rest. Stops above swing highs are liquidity. Stops below swing lows are liquidity. Pending orders above resistance are liquidity. Pending orders below support are liquidity. When you map every chart, the FIRST question is: where are the pools of resting orders?
Liquidity is binary — the orders exist, or they don't. Once swept, that pool is gone and the algorithm needs to find the next one. That is why price keeps drifting: one pool is consumed, the next becomes the target.
Objective #2 — Rebalance inefficiency
Price moves to correct imbalances and rebalance what is off. When price displaces hard, it leaves Fair Value Gaps — 3-candle structures where the first candle's wick and the third candle's wick do not overlap. That gap is INEFFICIENT — orders were not filled there during the displacement. The algorithm is built to be efficient, so it eventually comes back to fill them.
Unlike liquidity, inefficiency is geometric — it is a zone that needs filling, not a price point with stops behind it. Treating it differently in your trading is critical.
Fair Value Gaps are NOT liquidity
That is where most traders get confused. They mix up liquidity with inefficiency. They see a swing high and assume it must be filled because the algorithm "wants to be efficient" — but a swing high is liquidity, not inefficiency. It is a destination, not a zone to rebalance. Conversely, they treat FVGs as targets of "buyside delivery" — but no one has stops there. It is a zone to rebalance, not a destination.
Clarity removes the noise. First, understand what lies OUTSIDE the range (ERL — true liquidity) and what lies INSIDE it (IRL + inefficiencies). Context gives every move a reason — and price stops looking random.
How this changes your trading
When you accept the two-objective model, your reads change permanently. You stop predicting; you start ranking objectives. Before every trade, you ask: what is the nearest unfilled inefficiency? What is the nearest unswept liquidity pool? Which one is closer to current price? Which one is more significant on the higher timeframe?
Price can look random when the destination is unclear. The two-objective model is the lens that makes the destination clear.
- Treating FVGs as liquidity targets — no one has stops at an FVG
- Treating swing highs as inefficiencies — they are stops, not rebalance zones
- Trading reversal at FVG entry without confirmation that liquidity has been swept first
- Ignoring the higher-timeframe range context — context determines which objective dominates
