Does an RSI Strategy Actually Work? A Measured Backtest

Written by chwoo · Crypto trader, 7 years. Running an automated futures bot since spring 2026. · · updated

RSI (Relative Strength Index) is the first indicator almost every crypto trader learns, and the one most likely to lose them money, not because RSI is bad, but because the textbook way of using it is naive. This guide shows what that naivety actually costs, measured, and how to backtest an RSI strategy honestly.

What RSI actually measures

RSI is an oscillator between 0 and 100 that compares the size of recent gains against recent losses over a chosen lookback, 14 by default. A high reading means price has risen strongly and steadily; a low reading means it has fallen. The common interpretation, "above 70 is overbought so sell, below 30 is oversold so buy", is where most traders go wrong.

Why the classic 70/30 rule fails in crypto

In a strong trend, RSI can sit above 70 for weeks while price keeps climbing. Shorting every "overbought" reading in a bull market is a fast way to get run over. Crypto trends hard, so a naive mean-reversion RSI often bleeds. The fix is not to abandon RSI, it is to be specific about when you trust it.

The usual claim is that RSI reversion (buying oversold) works in ranges while RSI momentum (buying strength) works in trends. Same indicator, opposite rules. It sounds reasonable. Below is what happens when you actually run it.

Reversion against momentum, head to head

We ran both rules through this site's engine under identical conditions. One goes long when RSI(14) crosses above 30 (reversion), the other long when it crosses above 50 (momentum). BTC on the 1-hour timeframe, 3% take profit and 2% stop loss, 0.06% fee and 0.02% slippage per side, 1x leverage, 90% position size, Binance candles through 31 August 2026.

StrategyROIMDDTradesWin rate
RSI crosses 30 (reversion)-79.8%85.2%69638.2%
RSI crosses 50 (momentum)-82.6%86.3%1,37140.5%
Same indicator, opposite rules. Both lose close to 80% of the account.

Open the strategy this guide measures in the backtester →

The interesting part is not which one won. The momentum version has the higher win rate and loses more. It wins 40.5% of the time against 38.2% and still ends further behind, because it traded nearly twice as often, 1,371 times against 696. Win rate does not count costs. That is the shortest possible demonstration of why you cannot read it alone.

It is not one coin's problem

We ran the same two rules across six coins, holding the timeframe and every other condition constant.

CoinReversion ROIMomentum ROI
BTC-79.8%-82.6%
ETH-85.6%-87.1%
SOL-93.4%-95.1%
XRP-96.3%-99.5%
DOGE-82.4%-99.7%
ADA-96.6%-99.2%
Twelve combinations, none profitable. Momentum on XRP and ADA all but erases the account.

The reversion-versus-momentum debate does not mean much when both sides lose everywhere. What this table says is that a single RSI condition as an entry does not clear its own costs.

Looking only at the recent window will fool you

This is the most important table in the guide. Here are the same two strategies split by period.

WindowReversion ROIMomentum ROI
7 years-80.6%-83.3%
5 years-69.2%-62.5%
3 years-50.9%-7.9%
2 years-53.0%-16.8%
1 year-37.5%-23.8%
6 months-10.0%-7.3%
3 months12.5%-9.6%
1 month3.2%-1.9%
Narrow the window and the loss shrinks; at 3 and 1 month the reversion version flips positive.

Taken alone, the last three months show reversion at +12.5%. Concluding from that cell that "RSI 30 reversion works" is the single most common way a backtest deceives its author. The same strategy over seven years is -80.6%.

Shorter windows usually look better for arithmetic reasons rather than because an edge appeared. Fewer trades fall inside them, so costs have less time to accumulate and compounding has less time to grind. The period table is therefore not a tool for asking "is it good lately" but for asking is the sign consistent. Reversion is positive in 2 of 8 windows.

The exit changes the result more than the entry

The shape most beginners actually have in mind is slightly different: buy when RSI crosses above 30, sell when it becomes overbought. In this tool you get that shape by setting the exit to the opposite signal, and the opposite of "RSI crosses above 30" is RSI crossing below 70. We kept the entry identical and changed only the exit.

ExitROIMDDTradesWin rate
3% take profit / 2% stop-79.8%85.2%69638.2%
RSI crosses below 70-24.1%64.6%24664.2%
The entry is exactly the same. Changing only the exit moves the loss from -79.8% to -24.1% and the win rate from 38.2% to 64.2%.

More than a threefold difference from the same entry. A fixed 2% stop cuts the position before the very reversion the strategy is betting on has a chance to happen. The opposite-signal exit gives that reversion time, and pays for it with a deeper drawdown. Trying two or three exits is almost always a better use of effort than polishing the entry.

Worth stating plainly: -24.1% is still a loss. A large improvement is not the same as an edge.

Does RSI help as a filter?

RSI can also be used as a filter rather than a trigger: enter on something else, and only allow it while RSI sits in a chosen band. We took an EMA 20/50 golden cross entry and gated it on RSI between 40 and 70.

ConfigurationROIMDDTradesWin rate
EMA 20/50 golden cross only-42.5%59.0%49940.9%
+ RSI 40-70 filter-47.9%60.8%42840.0%
Adding the filter made it worse. It removed 71 trades and the loss grew.

Filters are not automatically helpful. Here the RSI band removed winning trades along with losing ones. The point is that a filter has to be justified by numbers rather than by story, and this table is the counterexample.

Timeframe changes the result, and the sample

TimeframeROIMDDTrades
15 minutes-91.7%95.1%1,615
1 hour-79.8%85.2%696
4 hours-43.3%52.4%223
1 day-13.1%18.4%28
Longer timeframes lose less, but the daily row rests on 28 trades.

The loss shrinking from -91.7% to -13.1% is mostly trade frequency: fewer trades means less cost erosion. That does not make the daily timeframe the answer. Twenty-eight trades is a story, not a statistic, and a handful of different outcomes would flip its sign. Lengthening the timeframe to reduce a loss and burning the sample until nothing can be concluded are separated by a very thin line.

So how do you test it

  • Shake the exit before the entry. One exit change above turned -79.8% into -24.1%. No amount of entry tuning produced anything of that size.
  • Count signs in the period table. How many windows are positive matters more than the total. A strategy that only looks good over the last three months is not a good strategy.
  • Read the trade count alongside every number. Under about 30 trades, win rate and payoff ratio are not usable even as estimates.
  • Test filters, do not assume them. The RSI band filter made this system worse.
  • Nudge the RSI period by a few points. If 14 works but 12 and 16 collapse, you found a peak, not an edge.
RSI has many knobs (period, threshold, cross versus absolute level, plus filters and exits) which makes it especially easy to overfit. No cell in the tables above means "do this and you will make money". Prefer settings that keep their sign across nearby values and across multiple periods, and if you want, run the same conditions yourself right now. The tool is free and uses seven years of real Binance data.

References

Reading is good. Testing is better. Run a real backtest on 7 years of Binance data, free.

Try the backtester