ATMResearch
Join Overfit - free
Overfit cover card on dark navy, kicker 'ADX indicator': the headline 'ADX measures size — not direction.' over the line 'As ADX rises, the odds of touching both +1% and −1% rise together: 78%/70% below ADX 15, 89%/76% at 30–40.', with a corner badge reading 'SPY 1993–2026 · 8,370 days'.
  1. Overfit/
  2. Research/
  3. ADX Indicator Tested: 8,370 Days Say It Measures Size, Not Direction

December 13, 2024

ADX Indicator Tested: 8,370 Days Say It Measures Size, Not Direction

Share

7 min read

Written by Ali Casey, founder of StatOasis and AlgoChef, creator of the Algo Trading Masterclass (ATM), with over 10 years of experience building systematic trading tools - building algorithmic strategies, testing ideas with data, and teaching traders how to build structured, portfolio-based trading workflows.

Published December 13, 2024 · Updated August 19, 2026 · Method

← Back to Research
Table of contents▾
  • TL;DR
  • Everyone repeats the same three rules, and nobody publishes the numbers
  • How we tested
  • Finding 1: What does a high ADX actually predict?
  • Finding 2: Does a higher ADX mean higher returns?
  • Finding 3: Does the +DI/−DI pair tell you which way?
  • Finding 4: Does ADX work on the short side?
  • Finding 5: So is ADX any good as a filter?
  • The verdict, and the honest limits
  • What this means for you
  • Methodology
  • FAQs

The short version

I tested Wilder's ADX on 8,370 days of SPY and 4,889 days of E-mini S&P 500 futures, sweeping 3,780 variants on each. The indicator does predict something real, and it is not what the tutorials sell: as ADX rises, the odds of touching both +1% and -1% inside 20 bars rise together. That is a forecast of size, not of direction. And the +DI/-DI pair that is supposed to supply the direction pointed the wrong way on both instruments.

TL;DR

  • ADX measures how big, not which way. On SPY, days with ADX under 15 went on to touch +1% 78% of the time and -1% 70% of the time. In the 30-40 band, both rose together — 89% and 76%. The range widens on both sides at once.
  • The direction half is backwards on index products. A bearish DI reading was followed by a higher average 5-day return than a bullish one — 0.232% versus 0.174% on SPY, and 0.198% versus 0.134% on ES.
  • The strongest region in the entire SPY grid was long inside a bearish DI reading at ADX of at least 40: 10 reliable variants, 100% of them profitable, median return-to-drawdown 0.21.
  • The short side does not work at any ADX level. 22 of SPY's 24 short regions were weak, and 20 of ES's 21. Of the 18 strongest regions, 17 were long.
  • As a filter, it earns its keep — modestly. Requiring a minimum ADX of 25 before going long lifted the median return-to-drawdown from 0.01 to 0.04 on SPY and 0.01 to 0.03 on ES.

Everyone repeats the same three rules, and nobody publishes the numbers

You already know the rules. ADX above 25 means a strong trend worth following. ADX below 20 means a range, so stand aside or fade it. And when you need to know which way, look at whether +DI is above -DI.

Three rules, repeated in every tutorial and on every broker's education page. I have never once seen anybody publish the forward returns behind them.

So I measured them. Every bar in the history, labelled by its ADX state, with the outcome of the next 20 bars attached. Not a curated set of good-looking examples — the whole record, including the boring parts.

Think of ADX as a speedometer. It tells you how fast the market is travelling. It tells you nothing whatsoever about the road ahead, and the compass bolted to the side of it — the DI pair — turns out to be wired backwards.

How we tested

Two instruments, because one is never enough to trust a result. SPY daily bars from March 1993 to June 2026, which is 8,370 measured days. E-mini S&P 500 futures from February 2007 to July 2026, another 4,889 days.

ADX(14) throughout — Wilder's own default, and the one every platform ships. I did not sweep the indicator's length. The sweep went where the folklore actually makes its claims: the threshold. Six buckets, at under 15, 15-20, 20-25, 25-30, 30-40 and 40-plus, so the two famous lines at 20 and 25 sit in the middle with brackets on either side. If something special happens at 25, this grid would show a step there.

Five families were tested. Every bar, which isolates the ADX level on its own. The two held DI states, bullish and bearish. And the two DI crossovers, which is Wilder's own entry signal. Both trade directions were swept separately across all of them, along with fixed holds of 0, 1, 2, 3, 5, 10 and 20 bars — 3,780 variants per instrument.

