
Conclusion Corrected: Long-Only Trend Following Is a REAL Edge!
We've just had a breakthrough in our EA research! For a while, we've been on the hunt for genuine algorithmic edges, and we've finally confirmed somet
A beginner-friendly summary of the verification: “Conclusion Corrected: Long-Only Trend Following Is a REAL Edge!”.

Breakout entry example (XAUUSD daily, real data): buy when price breaks above the recent high.
We’ve just had a breakthrough in our EA research! For a while, we’ve been on the hunt for genuine algorithmic edges, and we’ve finally confirmed something significant about long-only trend following.
What’s the idea?
This whole investigation was inspired by a successful, real-world strategy from another project. It’s called breakout_h1, and it’s a “long-only” Donchian channel breakout strategy that also uses an SMA150 trend filter, all on the H1 (1-hour) timeframe.
“Long-only” means the strategy only ever buys an asset, expecting its price to rise, and never “shorts” or sells it expecting a fall. Think of it like only buying stocks, never betting against them. Donchian channels help identify when a price breaks out of a recent range, signaling a potential new trend. The SMA150 (Simple Moving Average over 150 periods) acts as a trend filter, making sure we only consider going long when the overall trend is already pointing upwards. We took these core ideas and implemented a similar strategy, strategies/breakout_long.py, to put them to the test.
How I tested it
To ensure our findings were robust and truly reflected real-world performance, we used a rigorous testing method called forward testing. This is like simulating how the strategy would perform in live trading, using data it’s never seen before. Crucially, even the selection of which currency pairs to trade was done out-of-sample (OOS), meaning the strategy wasn’t “optimized” to look good on past data for those specific pairs. We tested this “basket” of potential pairs on the H1 timeframe to see what stuck.
What happened?
The results were genuinely exciting! Over a period of 4 to 6 years, this strategy generated a total profit of +52.6%. Let’s break down the yearly performance:
- 2020: +10.9%
- 2022: +19.8%
- 2023: +9.0%
- 2024: +22.1% (so far!) It wasn’t a perfectly smooth ride, though. There were two losing years, each with a drawdown of -4.6%. So, in other words, while the overall trend was strongly profitable, it wasn’t without its ups and downs – just like real trading. The strategy ultimately converged on a select basket of profitable pairs: XAUUSD (Gold/USD), USDJPY, GBPJPY, EURJPY, and CHFJPY. This shows the importance of letting the data guide which instruments are best suited for the strategy.
What I learned
This testing gave us two huge takeaways:
- Our testing tools are validated! The fact that we could independently reproduce a known, working edge using our forward testing methodology confirms that our verification framework is sound. That’s a big confidence booster.
- Long-only trend following is a genuine edge! This is the biggest revelation. We previously thought there wasn’t a strong edge in this area, but it turns out our earlier testing design was too restrictive. Why were our previous conclusions wrong?
- Symmetric long+short: We were trying to trade both directions (buying and selling short) at the same time. It seems this might have canceled out potential profits, like trying to catch both sides of a pendulum swing instead of just going with its dominant direction.
- No trend filter: We were trading without a clear “tide” to follow. Trying to go long or short without understanding the underlying trend is like trying to sail a boat without knowing which way the current is flowing – you’re fighting against it.
- Diluted by a large currency pool: We were testing too many currency pairs, and the good ones might have been hidden or “diluted” by a bunch of underperforming ones. It’s like looking for a few shiny pearls in a huge box of mixed beads; it’s better to narrow down the search. Moving forward, our strategy development will be guided by these new principles:
- Aligning with asset drift (long-only): Focusing on the natural upward bias of assets over time by primarily going long.
- Always using a trend filter: Ensuring we trade with the prevailing market direction.
- Robust pair selection: Using sophisticated “Walk Forward” optimization techniques on real data to pick only the most suitable trading instruments.
What’s Next?
While this breakout strategy is promising, relying on just one approach can be risky. Our next step is to find another edge that has low correlation with this breakout strategy. Think of it like this: if one strategy performs well when the market is trending, we might look for another that performs well during range-bound or volatile periods. By combining strategies that don’t move in lockstep, we can build a much more robust and diversified trading portfolio. This adds resilience, ensuring that if one strategy hits a rough patch, others might be thriving, helping to smooth out overall returns. (Meanwhile, another part of our research is exploring non-price data like interest rate differentials, but for this project, we’re sticking to finding different types of price-based edges!)
Code to reproduce
You can reproduce this with the following scripts (see repo).
strategies/breakout_long.py