Zero-Lag MA Trend Levels runs two averages on MT4 and MT5 and crosses them, which is the least interesting thing about it. What it does with the crossover is the reason to have it.

Every cross leaves a box behind, one ATR tall, anchored at the price where it happened. The signal isn't the cross. The signal is price coming back to that box later while the trend is still intact.

The origin box at the crossover, the sell signal on the return, and the mitigated box drawn dotted, EURUSD H1

The two lines

The slow line is a 15-period EMA of close. Ordinary.

The fast line is a zero-lag EMA, built the standard way: take the close, add the distance between the close and the EMA back on top of it, and run an EMA over that corrected series. Doubling the current deviation before smoothing is what cancels most of the lag, and the cost is that the line overshoots at turns.

Both are coloured by state rather than drawn in one colour:

  • The zero-lag line takes its colour from its own three-bar slope. Rising, falling, or flat.
  • The EMA takes its colour from which side of the zero-lag line it's on.

So the two colours answer two different questions. One tells you which way the fast line is moving; the other tells you whether the pair is aligned. They disagree on exactly the bars worth looking at, which is the point of colouring them differently.

The boxes

At a bullish cross, a box is created from the crossing price down by one ATR. At a bearish cross, up by one ATR. The ATR is a 200-period one, so the box height is a long-run measure of the instrument rather than something that shrinks in a quiet hour.

Each box extends to the right for as long as it's alive. It dies when a close goes through its far side.

The signal has three conditions

Price re-entering a box isn't enough. All three of these have to hold:

  1. Price wicks into the box. The bar's low enters a support box, or its high enters a resistance box.
  2. No crossover on this bar or the previous one. The signal is for a pullback into an established level, not the cross itself. This is the condition that stops the tool signalling on the same bar the box was born.
  3. The pair is still aligned. For a buy, the EMA has to still be below the zero-lag line. If the pair has re-crossed, the box is stale and it stays quiet.

When all three hold you get an arrow, and the box switches to a dotted outline so a used level never looks like a fresh one.

Ordinary MA crossover indicator This
Entry The crossover itself Price returning to the level the crossover left
Line colour Fixed Slope for one line, alignment for the other
Level size Not applicable One ATR of a 200-period average
Stale levels Stay drawn Removed when a close goes through
Used levels Look identical Dotted outline

What it publishes

Four plotted buffers: the zero-lag line split into rising and falling, and the EMA split by which side of the zero-lag line it's on. iCustom gets both lines and both states, which is enough to reconstruct the trend condition in an EA.

The boxes and arrows are chart objects and aren't readable that way.

Where it's weak

A zero-lag average overshoots. That's the trade you make for removing lag: at a sharp turn the corrected series pushes past the price and the line whips. On a choppy chart the crossovers come in pairs, and each one leaves a box.

Boxes accumulate. There's no cap and no expiry other than being closed through. On a ranging chart you'll end up with several overlapping boxes at the same prices, all live, all signalling separately.

The three-bar slope colouring is short. The zero-lag line can flip colour on a single flat stretch, which reads as a trend change when nothing changed. It's a slope reading, not a trend call.

One ATR is one setting for both directions. A resistance box in a downtrend and a support box in a quiet range are drawn the same height, because the height comes from the instrument, not from the setup.

Alerts are on by default here, unlike most tools in this family. One per bar, but if you drop this on twenty charts it will talk to you. The Notification type input is under a heading marked AI settings, which is a labelling slip in the source, not a different feature.

Questions you'll have

Does Zero-Lag MA Trend Levels repaint? The lines are recomputed on every tick for the forming bar and stable behind it, which is normal for a moving average. Boxes are created on the crossover bar and stay at that price. A box that disappears was closed through, not moved.

Why did I not get a signal when price came back to the box? One of the three conditions failed. Most often the averages had re-crossed, so the box was no longer aligned with the trend, or a crossover happened within the last bar.

Why did the box turn dotted? Price came back into it and the signal fired. Dotted means used.

Why did a box disappear? A close went through its far side, so the level had been given up.

What's the difference between the two lines? The fast one is a zero-lag EMA, which reacts sooner and overshoots at turns. The slow one is a plain 15-period EMA. Their crossing is what creates a box.

Can an EA read the lines? Yes. Both lines are plotted buffers, split by state, so iCustom gets you the values and the trend condition. The boxes and arrows are chart objects and aren't available that way.

Best timeframe? H1 and H4. On M5 the zero-lag overshoot produces crossover pairs and the chart fills with boxes.

MT4? Both platforms are included, one download each. Same averages, same ATR box, same three conditions.

Support

Message me through the site with a screenshot, the symbol and the timeframe, and I can tell you which of the three conditions blocked a signal. 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.