Structure breaks. A clean order block is left behind. You mark it, price comes back, you enter at the top of the zone, and price runs twenty pips past your stop before turning around and going exactly where you thought it would.
Nothing was wrong with your zone. What was wrong was the timing. Between the pullback low and the break of structure there's almost always a small, obvious low sitting in plain sight, and every trader watching that chart has an order under it. That low isn't support. It's fuel. Price is going to take it, and only then is the zone behind it worth anything.
Most structure indicators never draw that low. They mark the order block, extend it forward, and leave you to guess whether the tap you're watching is the real one or the one that exists purely to collect your stop.

Reading it
Uppercase labels come from the main structure. Lowercase labels come from a second, finer swing scale that exists purely to expose the small moves inside it.
| Label | What it is |
|---|---|
| A | the low the leg starts from |
| B | the structure high that's going to be broken |
| C | the pullback low that holds the order block |
| c1 | the minor high inside the leg away from C |
| c2 | the minor low after it, and this is the inducement |
| BOS | the horizontal line from B to the bar that broke it |
| D | the new high after the break, drawn as the TARGET line |
| entry | price sweeps c2, taps the order block at C, and the levels appear |
A bearish setup is the exact mirror, top to bottom.
It arrives in two stages. The whole picture is drawn as soon as the swing at D confirms, with the zone in a "waiting" colour, and nothing has happened yet. The entry label and its two boxes appear later, only if price actually returns and takes the inducement while the block is still alive. If price never comes back, the pattern stays at stage one forever and no entry is invented to make the picture look finished.
The inducement is the entry condition, not a decoration
Drawing the trap is the easy half. The half that changes results is refusing to call anything an entry until the trap has been sprung.
By default the indicator requires the inducement to be taken first. Price reaching the zone without having swept c2 isn't an entry, it's price arriving early, and that's exactly the sequence that produces the stop-hunt you've been eating. Both halves of the rule are switchable: you can require an inducement to exist before a pattern is accepted at all, and separately require it to be swept before an entry counts. Turn both off and you get plain order-block behaviour, which makes the difference measurable on your own chart rather than arguable.
The inducement also has to be a real one. A minor low sitting below C isn't a pullback inside the leg, it's a break of it, and the pattern gets rejected rather than stretched to fit.
Two structure engines, one dropdown
There's no universally correct way to decide what counts as a swing, and that choice changes everything downstream. So there are two independent engines and one parameter to pick between them.
Bar-based. A swing must stand clear of a fixed number of bars each side. Predictable and easy to reason about. Its weakness is that it measures structure in bars, so the same market move is recognised when it develops slowly and missed when it develops quickly.
Volatility-based, which is the default. A swing confirms when price retraces against it by a configurable multiple of current volatility. Nothing is counted in bars, so one setting travels between a fast metal and a slow currency pair without re-tuning. This engine is also stricter about validation: the break of B must be a genuine close beyond it, recorded before D forms, so a long wick through the high that closes back underneath isn't a break. And if price closes beyond A before D is reached, the whole chain is discarded instead of counted.
Both engines feed identical downstream logic. Same inducement rule, same order block, same entry, same levels. Flipping the dropdown changes only how structure is read, which is what makes the comparison on your own instrument meaningful.
Zones that know when they're dead
An order block is liquidity, and liquidity only matters while price hasn't traded through it.
Every zone here has a lifetime. It stays valid until a candle closes beyond it, never merely wicks beyond it. A wick that pierces the zone and closes back inside leaves the block alive, which is right: reaching for liquidity and failing to hold there is a signal, not an invalidation.
When a zone dies before it ever produced an entry, the whole pattern is discarded, off the chart and out of the statistics. Setups that never became tradeable don't get to flatter the numbers.
The levels follow the same discipline. The stop is pushed outside the zone, away from the entry, so the position has room. The target is pulled inside D, towards the entry, so profit is taken before price is required to break the prior extreme. If the geometry leaves no room between entry and target, the setup is dropped rather than reported as a trade that won the moment it opened.
The panel, and what its numbers are not