The signal is read at the prior bar's close and filled at the next open. That one-bar gap is what makes every number below tradable rather than theoretical. Results are frictionless — no commission, no slippage — and cells with fewer than 50 trades are flagged rather than dropped. On SPY, 1,954 of the 3,780 variants clear that bar; on ES, 1,380.

If you have never had the indicator on a chart, here is what it looks like. Price on top, ADX and the DI pair underneath, with every stretch the indicator calls a downtrend shaded.

The most recent 120 sessions, picked by date rather than by how well they make the point. Watch the wide shaded band in the middle: the indicator called a downtrend, and price spent the following weeks going up. Source: StatOasis, SPY daily.

Finding 1: What does a high ADX actually predict?

It predicts a wider move. In both directions, at the same time.

For every event I recorded whether price later touched +1% and whether it touched -1%, within a 20-bar window. If ADX carried directional information, the up-touch rate should climb while the down-touch rate falls. That is not what happens.

ADX bucketSPY daysTouched +1%Touched −1%
Under 151,42778%70%
15–202,10981%74%
20–251,93385%73%
25–301,38786%73%
30–401,20389%76%
40+31188%73%
Both bars rise together. A high ADX widens the range on both sides — it does not pick one. Source: StatOasis backtested study, SPY daily data, 1993–2026.

ES says the same thing, more sharply. Under an ADX of 15, the touch rates are 74% and 62%. At 40 and above they are 81% and 83% — and note that at the top of the range on futures, the downside touch rate overtakes the upside.

A high ADX is a volatility forecast, then. Expect a bigger move and size for it. Which side to be on is a question the indicator never answers.

Finding 2: Does a higher ADX mean higher returns?

On average yes, and the effect is real on both instruments. But almost all of it lives in a band you will rarely see.

ADX bucketSPY daysAvg 1-dayAvg 5-day
Under 151,4270.003%0.036%
15–202,1090.005%0.127%
20–251,9330.030%0.223%
25–301,3870.077%0.183%
30–401,2030.054%0.288%
40+3110.445%1.048%
The climb is real on both instruments — and the top bucket, where the numbers get interesting, is also the rarest. Source: StatOasis backtested study, SPY and ES daily data.

ES follows the same shape: 0.031% and 0.123% in the bottom bucket, rising to 0.220% and 0.746% at 40-plus.

Now the catch, and it belongs right next to the number rather than in a footnote. That 40-plus bucket is 311 days out of 8,370 on SPY, or 3.7% of the record. On ES it is 127 days out of 4,889, or 2.6%. It carries the largest returns in the study and the smallest sample in it. Build a plan around the top row of that table and you are building around something that shows up a dozen times a year.

Notice also what is missing: any step at 20 or 25. The curve rises gradually straight through both famous lines. The thresholds everybody quotes are not where the data changes behaviour.

Finding 3: Does the +DI/−DI pair tell you which way?

No. On both instruments it points the wrong way.

This is the result I did not expect, and I checked it twice before believing it. The DI pair is the half of the system that exists purely to supply direction. Here is what follows each state.

InstrumentDI stateDaysAvg 1-dayAvg 5-day
SPYBearish (−DI > +DI)3,7990.050%0.232%
SPYBullish (+DI > −DI)4,5710.042%0.174%
ESBearish (−DI > +DI)2,1780.058%0.198%
ESBullish (+DI > −DI)2,7110.034%0.134%
The "downtrend" reading is followed by the better return. Both instruments, both horizons. Source: StatOasis backtested study, SPY and ES daily data.

Four comparisons, four times the bearish reading wins. When the indicator says downtrend, the index goes on to do better than when it says uptrend.

The backtest grid agrees with the event data. The single strongest region in the entire SPY sweep was long inside a bearish DI reading at ADX of at least 40 — 10 reliable variants, 100% of them profitable, a median return-to-drawdown of 0.21. Buying while the indicator shouts downtrend was the best-scoring corner of 3,780 variants.

This is not mystical. It is what mean reversion looks like on an equity index. Sustained downward directional movement in the S&P 500 has been, for thirty-three years, a reason to buy rather than to sell. The DI pair measures that movement accurately and then labels it with exactly the wrong instruction.

One boundary on this claim: it is an index result. I tested SPY and ES, both proxies for the same underlying market. Nothing here says the DI pair is backwards on crude oil, on the euro, or on a single stock, and I would not assume it without running them.

Finding 4: Does ADX work on the short side?

Almost never. This one is not close.

The grid splits into stable regions — combinations of family, direction and ADX threshold — each rated on what share of its reliable variants made money. SPY produced 48 such regions, evenly split between long and short.

