STEADYTRADE
Strategy backtests · past-window simulation, not investment advice

RSI Reversion

Buy oversold, sell overbought. Works in ranges, gets run over by trends.

What it is

Reference — Glowwiki: RSI
The definitions and formulas below follow that article. It states its own limit plainly:
“Whether this produces profit is not addressed in that article.”
That is the question this page answers.

Note from the reference: Wilder smoothing has no fixed window, so an RSI value depends on how much history was loaded before it — Cutler documented that the same symbol and setting gives different values depending where the data file starts. Cutler's variant, using a simple moving average, does not have this dependency. The reference also notes that its Cardwell section has carried an unsourced tag since June 2014, and that Wilder and Cardwell read divergence in opposite directions.

Formulas

RSI
RSI = 100 − 100/(1 + RS), RS = avgGain / avgLoss
Averages use Wilder smoothing (α = 1/n), not a fixed window

Established

These rest on a single line of sourcing. The Glowwiki reference article draws on the same encyclopaedia cited here, so two domains do not make two independent accounts. Nothing below has been checked against a second, separately grounded source. It is listed as established because the sources state it as definition rather than as finding — not because it has been cross-verified.

Conventional reading

Listed as convention, not as established fact.

Why your chart may not match Why the history matters, and how far back: with Wilder smoothing the weight of a bar k periods ago is (1 − 1/n)^k. At n = 14 that is 0.108 at 30 bars back, 0.0117 at 60, and 0.000137 at 120 — a half-life of about 9.4 periods. This is arithmetic that follows from the definition, not a figure reported by a source. It explains the measurement below rather than replacing it.

Wilder smoothing has no fixed window — every earlier bar still influences today's value, so the same symbol and the same 14-period setting give different RSI readings depending on how much history was loaded. Measured on this data at one point (2023-06-24): 30 bars of history shifts the value by 0.67 against the full-history figure, and at 120 bars that particular gap closes. That is one measurement, not a general bound — across the 365-bar rolling windows used here the mean absolute difference is 0.30 points but the largest is 20.48, because a small weight multiplied by a large price move is not small. The RSI-below-30 entry test flips on 0.22% of bars. This site computes the indicator inside each window rather than carrying history across it.

Sources

  1. RSI — Glowwiki (en)
  2. Technical analysis — Wikipedia (en)
  3. Relative strength index — Wikipedia (en)

The short answer

Beat buy & hold in none of the 3 markets tested.

Gold (PAXG) -101% · BTC/USDT -485%. A rule that wins in one market and loses in another did not find an edge; it found a rising asset. Each figure is measured only against buying and holding that same market over that same period.

MarketReturnBuy & holdvs B&HBeat itMax DDUnderwaterGrid beat
BTC/USDT 45% 530% -485% no 66% 2872d 0%
ETH/USDT -11% 276% -287% no 78% 1477d 6%
Gold (PAXG) 17% 119% -101% no 17% 493d 0%

All figures on this page are from daily candles unless a row says otherwise.

Evidence

Everything below is the same rules run over real price history. Pick a market to see the fills, the equity path and the parameter grid for it.

Daily candlesBTC/USDT · 3188 bars · 2018-01-01 → 2026-09-23
Total return
45.3%
10,000 → 14,530
vs buy & hold
-484.6%
over the same period 529.9%
Max drawdown
65.8%
10,000 → 5,670
Longest underwater
2872
2872 days · 98% of the period
Settings that beat it
0 / 16
of 16 parameter settings tested
Win rate
69%
95% CI 42%–87% · n=13
The win rate on this page is not a readable number. With 13 closed trades the 95% confidence interval runs 42%–87% — it spans a coin flip, so the headline 69% cannot be distinguished from chance at this sample size. It is shown because leaving it out would be worse, not because it supports a conclusion.
A 0% risk of ruin here is a property of the test, not a safety rating. These runs are long-only spot with no borrowed money, so there is no margin call and nothing can force the position closed. The account cannot be wiped out — it gets stuck holding the asset instead. Capital deployed (2×) and max drawdown (65.8%) are the numbers that carry the risk on this page. The same rules run on margin would be a different measurement, and this figure would not stay at zero.
Daily candles
account equitybuy & holddashed = starting capital

