A risk-off signal that helped the FX core and nothing else

Trend · 2 min

Filtering for risk-off signals based on price momentum does not reduce the overall system drawdown, even though it improves the performance of the…

Filtering for risk-off signals based on price momentum does not reduce the overall system drawdown, even though it improves the performance of the core FX component. I recently tested whether a directional, price-based signal could outperform my current filter of using the US500 index below its 200-day simple moving average (SMA). I experimented with faster SMAs (100 and 50), negative momentum, volatility spikes, and multi-index breadth.

FX Core Performance

When isolating the FX core component, faster SMA triggers showed a clear, monotonic improvement in risk management.

MetricSMA 200 (Baseline)SMA 100SMA 50
Max Drawdown-7.4%-6.9%-6.5%
Return/DD Ratio0.240.250.27
In other words, the faster SMA triggers allowed the system to identify market stress earlier. While this performed well during crisis periods like 2015-2018 and 2024-2026, it suffered during strong trend periods (2021-2024), resulting in a success rate of 2 out of 4 sub-periods.

Full System Impact

Despite the improvement in the core, the full system v1.4.1 failed to see a reduction in total drawdown.

MetricSMA 200 (Baseline)SMA 50
Max Drawdown-9.6%-9.7%
Monthly Return0.84%0.84%
Profit Factor1.671.67
MC Pass Rate94%94%
Using the SMA 100 actually worsened the drawdown to -10.3%. This confirms a recurring lesson from my research: improving a single component does not necessarily improve the system. The total drawdown is dictated by the correlation between different sleeves, not just the performance of one. Even if I time the FX core’s risk-off exit more aggressively, the system remains constrained by its structural dependencies.

Practical Takeaway

The only meaningful benefit of the SMA 50 filter was a reduction in the “M1 worst” drawdown from 2.42% to 1.69%. This metric tracks the worst intraday loss using 1-minute bars. Because the SMA 50 triggers an earlier exit, it successfully suppresses large intraday losses. I am keeping v1.4.1 as-is with the SMA 200 filter, but I will keep the SMA 50 logic in my toolkit as a “safety valve” for high-leverage scenarios, similar to a scale-out strategy. Ultimately, to lower the system drawdown, I need truly uncorrelated, positive expected value sleeves, which I have yet to find within price-based data alone. This reinforces that v1.4.1 is currently sitting on the optimal drawdown frontier.

How this connects

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