RSI(14) crossing the 50 level with the trend: a EUR/USD check
Methodology
- Signal: RSI(14) crossing the 50 level in the direction of the trend set by EMA(50/200).
- Engine run with no parameter fitting to history, costs charged on every position change.
- Data — daily EUR/USD bars over the sample period available to the portal.
Results on real data
| Metric | Value |
|---|---|
| Instrument | EUR/USD |
| Period | 2025-06-16 — 2026-07-20 |
| Bars | 400 |
| CAGR | -4.3% |
| Drawdown | 7.3% |
| Sharpe | -1.21 |
| Winning trades | 19% |
| Trades | 16 |
| Time in market | 28% |
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.
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.
| Metric | Train | Test (OOS) |
|---|---|---|
| CAGR/yr | -2.7% | -8.1% |
| Sharpe | -0.84 | -1.85 |
| Max drawdown | 4.1% | 3.9% |
| Bars | 279 | 120 |
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.
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.
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.
Download the exact sample and run the logic yourself — the numbers above should match.
A Binance spot EUR/USDT proxy series, not a forex-broker feed. Binance Spot REST API (api.binance.com/api/v3/klines).
Conclusion
On the EUR/USD sample, which covers a period with no pronounced trend, the signal posted a small loss — exactly what a trend-following rule does on a trendless market. This does not refute the hypothesis for trending stretches, but it shows the rule fails outside a trend.
Practical takeaway for the trader
The RSI 50 crossing is worth trading only with a trend filter and only on trending instruments; in a range the rule generates a losing streak.
FAQ
How representative is a result from a single sample?
It is one instrument over one period, and one without a pronounced trend, so the conclusion cannot be generalised to any market. The value of the run lies in an honest, reproducible illustration of the mechanics: the same rule on the same sample yields the same metrics for anyone who repeats the calculation.
Does a negative result mean RSI does not work?
No. It means a trend-following rule is predictably unprofitable on a trendless sample. On a trending stretch the outcome would differ — and that is the central takeaway of the study.
Can this result be reproduced?
Yes: the rule, the data and the costs are defined unambiguously. The same signal on the same sample yields the same metrics for anyone who repeats the calculation.