26 fills. Signals are taken on the close and filled at the next open.

Timeframe

Everything above uses the daily row. These are the same rules and the same parameters on a different candle size.

TimeframeReturnBuy & holdvs B&HBeat itTrades
4H -41%524% -565% no87
1D ← 45%530% -485% no13
1W 102%524% -422% no2

Outcome distribution

A single return is one chosen start date. These are 95 runs of the same rules with the start shifted forward 30 days at a time.

Worstp10p25Medianp75p90BestLosing starts
-53.2%-31.2%-15.9% 4.1%22.0% 59.6%132.2%42%

Does it survive its own parameters?

The headline above uses one parameter setting. Here is every setting tested: 16 combinations, median 45.3%, best 249.5%, worst -46.0%. 0 of them beat buy & hold.

A strategy that only works at one setting did not work — it was fitted.

Parameter grid

RSI Reversion run across its own parameter range over the full period. The same rules flip from profit to loss depending only on the numbers you picked — which is why a single headline return is meaningless on its own.

buyBelow 20buyBelow 25buyBelow 30buyBelow 35
sellAbove 6065%54%120%-36%
sellAbove 65108%112%250%2%
sellAbove 7070%36%45%-45%
sellAbove 8055%-46%-31%-42%

Hover a cell for trade count and drawdown. “·” = invalid combination (fast ≥ slow).

Year by year

Year201820192020202120222023202420252026
Return-31%-15%82%-8%-40%49%14%3%-12%
Max DD64%30%13%32%50%9%21%19%29%
Trades101112111
Recent closed trades 13 closed trades — showing the last 13
EnteredEntry ExitedExitHeld SizeP&L (USDT)Return
2026-02-01 78,780.47 2026-08-20 69,300.11 200 bars 16,550.51 -2,020.76 -12.2%
2025-11-18 92,261.25 2026-01-15 96,903.3 58 bars 15,789.23 +761.29 +4.8%
2025-02-26 88,724.73 2025-05-03 96,838.69 66 bars 14,495.23 +1,293.99 +8.9%
2024-06-25 60,323.45 2024-10-21 68,997.48 118 bars 12,698.33 +1,796.9 +14.1%
2023-08-18 26,636.72 2023-10-21 29,654.22 64 bars 11,429.04 +1,269.3 +11.1%
2023-03-10 20,372.39 2023-03-18 27,381.43 8 bars 8,520.48 +2,908.56 +34.1%
2022-05-10 30,089.27 2023-01-12 17,934.29 247 bars 14,323.86 -5,803.38 -40.5%
2022-01-08 41,587.26 2022-03-30 47,411.07 81 bars 12,589.52 +1,734.34 +13.8%
2021-05-18 43,559.79 2021-07-29 39,999.56 72 bars 13,737.52 -1,148 -8.4%
2020-03-13 4,802.41 2020-04-30 8,774.19 48 bars 7,534.06 +6,203.46 +82.3%
2019-09-25 8,501.8 2020-01-15 8,810.23 112 bars 7,284.86 +249.2 +3.4%
2018-11-15 5,920.16 2019-02-19 3,895.4 96 bars 11,093.56 -3,808.7 -34.3%
2018-02-06 6,943.1 2018-07-24 7,717.79 168 bars 10,000 +1,093.56 +10.9%

Prices include slippage; size is what was actually committed to that trade including fees.

Assumptions

Period2018-01-01 → 2026-09-23
Parameters{"length":14,"buyBelow":30,"sellAbove":70}
Rolling test365 bars × 95 start dates
Input hashe013d4415f596913

Other strategies

Buy & HoldMartingaleGridDCAMA CrossEMA CrossMACD CrossBollinger ReversionDonchian BreakoutSupertrendStochastic CrossParabolic SAR