ArdenAlgo · Concepts · Liquidity sweep

Liquidity sweep

Learning path 2/6 · Stops taken, move rejected

Published 24 Jul 2026 · every rule box checked against mechanization v1 (frozen 16 Jul 2026) · parameter changes land in the changelog first

In three sentences
  • A sweep is a wick beyond a mapped level with the body closing back on the original side — on a closed 15-minute bar.
  • Body closes beyond the level = a run (genuine break); the engine deliberately ignores it.
  • A sweep alone triggers nothing: it arms a 16-bar window in which structure must answer.

What it is

Price pushes through a mapped level just far enough to trigger the stops resting behind it, then closes back on the original side. The liquidity is taken; the breakout never materializes. That rejection — not the poke itself — is the event.

The exact engine rule

Mechanization v1 On a closed M15 bar: the wick trades beyond a mapped level while the body closes back on the original side. If the body closes beyond the level instead, the event is classified as a run — a genuine break — and is deliberately ignored. Sweeps are only meaningful against the liquidity map's untapped levels, and only while a zone is armed.

Why the closed bar matters

Mid-bar, every sweep looks like a breakout and every breakout looks like a sweep. The distinction only exists at the close. Tools that label sweeps intrabar are guessing, then quietly relabeling — which is exactly the repaint behavior this engine was built to make impossible.

Common misuse

Calling any long wick a "sweep". Without a mapped level behind it, a wick is just volatility. And without the body-close-back condition, you are trading against a breakout, not with a rejection.

Common questions

Is every long wick a sweep?

No. Without a mapped, untapped level behind it, a wick is just volatility. The level must exist before the event.

Why does the closed bar matter so much?

Mid-bar, a sweep and a breakout are literally the same picture. The distinction only exists at the close — which is why intrabar sweep labels repaint.

What happens after a sweep?

The confirmation clock starts: the last opposing swing must break by body close, with displacement, within 16 bars — otherwise the sequence resets.

On real charts — marked vs. left alone

Below: the engine's own markings, captured from our TradingView indicator on live charts — screenshots, not illustrations. The second frame in each pair is the one nobody in this category publishes: a candidate that looks like the pattern and gets no mark, because it misses a threshold above. Rules are only testable if their failures are visible too.

The engine marks this
Engine-marked liquidity sweeps on a BTCUSDT.P 15-minute chart
Each SWEEP tag sits on a closed bar whose wick went beyond a mapped level while the body closed back on the original side.
The engine leaves this alone
A run: the long down bar pierced the prior low and closed far beyond it
Same chart, hours later. The tall bar in the middle broke the prior 20-bar low and closed roughly 360 points below it — body beyond the level, no rejection. That is a run, not a sweep, so the engine left it unlabelled while tagging the smaller wick-and-close-back bars around it. Across this chart's history, more bars pierced an extreme and closed beyond it than wicked and closed back.
Engine-marked liquidity sweeps on a SOLUSDT.P 15-minute chart — wick takes with body closes back

Wider view of the same indicator on a live chart.

Marks are drawn on closed bars by the ArdenAlgo indicator (v1.2) — the free showcase that mirrors the engine's definitions. About the indicator →

Related

Liquidity map · Market structure shift · Full methodology