Skip to content
MT5MT4soonTradingViewsooncTradersoonNinjaTradersoonPythonsoon
IndicatorTrend indicatorsMT5No repaint

EMA Trend Wall

Free EMA Trend Wall indicator for MT5: 200 EMA with an ATR band, cross and retest arrows, status panel. Lab repaint test: 0 of 290 signals changed.

Add to a kit
CompareRequest a variant
Embed
EMA Trend Wall on XAUUSD M15, MT5 chart with default settings: ema 200, band upper, band lower
Screenshots from a real MT5 chart · 9 · scroll sideways
EMA Trend Wall inputs window in MetaTrader 5 with the default settings
EMA Trend Wall inputs window in MetaTrader 5 with the default settings
EMA Trend Wall Bullish Cross arrow on XAUUSD M15, 27 Oct 2026 15:15
EMA Trend Wall Bullish Cross arrow on XAUUSD M15, 27 Oct 2026 15:15
EMA Trend Wall Bearish Cross arrow on XAUUSD M15, 26 Oct 2026 20:15
EMA Trend Wall Bearish Cross arrow on XAUUSD M15, 26 Oct 2026 20:15
EMA Trend Wall Bearish Cross arrow on XAUUSD M15, 22 Oct 2026 01:45
EMA Trend Wall Bearish Cross arrow on XAUUSD M15, 22 Oct 2026 01:45
EMA Trend Wall on XAUUSD H4 (another timeframe)
EMA Trend Wall on XAUUSD H4 (another timeframe)
EMA Trend Wall on XAUUSD M5 (another timeframe)
EMA Trend Wall on XAUUSD M5 (another timeframe)
EMA Trend Wall on-chart panel: last signal and status
EMA Trend Wall on-chart panel: last signal and status
EMA Trend Wall on EURUSD M15
EMA Trend Wall on EURUSD M15
EMA Trend Wall zoomed out on XAUUSD M15: several weeks of history
EMA Trend Wall zoomed out on XAUUSD M15: several weeks of history
Test verdictPassed
Repainted
0 / 290
Signals / week
≈ 22.1
Tested on
EURUSD M15
Tested
2026-10-09
Download free · Google DriveFree account needed · sign in with Google in one clickFree — share it freely. Just don’t sell, crack or modify it. Licencev1.00 · 105.2 KB · .ex5
Lab pick — built by the lab, not from a member request. Want something like it? Request a tool

Overview

EMA Trend Wall is a free MT5 indicator for trend traders who watch the 200 EMA. It draws a 200-period EMA on your price chart, puts a thin ATR band around it, and places an arrow on a closed bar when price breaks through that band or comes back to retest it. In the Lab's repaint test on EURUSD M15, 0 of 290 signals changed after their bar closed, and no arrow showed up late.

It gives you a clear rule for one question: has price really crossed the line, or is it only touching it?

What EMA Trend Wall draws on your chart

The band is ATR-based, so it widens in fast markets (EMA and ATR are explained in the glossary).

  • EMA 200 line: colored by its slope as Up, Down or Flat. A flat line is gold.
  • The wall: an upper and lower band edge at EMA ± BandATRMult × ATR(14). A close above the upper edge means a Bullish bias. A close below the lower edge means a Bearish bias. A close inside the band gives no side.
  • Four arrows: Bullish Cross, Bearish Cross, Retest Hold and Retest Break.
  • Status panel: one block that sums up the trend state. It is explained in the How it works tab.

All four arrows are calculated on closed bars and draw on the main chart, not in a subwindow.

How the Lab tested it

The Lab ran version 1.00 on MT5 build 6230. The chart was EURUSD M15 from 2026-07-09 to 2026-10-08, using real ticks from Raw Trading Ltd. The repaint result above comes from that run.

The Lab then scored the same 290 signals. Each one was checked for whether price moved 1 ATR in the arrow's direction before it moved 1 ATR against it.

What the signal numbers mean for you

Across all 290 signals, 49.8% reached 1 ATR in their direction first. That is a coin flip, so the arrows give you no edge on their own. The median signal hit one of the two 1 ATR levels within 2 bars, which is about half an hour on M15. Only 3.8% hit neither level within 20 bars, so the market almost always moved soon after an arrow. On this chart the tool fired 22.1 signals per week.

