Tendance Trend StrengthFilterRegime Disponible dans Builder

Average Directional Index (ADX)

ADX

ADX measures how strong a trend is without saying which way it points, and ships with two directional lines that supply the direction separately. That split makes it the standard regime filter — the tool that decides whether a trend-following rule should be allowed to fire at all.

Default period
14
Common threshold
25
Indicator range
0–100
OverboughtOversoldCentreline 50Divergence

Illustratif — données synthétiques, pas une cotation en direct.

What ADX tells you

ADX answers 'is there a trend?' and refuses to answer 'which way?'. The main line rises when price keeps making progress in one direction and falls when it churns. The two DI lines carry the direction, so a complete ADX rule always reads at least two of the three buffers.

  • ADX above 25: a trend is present and worth following
  • ADX below 20: the market is churning — trend rules will bleed
  • A falling ADX means the trend is weakening, not that it is reversing
  1. 1 Measure directional movement bar to bar
  2. 2 Normalise it by true range into +DI and −DI
  3. 3 Smooth the gap between them into ADX
Afficher la formule et les détails de calcul

ADX is built in three stages, and the two directional lines are produced along the way:

  1. For each bar, measure directional movement: how much higher this high is than the previous high (+DM), and how much lower this low is than the previous low (−DM). Only the larger of the two counts; if neither is larger, the bar contributes nothing.
  2. Divide each bar’s +DM and −DM by that bar’s true range, then smooth the two resulting percentages with an exponential average over the period. That gives PLUSDI_LINE (buffer 1) and MINUSDI_LINE (buffer 2).
  3. Take the normalised gap between them, |+DI − −DI| / (+DI + −DI), and smooth it the same way. That is MAIN_LINE (buffer 0) — ADX itself.

The absolute value in step 3 is the reason ADX has no direction. A market where +DI is 40 and −DI is 10 produces the same ADX as one where −DI is 40 and +DI is 10; both are equally one-sided, and that is all the main line reports. Dividing by true range in step 2 is what makes the readings comparable across instruments, unlike raw ATR.

Step 2 is worth reading carefully, because MetaTrader ships a second version of this indicator that does it in the other order. iADX — the one this page describes, and the source is Indicators/Examples/ADX.mq5 — divides by each bar’s true range before smoothing, and smooths with ExponentialMA, a weight of 2/(N+1). ADX Wilder (iADXWilder) smooths true range and directional movement first and divides afterwards, using Wilder’s own 1/N. At the same period of 14 the two main lines differ by about 10 points on average, with this one reading higher, and the conventional “above 25” filter fires roughly twice as often here. The threshold is not portable between them.

In MQL5 the call is iADX(symbol, period, adx_period) and it returns a handle to three buffers: MAIN_LINE (0), PLUSDI_LINE (1) and MINUSDI_LINE (2). There is no applied-price argument. J. Welles Wilder introduced the directional movement system in 1978 — with the 1/N smoothing, which is why the other function carries his name.

Signaux

Les signaux distincts et testables que génère ADX — et le régime adapté à chacun.

Strength Threshold

Prêt dans Builder
Condition
ADX rises above a level such as 25
Meilleur régime
Any
Utilisation typique
Gate another strategy on whether a trend exists

+DI / −DI Crossover

Prêt dans Builder
Condition
+DI crosses above or below −DI
Meilleur régime
Turning markets
Utilisation typique
Take the direction that ADX itself does not provide

Rising ADX

Prêt dans Builder
Condition
ADX increasing while a direction is already established
Meilleur régime
Trend continuation
Utilisation typique
Stay in a position while the trend is still strengthening

Weakness After a Peak

Logique avancée
Condition
ADX turns down from a high reading
Meilleur régime
Trend exhaustion
Utilisation typique
Tighten management rather than reverse

Implémentation MT5

Ce que MetaTrader 5 calcule et trace réellement — la référence de chaque règle de cette page.

Buffers

Index Buffer Tracé dans MT5 comme Ce qu'il contient
0 MAIN_LINE Line ADX itself — the smoothed strength of directional movement, 0–100. Carries no sign and no direction.
1 PLUSDI_LINE Line +DI — the share of recent movement that was upward. This is where direction lives.
2 MINUSDI_LINE Line −DI — the share that was downward. Compared against +DI to read which side is in control.

Notes de plateforme

Fonctionne mieux / utiliser avec prudence

Aucun indicateur n'est un avantage universel. Voici où ADX aide — et où il induit en erreur.

Fonctionne mieux

  • As a filter on a directional rule
  • Deciding when NOT to trade
  • Higher timeframes
  • Markets with sustained sessions

Utiliser avec prudence

  • ADX alone as an entry
  • Reading direction from the main line
  • Low thresholds on noisy pairs
  • Optimised thresholds without validation

Créer une stratégie ADX