SPYES
Stable regions4842
Short regions rated weak22 of 2420 of 21
Strong regions that are long17 of 1812 of 13
Direction dominates the grid. Whatever the ADX reading, the short side of an equity index refuses to pay. Source: StatOasis backtested study, SPY and ES daily data.

The exceptions are worth naming, because hiding them would be the kind of tidy story this study exists to avoid. On SPY, shorting a bullish DI reading at ADX of at least 40 was strong — 12 variants, 83% profitable — and shorting a bearish reading in the 15-20 band was moderate at 63%. On ES, one short region survived: the downward DI crossover with no ADX floor, 11 variants at 91% profitable.

Set against that, the cleanest illustration of the pattern: shorting a bearish DI reading at ADX 40 or above on SPY — the textbook "strong downtrend, go short" setup — was profitable in 0% of its variants.

Finding 5: So is ADX any good as a filter?

Yes. This is the part the conventional wisdom gets right, and it is worth being precise about how much.

Take every bar long, then raise the minimum ADX required before a trade is allowed. The region's median return-to-drawdown improves as the floor rises.

Minimum ADXSPY variantsSPY % profitableSPY median Ret/DDES variantsES % profitableES median Ret/DD
0 (no gate)5368%0.014760%0.01
156164%0.015584%0.01
206273%0.035463%0.01
256082%0.045092%0.03
305884%0.034680%0.01
402374%0.166100%0.04
Raising the ADX floor improves the median long result — gradually, imperfectly, and on a shrinking sample. Source: StatOasis backtested study, SPY and ES daily data.

Read that honestly. The climb is real and it appears on both instruments, but it is not a clean staircase — SPY dips at 15, ES dips at 20 — and the 0.16 at the top rests on 23 variants, with the ES equivalent resting on 6. This is an indicator that improves an edge you already have. It is not one that manufactures an edge from nothing.

One more result belongs here, because it surprised me. The engine's own regime filters — a rising-volatility gate and a long-term trend gate — added nothing on top. Median return-to-drawdown with every filter off: 0.00 across 316 SPY variants. With any filter on: 0.00 across 1,638. A lift of exactly zero, and the same on ES. Stacking more gates on top of the ADX gate bought nothing.

The verdict, and the honest limits

The 2025 version of this article said ADX is a filter, not a signal, and that most traders misuse it by trading its crossings. Thirty-three years of data agree. That part holds up.

What the data adds is sharper, and it is the part I would want a reader to leave with. ADX is not a weak direction indicator that needs help. It is an accurate size indicator wearing a direction indicator's clothing. Use it to answer "how much room should I give this trade, and how big should the position be" and it is genuinely informative. Use it to answer "which way" and you are reading a speedometer for navigation.

And the compass strapped to it is wired backwards on index products. Not noisy, which I could have lived with. Backwards, the same way, on both instruments and both horizons.

The limits, stated plainly:

  • Two instruments, one market. SPY and ES are both the S&P 500. Two agreeing datasets is better than one, but this is not evidence about crude, currencies, or single stocks.
  • The biggest numbers rest on the thinnest samples. The 40-plus bucket is 3.7% of SPY days and 2.6% of ES days. The 0.16 gate result rests on 23 variants; its ES twin on 6.
  • Frictionless. No commission, no slippage. Treat every magnitude as relative, not as money you would have kept.
  • This is an event study, not a system. Events overlap in the measurement file, and the grid is a flat-only measurement sweep. It measures what follows an ADX state. It is not a strategy you can switch on.
  • ADX(14) only. The length was not swept. A different lookback would move these numbers, though the structure — size, not direction — is unlikely to flip.

What this means for you

  1. Stop using ADX to pick a side. It has no directional content. That is not a criticism of the indicator; it is the indicator's own design, and the tutorials are the ones misreading it.
  2. Start using it to size and to set expectations. When ADX runs above 30, expect a wider range in both directions — 89% of those SPY days touched +1% and 76% touched −1% within 20 bars. That is a position-sizing input and a stop-placement input.
  3. Do not trade the DI crossover on an index. It was among the weakest families tested, and the held DI states point backwards.
  4. If you gate a long setup on ADX, use it as a floor, not a trigger. A minimum of 25 lifted the median long result on both instruments. Expect a modest improvement to something that already works, not a new edge.
  5. Do not short an equity index on a strong-downtrend reading. The textbook version of that trade — bearish DI, ADX above 40 — was profitable in 0% of its variants on SPY.

The $270,000 I lost in my early years went to reasoning exactly like the tutorials': an indicator that looked authoritative on a chart, adopted without ever checking what actually followed it. Checking is cheap now. The excuse for not checking is gone.