The chart below breaks the result down by arrow type.

EURUSD M15 Lab test: share of signals that reached 1 ATR in their direction before 1 ATR againstIllustration
Bullish Cross
45.2%
Bearish Cross
51.5%
Retest Hold
61.5%
Retest Break
57.1%

Bullish Cross, on 126 signals, did worse than a coin flip (45.2%). Bearish Cross, on 131 signals, did slightly better. The two Retest arrows scored highest, but on small samples: 26 Retest Hold and 7 Retest Break signals. Treat the retests as promising, not proven. All of these numbers come from one pair, one timeframe and one quarter.

How it works

  1. 1
    Calculates an EMA of the chosen price, seeded by a simple average of the first period, plus a 14-period ATR.EMA = Price x k + EMA_prev x (1 - k), k = 2 / (EmaPeriod + 1)Inputs: EmaPeriod, MaAppliedPrice
  2. 2
    Builds a band around the EMA. Above the band is bullish, below is bearish, inside is at the line.Band = EMA +/- BandATRMult x ATRInputs: BandATRMult
  3. 3
    Measures EMA slope over the lookback in ATR units and colours the line up, down or flat by the threshold.Slope = (EMA - EMA lookback bars ago) / ATRInputs: SlopeLookback, SlopeFlatThresholdAtr, SlopeStrongThresholdAtr
  4. 4
    Marks a cross when bias flips, and a retest after bars away from the band: hold or break.Away if distance beyond band >= RetestMinDistanceAtr x ATR for RetestMinBarsAway barsInputs: RetestMinDistanceAtr, RetestMinBarsAway
  5. 5
    Raises a stretch alert when the close is far from the EMA, and reads higher timeframe EMA bias.Stretch if abs(Close - EMA) / ATR >= StretchAtrMultInputs: StretchAtrMult, HigherTFContext

Specifications

Platform
MetaTrader 5
Version
1.00
Type
Indicator
Window
Main chart
Draws
3 lines, 4 arrows, 1 panel
Alerts
popup, push, sound
Repaints
No (0 of 290 signals changed)
Inputs
19
Tested on
MT5 build 6230 · 2026-10-09

Repaint test

Signals logged live
290
Changed after close
0
Arrow delay
None

No repaint detected. In a 9 Jul 2026 – 8 Oct 2026 test on EURUSD M15 (Raw Trading Ltd real ticks), 290 signals were logged at bar close and re-read at the end of the test: 0 changed. Arrows print on the bar that closes the signal, with no delay.

IndicatorFree — tested 2026-10-09 · MT5 build 6230 · Raw Trading Ltd real ticks. Results come from historical data, not live trading, and do not guarantee future results.

Signal statistics

Price moved 1×ATR in the signal direction first49.8%
Price moved 1×ATR against it first46.400000000000006%
Neither within 20 bars3.8%

Over 9 Jul 2026 – 8 Oct 2026 on EURUSD M15, the indicator printed 290 arrows. After 49.8% of them, price moved 1×ATR(14) in the arrow's direction before moving 1×ATR against it (median 2 bars). 3.8% reached neither level within 20 bars.

This measures price movement after the arrow, not a trading result. It includes no spread, commission, stop loss or position sizing.

What it draws

  • A line (EMA 200) from buffer 0.
  • A line (Band Upper) from buffer 2.
  • A line (Band Lower) from buffer 3.
  • Arrows (Bullish Cross) from buffer 4, drawn on the closed bar.
  • Arrows (Bearish Cross) from buffer 5, drawn on the closed bar.
  • Arrows (Retest Hold) from buffer 6, drawn on the closed bar.
  • Arrows (Retest Break) from buffer 8, drawn on the closed bar.
  • An on-chart panel (Status); values shown in the panel are not exposed as buffers.

Inputs

