ADX Trend Strength Calculator
How ADX is calculated step by step: true range, +DM, -DM, +DI, -DI, DX and smoothing, with a worked example. This page's tool uses assumed history.
ADX, short for Average Directional Index, measures trend strength, while the directional indicators help describe its direction. This ADX trend strength calculator accepts only current and previous price details. It fills missing history with assumed values and sets Adx equal to Dx, so its result is not a standard ADX calculated from a full price series. Use the page to understand the calculation’s pieces, then check the indicator on a chart with actual historical bars.
ADX and DX answer different questions
Directional movement starts by comparing the current high and low with those of the previous bar, a fixed time interval on a chart. The larger qualifying upward or downward movement becomes the directional movement for that bar. True range measures the largest relevant price distance using the current range and the previous close.
A standard directional movement calculation smooths these measurements, averaging them across a series of bars. It uses them to calculate the positive and negative directional indicators, written +DI and −DI. DX, the directional index, then measures the relative gap between those indicators. ADX smooths a sequence of DX values. A single DX observation cannot stand in for that sequence.
The result depends on the chart interval and the smoothing history. Daily bars and intraday bars describe different observations even when their last prices match. For the underlying range calculation, the ATR calculator explains a related measurement; verify its own scope before comparing outputs.
The price fields on this page
| Input | Required meaning |
|---|---|
| Current High | High of the bar you are evaluating. |
| Current Low | Low of that same bar. |
| Previous High | High of the immediately preceding bar. |
| Previous Low | Low of that preceding bar. |
| Previous Close | Close of the preceding bar, used for the range comparison. |
Use the same instrument and time interval for every entry. A daily high combined with an intraday previous low is not a valid bar comparison. This form offers no ticker search, period selector, date range or price-history input. It cannot retrieve a chart or reconstruct the missing earlier observations.
The fields are prices, not existing ADX readings. Entering an ADX value into Current High would merely treat it as a price. The page normalises reversed high and low entries, but a result appearing on screen does not prove that the original data was coherent. Check the entries before interpreting the cards.
How ADX is calculated, step by step
The standard method is by J. Welles Wilder and usually uses 14 bars. The steps for each bar are:
- Upward move = current high − previous high. Downward move = previous low − current low.
- +DM (positive directional movement) = the upward move if it is larger than the downward move and above zero, otherwise 0. −DM = the downward move if it is larger than the upward move and above zero, otherwise 0.
- True range (TR) = the largest of (current high − current low), the distance from current high to previous close, and the distance from current low to previous close.
- Smooth +DM, −DM and TR over 14 bars. Wilder's smoothing keeps most of the earlier value: new smoothed value = previous smoothed value − (previous smoothed value ÷ 14) + current value.
- +DI = smoothed +DM ÷ smoothed TR × 100. −DI = smoothed −DM ÷ smoothed TR × 100.
- DX = |+DI − −DI| ÷ (+DI + −DI) × 100.
- ADX = a smoothed average of DX over 14 bars.
Made-up bars to practise the first three steps (high, low, close): bar 1 is 110, 100, 105; bar 2 is 112, 103, 111; bar 3 is 115, 109, 114; bar 4 is 113, 106, 107.
| Bar | Upward move | Downward move | +DM | −DM | True range |
|---|---|---|---|---|---|
| 2 | 2 | −3 | 2 | 0 | 9 |
| 3 | 3 | −6 | 3 | 0 | 6 |
| 4 | −2 | 3 | 0 | 3 | 8 |
A negative upward or downward move simply counts as zero movement in that direction. Bar 2's true range is 9 because 112 − 103 = 9 is bigger than the two distances from the previous close, 7 and 2.
For a rough feel, add the three bars without Wilder smoothing: +DM total 5, −DM total 3, TR total 23. Then +DI is about 5 ÷ 23 × 100 = 21.7 and −DI is about 3 ÷ 23 × 100 = 13.0. DX = |21.7 − 13.0| ÷ (21.7 + 13.0) × 100 = 25. Real ADX needs 14 bars of smoothing and then 14 more DX values, so this only shows the mechanics.
Worked example: unchanged ranges
For a made-up example, enter Current High ₹110, Current Low ₹90, Previous High ₹110, Previous Low ₹90 and Previous Close ₹100. These are fictional bar prices for arithmetic only.
- Upward movement = ₹110 − ₹110 = ₹0; downward movement is also zero.
- The current high-low range is ₹110 − ₹90 = ₹20. It is larger than either distance to the previous close, so true range is ₹20.
- The page’s calculation with assumed earlier prices displays Plus D I 16 and Minus D I 16. Equal directional indicators produce Dx 0, and this page also displays Adx 0.
This example matches the implemented cards. It also shows the limitation: nonzero directional indicators come from assumed earlier movement even though the supplied bars have no new directional movement. Earlier real bars could have been strongly trending or quiet; the form has no way to tell which. Its Adx result therefore cannot certify that the actual market has no trend.
Why its result can differ from a chart
The calculator substitutes a baseline for the earlier directional movement and range observations. It then returns the latest DX as ADX without a separate smoothing history. Matching the final bar’s prices to a chart cannot make those histories equivalent.
The visible cards are Adx, Dx, Plus D I and Minus D I. This page does not plot a line across past bars. It also does not show a verified crossover history or tell you whether actual ADX has risen since the preceding observation. Those interpretations require earlier calculated values from the same series.
To compare chart values, record the instrument, interval, period, data provider and enough earlier bars to calculate its starting values. A change in starting history or smoothing convention can change early readings. This page substitutes assumed earlier prices, which can cause much larger differences than display rounding.
Wilder smoothing versus simple averages
Some platforms use Wilder's smoothing, some use a plain moving average or an exponential average, and each handles the first 14 bars differently. That is why the same ADX line can show slightly different numbers in two charting tools. Compare the setting names in each tool before blaming your own calculation.
How to read a genuine ADX observation
Fidelity describes readings above 25 as a common sign of stronger trend and readings below 20 as a common sign of weak or absent trend. The space between those levels has no single clear interpretation. These are conventions for interpreting a properly calculated series, not probabilities or automatic instructions.
A higher ADX does not mean price is rising. A downtrend can also have a high reading. Comparing +DI and −DI helps describe direction, and checking price structure supplies context. Likewise, a falling ADX describes weakening directional strength; it does not by itself prove that price will reverse.
The thresholds do not set position size, a stop price or an expected return. If you record the indicator in your trading notes, separate the reading you observed from the decision you made. Position sizing needs an account-risk plan and an instrument-specific loss calculation.
What is a good ADX value? Rising versus falling ADX
There is no single good value. The common reading is above 25 for a stronger trend and below 20 for a weak or absent one, as described above. A rising ADX means the trend is strengthening, up or down. A falling ADX after a high reading means the trend is losing strength, which is not the same as price reversing.
+DI and −DI: adding direction
When +DI is above −DI, upward movement is larger than downward movement over the period. When −DI is above +DI, it is the other way round. A crossover happens when the lines swap places. Crossovers happen often in sideways markets, when ADX is low, and can give many false starts. This page does not generate crossover signals and gives no buy or sell advice.
ADX in Excel or Google Sheets
You can build the indicator yourself and compare it with your chart. A simple layout:
- Columns A to D: date, high, low, close, one row per bar.
- Columns E and F: upward move and downward move, using the previous row.
- Columns G and H: +DM and −DM with IF formulas.
- Column I: true range using MAX of the three distances.
- Columns J to L: Wilder-smoothed +DM, −DM and TR. Start with the sum of the first 14 values, then apply the smoothing formula.
- Columns M to O: +DI, −DI and DX.
- Column P: ADX, starting with the average of the first 14 DX values and then smoothed the same way.
Use a spreadsheet only for learning. Market data in it will not update by itself, so you must paste in the bars.
Testing an ADX filter in your journal
If you use ADX to filter trades, test it on your own records instead of assuming it helps. In OneTradeJournal, which you fill by hand, add a note such as ADX above 25 on each trade, along with the strategy name. After enough trades, compare win rate, profit factor and average loss for trades with and without the note. Keep in mind that a small number of trades can mislead, and that past results do not predict future ones. See ATR calculator, Bollinger Bands calculator and best indicators for intraday trading.
Questions about this ADX calculator
Sources
- TradingView: Average Directional Index (checked 15 October 2026).
- Fidelity: Average directional index: ADX (checked 15 October 2026).
Related Topics
Related Articles
Absolute Returns Calculator: Total Gain or Loss
Absolute return calculator with formula, worked rupee examples and a comparison with CAGR and XIRR. Learn when absolute return misleads, such as for SIPs.
Options Rollover Calculator
Work out the debit or credit of rolling an option from premiums and lots. Learn roll up, down and out, charges, STT, and futures rollover cost and percentage.
Options Probability Calculator: Model Inputs and Limits
Estimate an option's expected move and price range from price, volatility and days to expiry, with a worked example and why the probability cards need care.
Trading Expectancy Calculator: Formula and Example
Trading expectancy calculator (EV per trade) from win rate, average win and average loss. See R-multiples, profit factor, sample size and low win-rate examples.
Trading Emotion Tracker: Review Feelings and Plan Discipline
Free trading emotion tracker. Log the mood, intensity and plan discipline behind a trade, get a simple rule-based score, and keep a record to review later.
MACD Calculator: Line, Signal and Histogram
Calculate the MACD line, signal line and histogram from your moving averages, with the formula, a worked example and how to read crossovers.
The trading journal for Nifty, Bank Nifty and Indian F&O. Track your trades, spot patterns, build discipline.
- Log one trade a day by hand, on purpose
- AI mentor finds your repeat mistakes
- Behavioural analytics catch tilt early
- Trading calendar with P&L heatmap
- Pre-trade checklist flags risks
Yearly ₹3,499 · No broker credentials