The absolutely no lag lwma indicator runs one linear weighted average through a second one, then subtracts to pull the result forward. ZL LWMA Up and ZL LWMA Down colour the line by its slope. Buy and Sell arrows mark the bar where that slope changes sides.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Main price chart |
| Plots | 4: ZL LWMA Up, ZL LWMA Down, Buy, Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 8 |
What the Absolutely No Lag LWMA Indicator draws on the chart
ZL LWMA Up (lime) carries the line while it rises against the previous bar.
ZL LWMA Down (red) takes over while it falls.
Buy (lime, code 233) sits under the low on the bar where the slope turns up.
Sell (red, code 234) sits above the high on the opposite turn.
- ZL LWMA Up: line, lime, width 3
- ZL LWMA Down: line, red, width 3
- Buy: arrow, lime, width 4, arrow code 233
- Sell: arrow, red, width 4, arrow code 234

How the Absolutely No Lag LWMA Indicator calculates its values
Two weighted averages, one subtraction
A linear weighted average of the closes comes first, over MaPeriod bars. A second weighted average then runs over that first series, using the same length.
The plotted value is double the first average minus the second. Smoothing twice adds lag, and that subtraction pushes the result back towards price to cancel most of it.
Colouring by slope
Direction comes from a single comparison against the previous bar. A value at or above the previous one counts as up, and anything lower counts as down.
Only the buffer matching the current direction receives a value, so the line appears to change colour where the slope turns.
Where the arrows come from
The code compares this bar direction against the one before it. A turn from down to up drops a Buy under the low, and the reverse puts a Sell above the high.
ArrowOffsetPoints sets the gap, multiplied by the symbol point size. It has no bearing on when a turn counts.
How to read the signals
Colour is the state and the arrow is the change. A long lime stretch means the slope held up throughout.
This tracks price more tightly than a plain weighted average of the same length, which is the whole reason for the second pass.
Because it tracks tightly, a quiet range produces colour changes and arrows in quick succession.
The calculation reserves double MaPeriod plus two bars, so the left edge of a fresh chart stays blank.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
Alerts run through popup, push, email and sound on each slope turn. A bar time check keeps it to one alert per closed bar.
Every Absolutely No Lag LWMA Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
MaPeriod |
MaPeriod sets the length of both weighted averages. It defaults to 32. A longer setting smooths the line and delays each turn. | 32 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPoints |
ArrowOffsetPoints is the cosmetic gap between an arrow and its candle, 30 points by default. | 30 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
master toggle. EnableAlerts gates the message block and defaults to true. | on |
EnablePopup |
MT4 popup dialog. | on |
EnablePushNotify |
mobile MT4 push notification. | off |
EnableEmail |
SMTP email (Tools > Options > Email). EnableEmail routes each turn to your configured address. It defaults to false. | off |
EnableSound |
play sound file from MT4/Sounds/. | off |
SoundFile |
(see inputs panel) | alert.wav |

Settings that fit your chart
The screenshot uses EURUSD H1. Thirty two bars on H1 covers more than a trading day, which suits pairs that trend within a session. H4 and daily give a much slower line with rare turns. Below M15 the tight tracking turns into frequent flips, and lengthening MaPeriod helps more than changing timeframe.
When the Absolutely No Lag LWMA Indicator fails
The name overpromises. Subtracting the second pass removes most of the delay a double average introduces, and no filter built from past prices can remove lag entirely.
Pulling the line towards price also pulls in the noise, so ranges produce runs of quick colour changes.
Slope direction comes from one bar against the previous one, with no threshold, so a move of a single point flips the state.
Both averages share MaPeriod, so there is no way to smooth heavily and still react quickly.
Copy the compiled Absolutely No Lag LWMA Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Background reading on the method behind the Absolutely No Lag LWMA Indicator: No-par stock on Wikipedia, ATR at Investopedia.
Download the Absolutely No Lag LWMA Indicator for MT4 and MT5
The zip holds the compiled Absolutely No Lag LWMA Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
Does this really remove all lag from the LWMA?
No filter built from past prices can. Running a weighted average through a second one adds delay, and taking double the first minus the second cancels most of that back out. The result reacts much faster than a plain average of the same length, which is what the technique buys you.
What does MaPeriod 32 apply to, one average or both?
Both. The first weighted average runs over 32 closes, and the second runs over 32 values of that first series. Raising MaPeriod smooths the line and delays every turn. Lowering it tracks price harder and produces far more arrows.
How does the line decide between the up and down colour?
It compares the current value against the previous bar value. At or above counts as up, anything below counts as down. Only the matching buffer receives a value on that bar, which is what makes the line appear to change colour at a turn.
Why does the ZL LWMA Up line start so far from the left edge?
The second average needs the first one already built, so the calculation reserves double MaPeriod plus two bars before it writes anything. At the default that is 66 bars with no line and no arrows on them.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Absolutely No Lag LWMA Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Also, still, hence, plainly, yet, browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in No-par stock on Wikipedia.
- Additional market context is at Atr at Investopedia.