Methodology

Data source
SPY daily bars (the S&P 500 ETF) and @ES.D, the E-mini S&P 500 futures contract, day session, daily bars. ADX(14), +DI and -DI computed with Wilder's original definition from New Concepts in Technical Trading Systems (1978), cross-checked against an independent implementation before use.
Date range
SPY from March 15, 1993 through June 12, 2026 (8,370 measured days). ES from February 13, 2007 through July 1, 2026 (4,889 measured days).
Entry / exit rules
The ADX state is read at the close of the prior bar and the position is filled at the next bar's open, so no number here depends on information unavailable at the time. Every bar with a defined ADX reading fires an event, so the dataset is the full labelled history rather than a pre-filtered sample. Exits are fixed-bar holds of 0, 1, 2, 3, 5, 10 and 20 bars. Five families were swept: every bar (ADX level alone), the held +DI>-DI and -DI>+DI states, and the two DI crossovers. Both directions were swept separately across every group.
Sizing
$35,000 starting capital, one position at a time, no compounding. Frictionless — no commission or slippage modeled — so the indicator is judged on its own merits rather than on execution costs.
Overlap mode
Flat-only in the backtest grid — a new entry fires only when the account is flat, so trades never overlap. 1,954 of the 3,780 SPY variants and 1,380 of the 3,780 ES variants clear the 50-trade minimum; thinner cells are flagged, never silently dropped.
Look-ahead
The ADX state is read at the close of the prior bar and the position is filled at the next bar's open, so no number depends on information unavailable at the time.
Minimum sample
50 trades. 1,954 of the 3,780 SPY variants and 1,380 of the 3,780 ES variants clear it; thinner cells are flagged, never dropped.
Buy-and-hold benchmark
Same bars, same sizing. SPY: $551,738.32 net, 8.82% CAGR, and a worst drawdown of 56.47% in March 2009 (CAR over that drawdown, 0.098). ES: $274,175.00 net, 11.83% CAGR, and a worst drawdown of 114.33% of the account in March 2009 - one contract against $35,000 is leveraged enough to lose more than the whole account on the way (CAR over that drawdown, 0.060).
Random control
Frequency-matched seeded coin flip, 10 seeds from base seed 20260803, matched to each market's own median reliable variant. SPY (131 entries, 3-bar hold): $10,347.72 net (sd $5,268.47), an 18.00% worst drawdown, CAR over that drawdown 0.046. ES (105 entries, 2-bar hold): $22,035.00 net (sd $22,928.58), a 46.58% worst drawdown, CAR over that drawdown 0.013. Computed by tools/controls_report.py.
Parameter scopeParameters swept

The study searched the parameter space and reports the spread, not one tuned setting.

3,780 variants per market across five signal families (ADX level alone, the two held DI states, the two DI crossovers), ADX buckets, both directions and holds of 0/1/2/3/5/10/20 bars. The article reports the spread, not a single setting.

Run to v1 of the StatOasis research standard - the rules every study here has to meet before it is published. The version is the study's own: a standard that gained a rule later never reaches back and claims this one met it.

Historical backtest results are not a guarantee of future returns. This content is for educational purposes only and is not investment advice. Hypothetical performance disclosure (CFTC Rule 4.41).

Frequently asked questions

Does the ADX indicator actually work?⌄

As a gauge of how big the next move will be, yes. As a direction signal, no. Across 8,370 SPY days, the share of days that went on to touch both +1% and -1% within 20 bars rose from 78% and 70% at an ADX under 15 to 89% and 76% in the 30-40 band. The range widens on both sides at once, which is a volatility forecast, not a directional one.

What does an ADX above 25 mean for trading?⌄

It means the market is moving more, not that it is moving up. Requiring ADX of at least 25 before taking long trades lifted the region's median return-to-drawdown from 0.01 with no gate to 0.04 on SPY, and from 0.01 to 0.03 on ES. Real, but modest — it improves an edge you already have rather than creating one.

Is ADX a leading or lagging indicator?⌄

Lagging, and the test is built to respect that. ADX(14) is a double-smoothed average of directional movement, so it reports strength that has already happened. Every number here reads the ADX at the prior bar's close and fills at the next open, so nothing depends on information that was not available at the time.

What is the difference between ADX and DMI?⌄

ADX measures trend strength on a 0-100 scale and carries no direction at all. DMI is the +DI/-DI pair that is supposed to supply the missing direction. In this study the strength half worked and the direction half did not — on SPY, the bearish DI state was followed by a higher average 5-day return (0.232%) than the bullish state (0.174%).

