research / June 6, 2026 / 8 min read
From Trend Detection to Expansion Detection
530 backtests, eighteen filter families, and a change in how I think about market regimes.
The Problem
One of the strategies currently under development is a fairly simple trend continuation system that trades pullbacks. The exact entry logic is not especially important here. What matters is the type of environment it wants to operate in.
The strategy tends to perform well when markets are moving away from their mean and continuing in one direction. It struggles when price begins rotating around the same area, repeatedly taking nearby highs and lows without making meaningful progress. Looking through the trade history, the same pattern kept appearing. Strong directional periods would build equity steadily, then a period of consolidation would arrive and a significant portion of those gains would be given back.
The baseline results suggested there was something worth improving rather than replacing. Across a seven-market basket, profit factors ranged from 0.92 to 1.33 and five of the seven markets were profitable. The more important observation was the spread in drawdown. Maximum drawdowns ranged from 7.3% to 20.4%, which is a meaningful difference when thinking about portfolio construction and capital allocation.
Baseline Maximum Drawdown by Market
I care much more about drawdown than squeezing another small increase out of profit factor. Strategies do not exist in isolation. The goal is eventually to run a portfolio of systems, and portfolio construction becomes much easier when each component strategy behaves in a predictable way during adverse conditions. Reducing exposure to consolidating markets seemed like a promising place to start.
Building a Test Harness
The objective of this study was validation rather than optimisation.
I was not looking for the perfect parameter or trying to maximise a backtest. I wanted to know which ideas deserved further investigation and which ideas could be discarded. With automated testing there is very little cost to exploring a large number of hypotheses, so I treated this as a broad search problem rather than a parameter tuning exercise.
The final test set consisted of roughly 530 backtest runs across eighteen filter families, each tested across multiple thresholds and lookback periods. The study covered approximately three years of data across a diversified basket of markets.
The concepts fell into several broad categories. Some attempted to measure trend strength. Others focused on volatility. Others tried to quantify persistence, efficiency, directional behaviour, or market structure. The expectation was that at least some of these approaches would help identify the periods where the strategy was most vulnerable.
Starting With Trend Strength
The first place I looked was ADX.
The reasoning was straightforward. Consolidation can be viewed as directional movement cancelling itself out over time. If that assumption was correct, stronger directional movement should improve trade selection.
What surprised me was that static ADX readings were not particularly useful. ADX expansion was.
Instead of asking whether trend strength was high, I began asking whether trend strength was increasing. Variants based on changes in ADX consistently outperformed static threshold approaches and became some of the strongest candidates in the entire study.
The best broad candidate reduced average drawdown from 11.7% to 7.0% across the basket while improving profit factor at the same time. More importantly, every market benefited.
That result was encouraging, though it also created a new question.
Was ADX special, or was it measuring something more general?
Looking Beyond ADX
Once ADX expansion showed promise, I expanded the search.
ATR expansion, Efficiency Ratio expansion, Donchian Width expansion, directional closes, linear regression slope acceleration, cross-count methods, Choppiness Index, Kalman-derived filters, and Hurst exponent all entered the test suite.
Each of these concepts approaches the market from a different angle.
ATR expansion asks whether volatility is increasing.
Efficiency Ratio asks whether price is moving more efficiently from point A to point B.
Donchian Width measures whether the trading range itself is expanding.
Linear regression slope acceleration attempts to quantify increasing directional movement.
Although the mathematics behind these indicators differs considerably, many of them are trying to answer a similar question.
Is the market becoming more directional than it was recently?
The First Strong Pattern
Several independent approaches began converging on the same conclusion.
The strongest Tier 1 candidates all produced substantial reductions in drawdown. Average drawdown fell from 11.7% to between 6.8% and 8.1% depending on the filter.
Average Drawdown After Tier 1 Filters
The consistency mattered more than the exact ranking.
Linear Regression Slope Acceleration produced one of the strongest overall profit factors. ADX expansion remained remarkably robust across parameter changes. Directional Closes improved several difficult markets despite not being universally beneficial.
Different tools were arriving at similar outcomes.
That is usually a sign that something real is being measured.
Expansion Filters
The most interesting results came from the expansion-family filters.
These were built around a simple idea. Rather than measuring the absolute state of a market, measure whether volatility, range, or directional efficiency is increasing relative to recent history.
Three families stood out.
- ATR Expansion
- Efficiency Ratio Expansion
- Donchian Width Expansion
All three reduced average drawdown materially. ATR Expansion reduced average drawdown from 11.7% to 7.5%. Efficiency Ratio Expansion achieved 7.6%. Donchian Width Expansion reached 8.2%.
Expansion Filters vs Baseline Drawdown
The average numbers were useful, though some of the individual market results were even more interesting. In one case, maximum drawdown fell from roughly 20% to below 7%. Several other markets saw drawdown reductions between 40% and 60%.
At that point the research was beginning to move away from its original framing.
I thought I was looking for a way to identify consolidation.
The data suggested I was actually identifying expansion.
What Failed
Not every idea survived contact with the data.
Hurst exponent was probably the biggest disappointment. The theory is appealing because it attempts to distinguish between persistent and mean-reverting behaviour, which sounds closely related to the original problem. In practice it produced weak results and several markets generated no trades at all.
Kalman cross counts were another example. A Kalman filter produces a cleaner estimate of underlying price movement than a simple moving average, so counting crossings appeared to be a reasonable way of detecting market rotation. The additional complexity never translated into better performance.
Choppiness Index reduced drawdown, though often by dramatically reducing trade frequency. The improvement came largely from avoiding participation altogether rather than becoming more selective.
These failures were useful. Eliminating ideas is just as valuable as finding promising ones.
What Changed My Mind
The useful outcome of the study was the shift in how I was thinking about the problem, not any particular indicator.
It started as a search for a consolidation filter. Then at the end of the testing, the strongest evidence was coming from filters that measured some form of expansion. ADX expansion. ATR expansion. Efficiency Ratio expansion. Donchian Width expansion. Linear regression slope acceleration.
Different calculations but similiar effects.
Next Steps
This research was exploratory by design. The goal was to identify promising ideas rather than produce a finished model.
The next stage focuses on combinations.
Several standalone filters demonstrated positive results across the basket. The obvious question is what happens when they agree. If multiple measures of expansion are all pointing in the same direction, there may be a stronger signal than any individual filter can provide alone.
That is the path I am exploring next.