A compact panel shows Total, Won, Lost and a win rate, separately for buys and sells. Two things about it matter more than the numbers.
They're computed on your chart: your symbol, your broker's history, your timeframe, your settings. Change the engine, move the swing sensitivity, switch the inducement requirement off and on, and the panel recalculates. You're not being asked to believe someone else's screenshot.
And they're deliberately pessimistic. A bar that touches both the stop and the target is recorded as a loss, because the indicator can't know which came first and the gloomy reading is the honest one. Patterns whose zone died before an entry are removed from the sample rather than counted as losses avoided.
Read it for what it is: a fast, close-only historical tally that ignores spread, commission, slippage and execution quality. It's for comparing settings against each other. It is not a broker statement, it isn't a forecast, and the number you see on a screenshot is that chart on that day.

Alerts
Two modes. Touch fires the moment price trades into the zone. Bar close fires only when a bar closes into the zone without closing beyond it, so a wick through the block that closes back inside still counts.
Either way the alert follows the setup that's still waiting rather than one that already played out, and where the inducement rule is on it waits for the sweep too. One alert per bar per direction, at most. Loading the indicator or restarting the terminal never replays history: the first calculation pass runs silently by design. Terminal pop-up, mobile push, email, or Telegram.
Settings worth knowing about
| Parameter | Default | What it does |
|---|---|---|
| Detection method | Volatility-based | Which structure engine is active |
| Major swing threshold | 2.0 | Volatility multiple a retracement must reach to confirm a main swing. The primary sensitivity control |
| Minor swing threshold | 0.7 | Same idea for the finer scale that exposes the inducement |
| An inducement is required | On | Reject structures that never left a trap behind |
| Entry only after the sweep | On | The inducement must be taken before a tap counts |
| Draw only newest + waiting | Off | Chart shows only what's still actionable. Statistics still cover the full history |
| Bars to calculate | 3000 | History depth. Raise it for a larger sample |
| Stop / take profit offset | 1.0 / 1.0 | How far outside the zone and inside D the levels sit, in volatility multiples |
| Colour theme | Light | Light, Dark, or Custom |
Everything else is presentation: fonts, individual colours, panel position.
What to expect
Not every pattern produces a trade. Price frequently never comes back, or comes back without ever taking the inducement. That's normal and it's visible: those patterns stay at stage one instead of being quietly converted into signals.
Structure appears after its final swing confirms, not at the exact high or low. Every honest structure reading has this delay, because a swing isn't a swing until price has moved away from it. What it does guarantee is that it never looks forward: the entry is only ever searched for on bars after the pattern became visible, so what you see on history is what you'd have seen live.
Swing sensitivity is the setting that moves results the most, and the right value depends on your market. Loosen it and you catch only large structures; tighten it and you catch many more, with more noise. Use the panel to find the balance on your instrument instead of assuming the defaults suit you.
Run it on a demo chart for a couple of weeks before you rely on it. Watch how the zones and the sweeps behave on your symbol. That's the only test that counts.
Questions you'll have
Which engine should I start with? Volatility-based. Then switch to bar-based on the same chart and look at the panel. One of them usually suits a given instrument obviously better.
Why is my chart so busy? Turn on "draw only newest plus waiting". The statistics keep scoring the full history behind it, so you lose nothing but the clutter.
Higher timeframe context? Attach a second copy to a higher-timeframe chart. It doesn't pull other timeframes behind your back, and object names are made unique automatically so instances never collide.
MT4 or MT5? Both, and your subscription covers both.
Support
Message me through the site with a screenshot showing the panel, plus the symbol and timeframe. Reported issues get reproduced on the affected symbol before anything changes. Updates are included for as long as your subscription is running.
Analysis tool. It places no trades and makes no profitability claim. Past price behaviour is not a guide to future price behaviour.