Every RSI, SMA and Fibonacci tweak lost to the current system

Mean reversion · 3 min

Adding RSI, SMA, or Fibonacci filters to my current system fails to improve performance.

Adding RSI, SMA, or Fibonacci filters to my current system fails to improve performance. This confirms that my existing setup has reached its practical limit. I recently tested these classic indicators to see if they could add value to my trading logic. My findings broke down into two categories: standalone performance and their utility as filters for existing strategies.

Standalone performance

I tested Fibonacci pullbacks as a standalone edge, and the results were interesting. It passed 5 out of 6 forward tests, which suggests it is a legitimate trend-following edge. However, its correlation to my core system is extremely high, ranging from 0.82 to 0.86. In other words, it is essentially just “re-discovering” the trends I am already capturing. With a Profit Factor (PF) of 1.13 to 1.14, it lacks the novelty or diversification needed to replace or augment my current core. I also looked at RSI using Connors-style logic. While it was the only indicator with a relatively low correlation to my core (0.18), it consistently lost money in the FX market. When I tried to combine Fibonacci pullbacks with RSI confirmation, the correlation dropped to 0.42, but the edge disappeared entirely.

Performance as filters

A common question I receive is whether these indicators can at least serve as filters to improve existing entries. To test this, I added various RSI and SMA slope parameters to my breakout logic.

Filter TypePerformance Improvement (Forward Tests)
Plain Breakout3/6
SMA Slope (10/20)5/6
SMA Slope (30/40)4/6
RSI < 70/754/6
While these filters clearly help a “naked” breakout strategy, the results changed when I integrated them into my actual Core System v1.3.1.
The integration yielded no meaningful improvement: monthly returns shifted from +0.81% to +0.77%; drawdown moved from -9.5% to -9.3%; and the PF went from 1.57 to 1.62. The Monte Carlo pass rate (which measures the probability of surviving specific risk constraints) remained unchanged at 94%.

Why the system didn’t improve

The reason for this stagnation is simple: my core system is already using multi-timeframe diversification and volatility targeting (adjusting lot sizes based on recent market fluctuations) to manage risk. Because the system is already optimized, the bottleneck is no longer the entry quality of the individual components. In other words, you cannot improve a system by refining parts that are not the current bottleneck. My research consistently shows that once you have implemented robust diversification and volatility targeting, you have effectively hit the ceiling of what standard indicators can provide. I will keep the Fibonacci and filter functions in my codebase as research assets, but I am making no changes to the live system. Everything remains as it was.

How this connects

This verification builds on earlier ones (what failed before and what I tried this time, comparisons between approaches).