Skip to main content
ForexNews24

ADX filter for trend entries: a EUR/USD check

Instrument
EUR/USD
Sample period
2025-06-16 — 2026-07-20
Bars
400
Trades
18
Author: ForexNews24 Research Desk
Hypothesis
Restricting trend entries to the condition that ADX is above 25 cuts out the range and improves the result compared with trading without a filter.

Methodology

  1. Signal: enter in the direction of +DI/−DI only when ADX(14) is above 25, flat on weak movement.
  2. Engine run with costs on a sample with no pronounced trend.
  3. Data — daily EUR/USD bars (the stated AUD/USD pair is not represented by a separate history at the portal).

Results on real data

-7.7%
Return/year (CAGR)
8.8%
Max drawdown
-1.87
Sharpe ratio
11%
Winning trades
18
Trades in period
41%
Time in market
Test parameters
MetricValue
InstrumentEUR/USD
Period2025-06-16 — 2026-07-20
Bars400
CAGR-7.7%
Drawdown8.8%
Sharpe-1.87
Winning trades11%
Trades18
Time in market41%
909498101105
Study signalPassive holding
Equity curve versus passive holding on the EUR/USD sample, 2025-06-16 — 2026-07-20. On this sample the signal trailed passive holding. A result on one instrument over one period is an illustration, not a promise of returns.
How to read this result
The metrics are computed on the available EUR/USD pair, not on the instrument named in the hypothesis — for that one the portal holds no own reproducible history. We honestly show the signal on the data we have, instead of unverifiable figures for someone else's instrument.

How much can you trust this result

A single return figure proves nothing — it is easy to curve-fit to history. Below are three robustness checks. We show them even when they go against the strategy.

Hold-out sample · out-of-sample

The first 70% of the data is "training", the last 30% is a fair test on data the rules never saw. If the result is far worse on the test set, the strategy was fitted to the past.

MetricTrainTest (OOS)
CAGR/yr-9.6%-3.0%
Sharpe-2.06-1.39
Max drawdown7.8%1.5%
Bars279120
Loss-making on both training and test
Walk-forward · over time

The sample is cut into 5 consecutive segments. The return in each shows whether the strategy works evenly over time or rests on one lucky stretch.

-5.7%
#1
-1.3%
#2
-0.7%
#3
-1.4%
#4
+0.5%
#5
Monte-Carlo · 2,000 simulations

Trade order is reshuffled 2,000 times (bootstrap). The range shows how much the outcome depended on a lucky sequence rather than the strategy itself. p5–p95 is the corridor of "almost all" outcomes.

Final return
-14.4%-1.3%
median -8.2%
Drawdown (p95)
−15.4%
not deeper in 95% of simulations
Probability of loss
98%
share of outcomes in the red

Computed from the per-bar returns of the same run (costs already included). Monte-Carlo is deterministic: the numbers are stable across rebuilds. Historical robustness does not guarantee future results.

Reproduce this

Download the exact sample and run the logic yourself — the numbers above should match.

Instrument: EUR/USDPeriod: 2025-06-16 — 2026-07-20Bars: 400

A Binance spot EUR/USDT proxy series, not a forex-broker feed. Binance Spot REST API (api.binance.com/api/v3/klines).

Conclusion

Even with the ADX filter the result on a trendless sample is negative. The filter let directional +DI/−DI entries through a noticeable share of the time, but on a market with no sustained move those entries reversed against the position again and again — the share of winning trades came out very low. A movement-strength filter cuts part of the range noise but does not create a trend where there is none, and the entries it allowed ran into the chop.

Practical takeaway for the trader

The ADX filter is an off-switch for a trend strategy in a range, not a source of profit: it reduces the number of entries, but the ones that clear the threshold still get torn apart on reversals when there is no trend. On a trendless instrument the filter does not prevent the loss.

FAQ

Was the ADX filter not supposed to improve the result?

It reduces the number of entries in a range but cannot create a trend. The directional entries that cleared the threshold ran into reversals again and again on a sample with no sustained move — the share of winning trades came out very low, so the outcome stayed negative.

How do you choose the ADX threshold?

The 25 benchmark is not universal: the typical ADX level differs across instruments. The threshold should be calibrated to the actual distribution of values for the specific asset.

Why a check on EUR/USD?

It is the only pair with its own reproducible history at the portal; the result is honestly limited to the available data.

From research to application

In our Allocation product we implemented these algorithms with all the nuances covered across the portal.

Learn about Allocation