ATR Oscillator vs ADX: They Agreed on 57% to 59% of Bars Against 49% to 52% by Chance, ADX Passed 0 of 8 Runs and the Oscillator 1

Key takeaways
- The ATR oscillator, ATR(5) over ATR(50) above 1, and ADX(14) above 25 are both used to answer one question: is there enough movement to trade a trend signal? I compared them bar by bar and as filters on the EMA 9/21 and MACD 12/26/9 crosses, EURUSD and gold, M5 and M15.
- They agreed on 57% to 59% of bars. Two filters switched on at random with the same frequency would agree on 49% to 52%. They are measuring different things.
- ADX passed 0 of 8 runs, the oscillator 1 of 8, and both together 0 of 6. The one pass, the EMA cross on EURUSD M15, had already passed with no filter.
- Neither filter picked better signals than a random cut of the same size in a stable way. Each scored higher than the other on 4 of 8 pairs, and ADX swung from the 3rd percentile to the 92nd.
- ADX kept far fewer EMA crosses, 13% to 23%, and those came 3.3 to 4.8 ATR into the move. On EURUSD M5 that is 0.9 ATR later than the oscillator’s picks.
Ask how to tell a trending market from a dead one and you will get one of two answers. The older one is ADX above 25. The newer one is an ATR oscillator: a fast ATR divided by a slow ATR, with readings above 1 meaning the market has woken up. Both are sold as the filter that stops a trend system from trading chop.
I already tested the oscillator on its own in ATR oscillator tested as a trend filter. Here I put the two side by side on the same signals.
What does each filter measure?

| ATR oscillator | ADX | |
|---|---|---|
| Formula | ATR(5) divided by ATR(50) | Smoothed gap between +DI and -DI, 14 bars |
| Measures | Are the last bars bigger than usual? | Have the bars been moving one way? |
| Rule tested | Above 1 | Above 25 |
| Knows direction | No | No (the DI lines do, ADX itself does not) |
| Switched on, share of bars | 40% to 45% | 36% to 53% |
A market can be wide and directionless, which the oscillator likes and ADX does not. It can also drift steadily in small bars, which ADX likes and the oscillator does not. How ADX behaves on its own is in the ADX 25 trend filter test.
How was it tested?