InputDefaultWhat it does
EmaPeriod200EMA period (the classic value is 200)
MaAppliedPriceClosePrice used to calculate the EMA
BandATRMult0.15Band half-width around the EMA = ATR(14) x this value
ShowTouchZonefalseDraw the band edges as thin dotted lines
SlopeLookback20Bars back used to measure the EMA slope
SlopeFlatThresholdAtr0.15Slope inside +/- this value (in ATR) = Flat (gold line)
SlopeStrongThresholdAtr0.6Slope at or beyond this value (in ATR) = Strong on the panel
RetestMinDistanceAtr1Distance beyond the band (in ATR) for price to count as away
RetestMinBarsAway5Bars in a row price must stay away before a touch counts as a Retest
StretchAtrMult3Distance from the EMA (in ATR) that triggers the Stretch alert
HigherTFContextH4Timeframe for the panel bias row (Current = off)
EnablePopupAlerttruePopup alert on a new closed-bar signal
EnablePushAlertfalsePush notification on a new closed-bar signal
EnableSoundAlertfalsePlay a sound on a new closed-bar signal
SoundFileNamealert.wavSound file (in the MT5 Sounds folder)
ThemeDarkChart color theme
RestoreThemetrueRestore the original chart colors when removed
PanelCornerLeft UpperChart corner for the panel
PanelScale1Panel size multiplier (DPI is applied automatically)

How to read it

Install: copy the .ex5 file into the MQL5/Indicators folder (File → Open Data Folder), refresh the Navigator, then drag EMA Trend Wall onto a chart.

Reading the wall: EMA slope and band

The EMA color shows its slope, measured over the last SlopeLookback bars (default 20) in ATR units:

  • Flat (gold): the slope is within ±SlopeFlatThresholdAtr (default 0.15 ATR). The EMA is not trending.
  • Up / Down: the slope is outside that range.
  • Strong: the panel labels the slope Strong when it reaches SlopeStrongThresholdAtr (default 0.6 ATR) or more.

The band edges are hidden by default. Set ShowTouchZone to true to see them as thin dotted lines. You will want to see them, because every arrow is defined by these edges and not by the EMA itself.

The four arrows and what to do with each

Bullish Cross and Bearish Cross

A Bullish Cross prints when a bar closes above the upper band edge and the previous bar did not. A Bearish Cross is the mirror: a close below the lower edge after a bar that did not close there. On EURUSD M15 these fired about 9.6 and 10 times per week.

Decision rule: take a Cross only when the EMA is not gold and the panel's higher-timeframe bias points the same way as the arrow. Skip it when the EMA is Flat. This filter is a rule of thumb. The Lab has not tested it.

Retest Hold

First, price must close at least RetestMinDistanceAtr × ATR beyond the band (default 1 ATR) for RetestMinBarsAway bars in a row (default 5). Then a bar touches the band and closes back on the EMA's trend side: at or above it when price came from above, at or below it when price came from below. This is the Retest Hold. It means the wall held on this touch. It fired about 2 times per week.

Decision rule: treat Retest Hold as a continuation entry in the direction of the earlier move. Skip it if the EMA has turned gold while price was away. This filter is a rule of thumb the Lab has not tested.

Illustration: the shape of a Bullish Cross followed by a Retest HoldIllustration
Band Upper1.1003EMA 2001.1000Band Lower1.0997Away: 5 closes 1ATR+ beyond theBullish CrossRetest Hold

The EMA is drawn flat here for simplicity. On a live chart, take these arrows only when the EMA is sloping, not gold.

Retest Break

The setup is the same: price stays away for RetestMinBarsAway bars. This time, though, price comes back and closes through the far band edge. This is the Retest Break, and it means the wall gave way. Treat it as a warning to tighten or exit the old trade (57.1% on only 7 signals, so not proven). It is the rarest arrow, at about 0.5 per week.

Decision rule: use Retest Break as a signal to exit or stop adding to the old trend first. Only treat it as an entry once a Cross in the new direction agrees with it.

What the status panel shows

  • The last cross and the last retest
  • A strength value next to the latest cross or retest. The Lab did not test it, so read it as context, not as a filter
  • The EMA value and the current bias
  • The slope state and how many bars it has lasted
  • The distance from price to the EMA, in points and in ATR
  • The higher-timeframe bias, taken from HigherTFContext (default H4; set it to Current to turn the row off)