Connectez le signal aux règles d'entrée et de sortie, puis exportez un EA MT5 compilable — sans code.

  1. ADX main (14)
  2. +DI (14) and −DI (14)
  3. ADX above 25 and +DI above −DI → Open Buy · SL 50 / TP 100
  4. ADX above 25 and −DI above +DI → Open Sell

Combiner ADX avec d'autres indicateurs

Un indicateur fonctionne rarement seul. Ces associations couvrent les angles morts de ADX.

ADX + Parabolic SAR

  1. ADX > 25
  2. Price crosses the SAR
  3. Buy
Pourquoi
Give a tool that always claims a direction the one thing it lacks — a way to say the market has no trend worth trading right now
Meilleur régime
Trending
Créer cette stratégie →

ADX + Moving Average

  1. ADX > 25
  2. Fast MA crosses slow
  3. Buy
Pourquoi
Let ADX decide whether a trend exists and let the moving average decide the entry, so crossovers in a dead market never fire
Meilleur régime
Trending

No single-flow template pairs ADX with a moving average — the portfolio templates that hold both run them as separate legs. Start from ADX Trend and add MA nodes with a Cross node into the And gate.

Ouvrir Builder →

ADX + Bollinger Bands

  1. ADX < 20
  2. Price at lower band
  3. Buy
Pourquoi
Use a low ADX to permit mean-reversion at the bands, which is the regime where fading actually works
Meilleur régime
Ranging

No single-flow template pairs ADX with Bollinger Bands. Start from Bollinger Bounce and add an ADX node with a Compare below 20.

Ouvrir Builder →

ADX + ATR

  1. ADX > 25
  2. ATR sets the stop distance
  3. Buy
Pourquoi
Separate 'is it trending' from 'how far does it move', since a strong trend on a quiet instrument still needs volatility-sized stops
Meilleur régime
Trending

No single-flow template pairs ADX with ATR. Start from ADX Trend and add an ATR node feeding a risk-based lot or stop node.

Ouvrir Builder →

Paramètres

Valeurs de départ à valider sur votre propre paire et timeframe — pas des réglages garantis.

Paramètre Défaut Plage de test suggérée Ce que ça fait
Period 14 7–30 Smoothing applied to directional movement. Wilder's 14 is the standard; shorter reacts faster and produces more borderline readings around the threshold.
Line Main Which buffer a rule reads: MAIN_LINE, PLUSDI_LINE or MINUSDI_LINE. A buffer selector, not a numeric setting.
Strength threshold 25 18–35 Your level, not an indicator input — iADX has no threshold argument. 25 is conventional; 20 admits more marginal trends, 30 waits for obvious ones.
Shift 0 0–3 Which bar back the value is read from. Shift 1 compares against a fully closed bar.

Préréglages de départ

Reactive 7 Turns quickly, more borderline calls
Standard 14 Wilder's default baseline
Regime 28 Slow, describes the week

Exemples de marché

Où ADX fonctionne, où il échoue et comment un filtre change le résultat.

Fonctionne

Filter earns its keep

A trend rule fires while ADX is above 25 and +DI leads, and the move follows through — the case the template is built around.

Échoue

Direction read from the wrong line

ADX climbs sharply and a rule treats that as bullish. The climb was a sell-off gaining strength; the main line never said which way.

Filtré

Trades suppressed in the chop

The same directional signal fires several times while ADX sits under 20, and every one of them is skipped — the market goes nowhere and the filter saved the spread.

FAQ

What ADX level means a trend?
25 is the conventional threshold and the Builder template's baseline, with under 20 usually read as no trend. These are conventions, not properties of the indicator — iADX has no threshold argument at all. Treat the level as a parameter to test on your pair and timeframe like any other.
Does a rising ADX mean price is going up?
No. ADX measures persistence, not direction. A powerful downtrend produces exactly the same rising main line as a powerful uptrend. Direction comes from comparing +DI and −DI, which MT5 publishes as buffers 1 and 2 for that reason.
Can ADX be used as an entry signal on its own?
Not usefully. Crossing 25 tells you a trend has become measurable; it does not tell you where to get in or on which side. ADX earns its place as a gate on another rule — its most valuable output is often the trades it prevents.
Why does ADX have no applied-price setting?
Because directional movement is defined from consecutive highs and lows and normalised by true range, so there is no single price series to average. MQL5's iADX takes only a period. An ADX with an applied-price input is not the standard indicator.
Can I build an ADX EA without coding?
Yes. The ADX Trend template reads all three buffers — main for strength, +DI and −DI for direction — and combines them with And gates, with the period as an EA input and the threshold in a Compare node. Recognising a peak-then-decline pattern in ADX is the exception and needs custom MQL5.
How should I validate settings before going live?
Backtest on quality tick data first, then run the EA on a demo account before risking money. When optimising, hold back data the search never saw and prefer settings that stay profitable across periods over the single in-sample peak — chasing that peak is overfitting the noise. No default or preset here is a performance promise; every value is a starting point to re-validate on your own pair and broker.

Glossary

Termes clés