- Data: EURUSD M5 from June 3 to August 26, 2026, 16,926 bars; gold M5 from June 16 to August 26, 13,736 bars. M15 built from the same bars.
- Signals: EMA 9/21 cross and MACD 12/26/9 signal-line cross, entry at the close.
- Filters: oscillator above 1, ADX above 25, both at once.
- Exit and cost: stop 1.5 ATR, target 3 ATR, 48 bars at most, one trade at a time; 1 pip on EURUSD, $0.30 an ounce on gold.
- Pass: profit after cost, profit in both halves (split July 15), and above the 95th percentile of 200 random-entry runs with the same exit.
How often do the ATR oscillator and ADX agree?
| Share of bars | EURUSD M5 | EURUSD M15 | Gold M5 | Gold M15 |
|---|---|---|---|---|
| Both say the same | 57.2% | 59.2% | 58.0% | 56.9% |
| Expected by chance | 51.6% | 52.0% | 50.5% | 49.4% |
| Only the oscillator on | 25.7% | 23.2% | 17.9% | 14.9% |
| Only ADX on | 17.1% | 17.5% | 24.1% | 28.2% |
“Expected by chance” is the agreement two unrelated switches would reach if each was on as often as these were.
The two filters agreed only 6 to 8 points more often than chance. On roughly 4 bars in 10 one of them said “trade” and the other said “wait”. On EURUSD the oscillator was the one more often switched on alone, on gold it was ADX: most likely because gold drifted in steady legs in this period while EURUSD moved in bursts.
Which filter made a trend signal better?
| EMA 9/21 cross | EURUSD M5 | EURUSD M15 | Gold M5 | Gold M15 |
|---|---|---|---|---|
| No filter | -1.68 (606) | +0.33 (173) | +1.16 (366) | +0.60 (118) |
| ATR oscillator above 1 | -1.71 (361) | +1.08 (90) | +0.98 (210) | +1.13 (60) |
| ADX above 25 | -1.24 (108) | -1.30 (37) | +0.75 (101) | +2.66 (34) |
| Both | -0.83 (73) | -0.91 (20) | +1.47 (54) | +3.00 (19) |
| MACD 12/26/9 cross | EURUSD M5 | EURUSD M15 | Gold M5 | Gold M15 |
|---|---|---|---|---|
| No filter | -1.38 (854) | -1.25 (238) | -0.39 (557) | +0.82 (173) |
| ATR oscillator above 1 | -1.59 (512) | -0.72 (144) | -0.15 (332) | +0.60 (98) |
| ADX above 25 | -1.24 (340) | -1.28 (102) | +0.05 (317) | +0.14 (116) |
| Both | -1.85 (192) | +0.50 (55) | -0.16 (182) | -0.49 (61) |
Profit per trade after cost: pips on EURUSD, dollars an ounce on gold. Trades in brackets. Bold means the run passed all three checks. Runs with fewer than 30 trades were not judged.
On EURUSD M5 every line lost between 0.83 and 1.85 pips a trade, so neither filter rescued a losing signal. The only filtered pass was the oscillator on the EURUSD M15 EMA cross. Combining the two looked best on three gold and EURUSD cells, but on 19 to 73 trades, and on MACD it was the worst line on EURUSD M5 and gold M15. The “both” line on EURUSD M15 MACD made money in both halves at +0.50 pips and still sat below the random-entry bar of +0.90.
Did either filter pick better signals than chance?
| Percentile among random cuts | EURUSD M5 | EURUSD M15 | Gold M5 | Gold M15 |
|---|---|---|---|---|
| EMA cross, oscillator | 43 | 90 | 91 | 68 |
| EMA cross, ADX | 76 | 26 | 3 | 72 |
| MACD cross, oscillator | 36 | 91 | 70 | 17 |
| MACD cross, ADX | 92 | 54 | 8 | 31 |
Each signal scored as its own trade; the filter’s average compared with 1,000 random subsets of the same size. 50 is a coin flip, 95 would be a real edge.
Neither reached 95 anywhere. The oscillator scored higher on 4 of the 8 pairs and ADX on the other 4. ADX was the more unstable of the two: the 92nd percentile on EURUSD M5 MACD and the 3rd on gold M5 EMA, the same rule sorting good from bad on one chart and bad from good on the next. The same instability came up in Choppiness Index vs ADX and in time filter vs ADX filter.
Which one makes you enter later?
| Already moved, ATR | EURUSD M5 | EURUSD M15 | Gold M5 | Gold M15 |
|---|---|---|---|---|
| EMA cross, no filter | 3.63 | 3.26 | 3.04 | 2.98 |
| EMA cross, oscillator | 3.86 | 3.59 | 3.18 | 3.37 |
| EMA cross, ADX | 4.78 | 4.00 | 3.31 | 3.39 |
| EMA cross, ADX: share of crosses kept | 13% | 16% | 22% | 23% |
| EMA cross, oscillator: share kept | 49% | 44% | 44% | 38% |
Median distance from the extreme of the last 24 bars to the entry.
On the EMA cross ADX was the later filter on all four charts, by up to 0.9 ATR on EURUSD M5, and it kept only a quarter of the crosses or fewer. By the time an EMA 9/21 cross has happened and ADX is above 25, the move is mature. On the MACD cross it was the other way round: ADX picks came 2.1 to 2.7 ATR in, earlier than the oscillator’s 2.7 to 3.2, probably because MACD crosses come sooner and ADX was often still high from the previous leg.
So which should you use?
- Neither as a profit filter. ADX passed 0 of 8 runs, the oscillator 1 of 8, both together 0 of 6.
- They are not substitutes. 57% to 59% agreement is barely above the 49% to 52% of chance. Swapping one for the other changes which trades you take, not whether they win.
- ADX makes slow signals later. On the EMA cross it kept 13% to 23% of crosses, 3.3 to 4.8 ATR into the move.
- Stacking them did not help. It cut trades to 19 to 192 per run and was the worst MACD line on two of four charts.
- If you want one, the oscillator was less unstable. Its percentiles ranged 17 to 91, against 3 to 92 for ADX. That is a smaller swing, not an edge.
How to build the oscillator in MetaTrader and what 24 settings did is in ATR oscillator settings for MT4. ADX settings are in ADX settings for MT4.
Frequently asked questions
Is the ATR oscillator better than ADX?
Slightly more stable, not better. It passed 1 of 8 runs against 0 for ADX, and that one run passed without any filter too.
Do ATR and ADX measure the same thing?
No. ATR measures the size of bars, ADX measures how one-sided they are. Their on and off states agreed on 57% to 59% of bars, against 49% to 52% by chance.
Should I use ATR and ADX together?
On this data, no. The combined filter passed 0 of 6 runs it could be judged on and was the worst MACD line on two of four charts.
Which filter is faster?
It depends on the signal. On the EMA 9/21 cross ADX entered later on all four charts; on the MACD cross the oscillator did.
What ADX level did you test?
ADX 14 above 25, the most common rule. Other levels are compared in the ADX 25 trend filter test.
Want a trend line instead of two filters arguing?
It is my own enhanced DeMARK Trend Line indicator for MetaTrader 4 and 5. Non repaint, clean, and free.