PanelCorner and PanelScale move and resize the panel. DPI scaling is applied automatically.

The inputs that change the signals

  • BandATRMult: the width of the wall. A higher value gives fewer and later Crosses. A lower value gives more Crosses and more whipsaws.
  • RetestMinBarsAway and RetestMinDistanceAtr: how far and how long price must stay away before a touch counts as a retest. Lower values give more retests that are looser.
  • SlopeFlatThresholdAtr: raise it if you want more of the chart marked Flat, which also makes the Cross filter above stricter.

Alerts

Alerts fire once per new signal, on a closed bar. EnablePopupAlert is on by default and shows the MT5 alert window. EnablePushAlert sends the alert to the MT5 mobile app linked to your terminal. EnableSoundAlert plays SoundFileName (default alert.wav) from the MT5 Sounds folder. Push and sound are off by default. A separate Stretch alert fires when price is StretchAtrMult ATR from the EMA (default 3). It warns you that price is far from the wall, not that it will reverse.

A common misread: Crosses around a flat EMA

When the EMA is gold, price drifts back and forth through the narrow band and Crosses fire in both directions. You can spot it when a Bullish Cross and a Bearish Cross appear only a few bars apart and the panel shows the slope as Flat. Neither arrow is a trend start. Wait for the slope to turn Up or Down.

Installation

  1. 1Download Ema200TrendLine.ex5 from the button above (Google Drive).
  2. 2In MetaTrader 5: File → Open Data Folder → MQL5 → Indicators. Copy Ema200TrendLine.ex5 there.
  3. 3Restart MT5 or right-click Indicators in Navigator → Refresh.
  4. 4Drag EMA Trend Wall onto a chart. For push alerts, enable "Allow push notifications" under Tools → Options → Notifications.
  5. Tested on MT5 build 6230.

Key terms and guides

Trade setup
A trade setup is the full set of conditions that must be in place before you enter a trade: the market context, a price area, an entry trigger, a stop-loss level and a target, all decided in advance.
Stop loss
A stop loss is an order attached to a trade that closes it automatically when price moves against you to a level you chose in advance. It fixes the most you plan to lose on that trade before you open it. You enter it as a price in the order window.
Trend
A trend is the main direction price keeps moving in over a period. In an uptrend price makes higher highs and higher lows. In a downtrend it makes lower highs and lower lows.
Market Noise
Market noise is the small, random back-and-forth price movement that has no lasting direction. It comes from routine buying and selling, not from a real change in what traders think an asset is worth.

More on this subject: Trend & moving averages guide, terms and tools

User reviews

No reviews yet. Members who download the tool can review it here.

Write a review

Sign in and download the tool to review it.

Build a checklist with it

EMA Trend Wall does one job on the chart: trend / context. Put it on the same chart as the tools below and the IndicatorFree panels merge into one checklist card, ordered trend, zone, signal, risk.

  • Zone / levelAsian Session RangeAdds where price is: the zones and levels that EMA Trend Wall does not draw.
  • Entry signalClimax VolumeAdds the entry signal: the moment to act once EMA Trend Wall has set the scene.

The Lab has not tested these combinations. Each tool is tested on its own; the card only lines up what each one says. Free members get 2 new tools a day. If one has to wait until tomorrow, install BlackBox to raise the limit to 5 a day (20 on a live account).

FAQ

Does EMA Trend Wall repaint?

No repaint detected. In a 9 Jul 2026 – 8 Oct 2026 test on EURUSD M15 (Raw Trading Ltd real ticks), 290 signals were logged at bar close and re-read at the end of the test: 0 changed. Arrows print on the bar that closes the signal, with no delay.

Can I use EMA Trend Wall in an EA?

Yes. Read buffer 4 (Bullish Cross) with iCustom() on bar 1 — the last closed bar.

Why can’t my EA read the zones?

Zones and the panel are chart objects, not indicator buffers, so iCustom() does not return them.

How do I get alerts on my phone?

