Every Configuration Lost Money: RSI(2) Mean Reversion Meets Gold
We transferred one of the most replicated mean-reversion strategies from daily equities to gold H1 and optimized it on three years of tick data with real costs. The optimizer found nothing, and the reason why is a lesson in edge geometry.

Larry Connors' RSI(2) pullback is one of the most replicated edges in retail quant trading. When the 2-period RSI is deeply oversold while price holds above its 200-period average, buy the dip and exit when the RSI snaps back. It has decades of documentation on daily US equities, and an MQL5 article recently rebuilt three variants of it for MetaTrader.
We wanted to know whether it transfers to gold on the hourly chart. Gold overshoots intraday constantly, which sounds like mean-reversion heaven. Our own spec notes flagged the idea honestly as a transfer hypothesis: "treat a rejection as informative, not surprising." Even so, we didn't expect what the optimizer returned.
Zero survivors
We optimized the RSI entry threshold, the exit threshold, the trend-filter period and the ATR stop multiple over 2019 to 2022, on real tick data with commission and spread included. Every single configuration lost money. The best one finished at −$862 on a $10,000 account with a profit factor of 0.90, and the field ran from there down to −$8,498 at a profit factor of 0.66.
Nothing in that space is close. A profit factor of 0.90 means gross wins were ninety cents per dollar of gross losses: the strategy is not catastrophically broken, it is quietly and consistently the wrong side of the cost line.
The autopsy: the edge is thinner than the friction
The mechanism is simple once you see it, and it has nothing to do with the signal being wrong:
- A 2-period RSI snaps back within one or two H1 bars, so the winners capture a small, fixed slice of gold movement.
- Those slices are the same order of magnitude as the round-trip cost: gold's spread runs $0.46 to $0.88 in our tick data for most of the period, plus $7 per lot in commission.
- The losers run the full ATR-based stop, which is several times larger than a typical winner.
Small wins against large losses is a survivable structure only if the win rate is high enough to pay for it, and here it never is: across 300 to 1,900 trades per configuration, the expectancy stays a couple of dollars negative per trade. No threshold, filter period or stop multiple fixes that arithmetic. The published RSI(2) edge lives on daily bars, where the average move dwarfs the friction. Compress it to gold H1 and the friction eats the whole thing.
Why this rejection cost almost nothing
Our pipeline separates in-sample optimization (2019 to 2022) from a one-shot out-of-sample window (2022 to 2026) that only frozen candidates may touch. This strategy never got that far. With nothing profitable in sample, there was nothing to select, nothing to freeze, and zero out-of-sample runs consumed. Total cost of finding out: one optimization run, about ten minutes.
Compare that with the usual path of trading a plausible-sounding strategy live until the spread bleed becomes undeniable.
What changed in our process
Every rejection should upgrade the pipeline, and this one did. Our pre-test code review checklist now includes an edge-geometry check: estimate the strategy's typical winner in price terms and compare it to the instrument's real spread before running anything. If the expected winner is under about 3x the spread, the backtest can only prove that the spread wins.
More from the lab: the Tokyo-fix anomaly study (a real edge we rejected anyway) and the range breakout that started this project (one strategy, two pairs, opposite endings). All tested strategies, winners and losers, are on the results page.
Past performance is not indicative of future results. These are backtests with realistic cost assumptions, not live trading records.
Run the numbers yourself
The free calculators behind the sizing and robustness checks in this test. No signup.