Reversal and Breakout Signals runs on MT4 and MT5 and marks two things: bars that broke a level with volume behind them, and bars that reached through a level and closed back inside it.
The interesting part isn't either signal. It's how a price gets to be a level in the first place.
A level is a rolling high that stopped moving
The tool tracks the highest high and the lowest low of the last 20 bars. That much is ordinary. What it does with them isn't.
It only commits a value to memory on the bar where the rolling extreme is unchanged from the previous bar. While the 20-bar high is climbing, nothing gets stored. The moment it goes flat, the value it went flat at becomes the stored high, and it stays there until the rolling extreme goes flat again somewhere else.
The effect on the chart is those stepped red and green lines: long horizontal runs, then a jump. Each flat section is a price the market stopped pushing past. Each step is the market having moved on to a new one.
This is why the levels look nothing like a Donchian channel even though they're built from the same rolling extremes. A Donchian band moves with every new high. This one deliberately does the opposite โ it waits for the pushing to stop, and only then calls the price a level.

The two signals
Breakout. A bar that opens on one side of the stored level and closes on the other, in the direction of the break, with volume above threshold. Volume here is tick volume compared against its own 20-bar average, and the default threshold is 2, so the bar needs roughly double the recent average activity. The break also counts if it happened within the last four bars and the current candle is still pushing the same way, which stops a break that closed just short from being missed entirely.
Reversal. A bar whose low went below the stored low and whose close came back above it, or the mirror image at the stored high. No volume condition. This is the rejection wick, marked on the bar it happened.
Both signals carry a four-bar cooldown against themselves. You won't get five reversal arrows in a row down one leg.
The state machine that suppresses the wrong signals
There's a trend state behind the scenes, and it's the reason the chart stays readable.
A confirmed bullish breakout sets state to bullish. A bearish one sets it bearish. The state clears when price crosses back through the level it broke.
While the state is bullish, bearish reversal arrows are not drawn at all. While it's bearish, bullish ones aren't. So the counter-trend rejection you'd normally get halfway up a strong move simply doesn't appear on the chart, on the basis that the last confirmed volume event said the market was going the other way.
| Typical breakout indicator | This | |
|---|---|---|
| What counts as a level | Every new N-bar high | Only a rolling extreme that has gone flat |
| Volume | Optional, often absent | Required for a breakout, not for a reversal |
| Repeat signals | One per qualifying bar | Four-bar cooldown per signal type |
| Counter-trend signals | Drawn regardless | Suppressed while the state disagrees |
That suppression is the setting people would most want and there isn't one for it. If you're looking for the exhaustion wick at the end of a run, this tool has decided not to show it to you.
The tracker line
While the state is bullish or bearish, a 30-period Hull moving average is plotted, green for bullish and red for bearish. When the state is flat, neither line draws.
So the tracker is the same average in both colours, split by which state you're in, and its gaps are informative: no line means no confirmed direction since the last level was given back.
What it publishes
Five plotted buffers: stored high, stored low, the midpoint between them, and the two coloured tracker lines. These are readable from an EA through iCustom, which is unusual for this kind of tool and worth knowing if you're building something around it.
The arrows and breakout marks are not buffers. They're chart objects, so signals themselves don't come out that way โ you'd have to reconstruct them from the level buffers, or take them off the alert stream.
Where it's weak
The Colour Candles During Trends input does nothing. It's declared and it isn't read anywhere in the current build, on either platform. The trend colouring lives on the tracker line instead. Leave it alone; toggling it changes nothing.
Tick volume is not volume. On FX there's no real traded volume, so the threshold is measuring how many price updates arrived. That correlates with activity well enough to be useful and it is not the same thing, and it varies between brokers. If breakouts almost never confirm on your feed, lower the threshold before you conclude the market is quiet.
Levels appear late by design. The rolling extreme has to go flat first, which means the level is only drawn once price has already stopped making new extremes. On a chart that trends without pausing you'll see the line lag well behind the actual high.
Nothing is drawn until a level exists. The buffers hold zero and stay invisible until the first flat rolling extreme, so a fresh chart on a fast-moving symbol can look empty for the first stretch.
Everything runs on bar close. The forming candle is never evaluated, so a breakout confirms when the bar finishes, not when price crosses.
Questions you'll have
Does Reversal and Breakout Signals repaint? No. The whole calculation sits behind a new-bar check and stops one bar short of the live candle. A level or an arrow placed on a closed bar stays where it was put.
Why did an obvious rejection get no arrow? Most likely the trend state disagreed with it. A bullish reversal is suppressed while the state is bearish, and the other way round. The state clears when price crosses back through the level that set it.
Why is my breakout not marked? The volume condition. The bar needs tick volume above the threshold multiple of its 20-bar average, defaulting to twice. A clean break on quiet volume is deliberately ignored.
What is the grey line? The midpoint between the stored high and the stored low. It's a plotted buffer, so you can read it from an EA.
Best settings for lower timeframes? Raise Indicator Period from 20 before anything else. On M5 a 20-bar extreme goes flat constantly, and the levels multiply.
Can I read the signals from an EA? The three levels and both tracker lines are buffers, so yes for those. The arrows are chart objects, so no for the signals themselves; use alerts for those.
MT4? Both platforms are included, one download each. Same levels, same volume rule, same state suppression.
Support
Message me through the site with a screenshot, the symbol and the timeframe, and I'll tell you which condition blocked a signal you expected. Updates are included for as long as your subscription runs.
Analysis tool. It places no trades and makes no profitability claim. Past price behaviour is not a guide to future price behaviour.