Enter your MetaQuotes ID under Tools → Options → Notifications, tick "Enable push notifications", and keep the push alert input on.

Does it work on other pairs?

Tested on EURUSD only; other symbols not tested.

Can I use EMA Trend Wall on XAUUSD, indices or futures?

It runs on any MT5 chart, and its band, slope and retest thresholds are measured in ATR, so they adjust to each instrument's volatility. The Lab only tested EURUSD M15, so run it on past data first and watch how the Crosses behave before trading it.

Which timeframe should I use?

M15 is the only timeframe with Lab results. On other timeframes, expect fewer signals as you go higher and more flat-EMA whipsaws as you go lower, but the Lab has not measured this.

Does EMA Trend Wall work in MT4?

No. It is built for MT5 only, and MT4 cannot load an MT5 .ex5 file.

Can I switch it to a 50 or 100 EMA?

Yes, change EmaPeriod. All Lab numbers on this page are for the default of 200, so a shorter EMA is untested and will flip more often.

What does the Strong slope state on the panel mean for my trade?

It means the EMA has moved 0.6 ATR or more (SlopeStrongThresholdAtr) over the last SlopeLookback bars, so the trend is steep rather than just Up or Down. The Lab did not score arrows by slope state, so it is not known whether signals during a Strong slope do better.

Will it change my chart colors?

Yes. Theme (default Dark) recolors the chart while the indicator is loaded. With RestoreTheme left on true, your original colors come back when you remove it.

Changelog

  • 1.00Initial release: 200-period EMA (adjustable) colored by ATR-normalized slope (Flat/Up/Down), with an ATR touch band around it. · 2026-10-09

Final verdict

Lab verdict: a 200 EMA wall that did not repaint (0 of 290 signals changed), and the retests are the arrows to watch

EMA Trend Wall does one job cleanly. It turns "price crossed the 200 EMA" into a fixed, closed-bar rule, and its arrows did not change after they printed. The panel gives you slope, distance and higher-timeframe bias in one block, so you don't need extra lines on the chart.

In the Lab chart in the Overview tab, the Cross arrows sit around a coin flip and the Retest arrows score higher, but on small samples. Retest Hold scored highest (61.5% on 26 signals), so it is the arrow to watch first, but test it on your own chart before you rely on it, and use it with the slope and bias filters.

Where it falls short

  • The Crosses alone have no edge. They mark where price is. They don't predict where it goes next.
  • No exits. It draws no stop loss, no target and no position size. You decide all three.
  • It lags by design. A 200-period EMA turns slowly, so the first part of a new trend happens before the wall flips.
  • One test market. Results cover EURUSD M15 only. Other pairs, gold, indices and other timeframes are untested.

The figure below sums up when it is worth using.

EMA Trend Wall: when to use it and when to skip it
Use it when
  • –You trade with the trend and already respect the 200 EMA
  • –You want pullbacks to the EMA marked by rules (Retest Hold)
  • –You can check slope and higher-timeframe bias before acting
  • –You want closed-bar alerts while you are away from the screen
Skip it when
  • –You trade ranges or mean reversion
  • –You want a complete system with stops and targets
  • –You would act on every Cross arrow without a filter
  • –You scalp the first move of a new trend

Settings to start with

Keep the defaults on EURUSD M15, because that is the only chart the Lab measured. Turn on EnablePushAlert to get every closed-bar arrow on your phone (about 22 per week on EURUSD M15). Stretch alerts, when price is 3 ATR or more from the EMA, also arrive on top of these arrows.

The following starting points are untested by the Lab, so compare each one with the default on your own chart before relying on it:

  • On M5 or faster charts, try BandATRMult 0.25 to cut Crosses that come from noise.
  • On H1, try HigherTFContext D1 so the bias row looks one level higher than H4.
  • If retests are too rare for you, try RetestMinBarsAway 3. Expect looser setups.

An idea to pair it with

EMA Trend Wall tells you which side of the trend price is on, but it does not show swing structure. Downtrend labels HH/HL/LH/LL swings, so you could take a Retest Hold only when the swings agree with it. This is an idea to try. The Lab has not tested the pair.

More trend indicators tools