Should you use ADX as an entry signal or a filter?⌄

A filter. The DI crossover entries were among the weakest families tested, while gating an existing long setup on a higher minimum ADX improved the median result. On SPY, 17 of the 18 strongest regions in the grid were long, and the strongest of all was long inside a bearish DI reading at ADX of at least 40.

Does ADX work for short trades?⌄

Not on these two instruments. SPY split into 48 stable regions, 24 long and 24 short, and 22 of the 24 short regions were weak. ES agreed, with 20 of its 21 short regions weak. Shorting a bearish DI reading at ADX of at least 40 on SPY was profitable in 0% of its variants.

What ADX settings should I use?⌄

This study used ADX(14), Wilder's own default and the one every platform ships, and did not sweep the length. What it did sweep was the threshold — <15, 15-20, 20-25, 25-30, 30-40 and 40-plus — because that is where the folklore makes its claims. The classic lines at 20 and 25 showed no cliff; the curve rises gradually straight through them.

How often does ADX go above 40?⌄

Rarely, which is the catch behind its biggest numbers. Readings of 40 or more covered 311 of 8,370 SPY days (3.7%) and 127 of 4,889 ES days (2.6%). That band shows the largest forward returns in the study — an average 1.048% over 5 days on SPY — but it is the thinnest sample in it.

Can ADX tell you when a trend is about to end?⌄

Nothing here supports that reading. Comparing days when ADX was rising against days when it was falling, the 5-day forward return was 0.240% versus 0.167% on SPY and 0.205% versus 0.125% on ES. The slope shifts the numbers slightly in the same direction on both instruments, but not enough to time an exit on.

↓Download the dataset (1.7 MB)

Read the Strategies, Backtested hub
← Back to Research

Table of contents

  • TL;DR
  • Everyone repeats the same three rules, and nobody publishes the numbers
  • How we tested
  • Finding 1: What does a high ADX actually predict?
  • Finding 2: Does a higher ADX mean higher returns?
  • Finding 3: Does the +DI/−DI pair tell you which way?
  • Finding 4: Does ADX work on the short side?
  • Finding 5: So is ADX any good as a filter?
  • The verdict, and the honest limits
  • What this means for you
  • Methodology
  • FAQs

Overfit - the newsletter

Skip the hype. Trust the data.One practical takeaway per issue.

Running a quick security check before this can be sent.

Delivered +2 times a month - when the work is ready, not on a calendar.I'll never sell your address.Unsubscribe in one click, any time.

Related Articles

Back to all research
#137

Keltner Channels vs Bollinger Bands: 116,640 Backtests (and the Third Band I Built)

Aug 2, 2025 · 10 min read

116,640 backtests put Bollinger Bands, Keltner Channels and Casey Bands through one identical harness: the band you pick is worth 0.52 on return-to-drawdown, the side you trade is worth 90.4 points — and paying 0.05% a side drops Bollinger below buy-and-hold while the other two hold.

Read more→
#136

Larry Connors R3 Strategy — Rebuilt for Index Futures (With a Smarter Filter)

Jul 26, 2025 · 4 min read

Larry Connors’ R3 strategy still works, if you update it. Discover how volatility filters and index futures give more trades and a better edge.

Read more→

Overfit - the newsletter

Skip the hype. Trust the data.

One practical, evidence-driven takeaway per issue - strategy testing, portfolio construction, market structure, trading psychology, tactical asset allocation.

Running a quick security check before this can be sent.

Delivered +2 times a month - when the work is ready, not on a calendar.I'll never sell your address.Unsubscribe in one click, any time.

StatOasis is calm, evidence-based algorithmic-trading education, founded by Ali Casey. Ali builds systematic trading strategies and teaches the workflow behind them: research, build, test, combine, deploy. He writes the Overfit newsletter, published since 2024, and runs the Algo Trading Masterclass.

Socials

  • X ↗
  • YouTube ↗
  • Instagram ↗
  • LinkedIn ↗
  • GitHub ↗
  • Muck Rack ↗
  • LinkedIn SO ↗
  • GitHub SO ↗

Products

  • Overfit - the newsletter
  • Algo Trading Masterclass ↗
  • StatOasis Community
  • Digital Products
  • 36 Ways to Buy the Dip
  • AlgoChef ↗

Reading & tools

  • Research
  • Methodology
  • Survive the Decade
  • Wall of Love

StatOasis

  • About Ali Casey
  • Contact
© 2026 StatOasis. Calm, evidence-based.
PrivacyTermsHypothetical resultsCalifornia