Buy oversold, sell overbought. Works in ranges, gets run over by trends.
Listed as convention, not as established fact.
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.
| Market | Return | Buy & hold | vs B&H | Beat it | Max DD | Underwater | Grid 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.
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.
26 fills. Signals are taken on the close and filled at the next open.
Everything above uses the daily row. These are the same rules and the same parameters on a different candle size.
| Timeframe | Return | Buy & hold | vs B&H | Beat it | Trades |
|---|---|---|---|---|---|
| 4H | -41% | 524% | -565% | no | 87 |
| 1D ← | 45% | 530% | -485% | no | 13 |
| 1W | 102% | 524% | -422% | no | 2 |
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.
| Worst | p10 | p25 | Median | p75 | p90 | Best | Losing starts |
|---|---|---|---|---|---|---|---|
| -53.2% | -31.2% | -15.9% | 4.1% | 22.0% | 59.6% | 132.2% | 42% |
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.
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 20 | buyBelow 25 | buyBelow 30 | buyBelow 35 | |
|---|---|---|---|---|
| sellAbove 60 | 65% | 54% | 120% | -36% |
| sellAbove 65 | 108% | 112% | 250% | 2% |
| sellAbove 70 | 70% | 36% | 45% | -45% |
| sellAbove 80 | 55% | -46% | -31% | -42% |
Hover a cell for trade count and drawdown. “·” = invalid combination (fast ≥ slow).
| Year | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|---|---|
| Return | -31% | -15% | 82% | -8% | -40% | 49% | 14% | 3% | -12% |
| Max DD | 64% | 30% | 13% | 32% | 50% | 9% | 21% | 19% | 29% |
| Trades | 1 | 0 | 1 | 1 | 1 | 2 | 1 | 1 | 1 |
| Entered | Entry | Exited | Exit | Held | Size | P&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.
| Period | 2018-01-01 → 2026-09-23 |
| Parameters | {"length":14,"buyBelow":30,"sellAbove":70} |
| Rolling test | 365 bars × 95 start dates |
| Input hash | e013d4415f596913 |
24 fills. Signals are taken on the close and filled at the next open.
Everything above uses the daily row. These are the same rules and the same parameters on a different candle size.
| Timeframe | Return | Buy & hold | vs B&H | Beat it | Trades |
|---|---|---|---|---|---|
| 4H | -90% | 271% | -361% | no | 6 |
| 1D ← | -11% | 276% | -287% | no | 12 |
| 1W | 128% | 271% | -143% | no | 2 |
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.
| Worst | p10 | p25 | Median | p75 | p90 | Best | Losing starts |
|---|---|---|---|---|---|---|---|
| -73.6% | -47.7% | -13.2% | 0.0% | 19.1% | 99.5% | 173.0% | 41% |
The headline above uses one parameter setting. Here is every setting tested: 16 combinations, median -11.3%, best 461.6%, worst -56.3%. 1 of them beat buy & hold.
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 20 | buyBelow 25 | buyBelow 30 | buyBelow 35 | |
|---|---|---|---|---|
| sellAbove 60 | 131% | 256% | -34% | -56% |
| sellAbove 65 | 65% | 233% | -37% | -41% |
| sellAbove 70 | 104% | 462% | -11% | -19% |
| sellAbove 80 | 46% | 66% | -55% | -18% |
Hover a cell for trade count and drawdown. “·” = invalid combination (fast ≥ slow).
| Year | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|---|---|
| Return | -59% | -5% | 99% | 0% | 1% | 5% | 2% | -11% | -8% |
| Max DD | 78% | 28% | 17% | 0% | 58% | 11% | 37% | 41% | 36% |
| Trades | 1 | 1 | 1 | 0 | 2 | 1 | 1 | 1 | 1 |
| Entered | Entry | Exited | Exit | Held | Size | P&L (USDT) | Return |
|---|---|---|---|---|---|---|---|
| 2025-11-05 | 3,288.69 | 2026-08-20 | 2,251.68 | 288 bars | 12,978.45 | -4,110.19 | -31.7% |
| 2025-03-01 | 2,238.71 | 2025-05-09 | 2,206.29 | 69 bars | 13,195.53 | -217.09 | -1.7% |
| 2024-07-05 | 3,061.23 | 2024-11-10 | 3,124.64 | 128 bars | 12,953.64 | +241.89 | +1.9% |
| 2023-08-18 | 1,682.33 | 2023-10-24 | 1,764.59 | 67 bars | 12,374.53 | +579.11 | +4.7% |
| 2022-11-10 | 1,103.28 | 2023-01-12 | 1,388.71 | 63 bars | 9,850.85 | +2,523.69 | +25.6% |
| 2022-05-10 | 2,230.11 | 2022-08-13 | 1,957.3 | 95 bars | 11,246.35 | -1,395.51 | -12.4% |
| 2022-01-08 | 3,200.28 | 2022-03-28 | 3,294 | 79 bars | 10,948.24 | +298.11 | +2.7% |
| 2020-03-13 | 107.72 | 2020-04-30 | 215.29 | 48 bars | 5,489.04 | +5,459.2 | +99.5% |
| 2019-11-23 | 149.62 | 2020-01-15 | 165.52 | 53 bars | 4,971.93 | +517.11 | +10.4% |
| 2019-07-17 | 199.04 | 2019-09-20 | 220.15 | 65 bars | 4,504.17 | +467.76 | +10.4% |
| 2018-08-08 | 378.39 | 2019-02-19 | 145.62 | 195 bars | 11,727.6 | -7,223.43 | -61.6% |
| 2018-03-18 | 548.25 | 2018-04-24 | 644.26 | 37 bars | 10,000 | +1,727.6 | +17.3% |
Prices include slippage; size is what was actually committed to that trade including fees.
| Period | 2018-01-01 → 2026-09-23 |
| Parameters | {"length":14,"buyBelow":30,"sellAbove":70} |
| Rolling test | 365 bars × 95 start dates |
| Input hash | 47546f923545199c |
16 fills. Signals are taken on the close and filled at the next open.
Everything above uses the daily row. These are the same rules and the same parameters on a different candle size.
| Timeframe | Return | Buy & hold | vs B&H | Beat it | Trades |
|---|---|---|---|---|---|
| 4H | 1% | 119% | -118% | no | 44 |
| 1D ← | 17% | 119% | -101% | no | 8 |
| 1W | 0% | 123% | -123% | no | 0 |
A single return is one chosen start date. These are 62 runs of the same rules with the start shifted forward 30 days at a time.
| Worst | p10 | p25 | Median | p75 | p90 | Best | Losing starts |
|---|---|---|---|---|---|---|---|
| -11.1% | -5.0% | 0.0% | 3.2% | 7.9% | 9.2% | 15.3% | 23% |
The headline above uses one parameter setting. Here is every setting tested: 16 combinations, median 4.3%, best 32.7%, worst -5.2%. 0 of them beat buy & hold.
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 20 | buyBelow 25 | buyBelow 30 | buyBelow 35 | |
|---|---|---|---|---|
| sellAbove 60 | 0% | 12% | 18% | 4% |
| sellAbove 65 | 0% | -0% | 0% | -5% |
| sellAbove 70 | 0% | 12% | 17% | 11% |
| sellAbove 80 | 0% | 22% | 33% | 32% |
Hover a cell for trade count and drawdown. “·” = invalid combination (fast ≥ slow).
| Year | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|
| Return | 9% | -5% | 8% | 3% | 0% | -6% |
| Max DD | 6% | 14% | 7% | 5% | 0% | 17% |
| Trades | 2 | 1 | 2 | 0 | 0 | 1 |
| Entered | Entry | Exited | Exit | Held | Size | P&L (USDT) | Return |
|---|---|---|---|---|---|---|---|
| 2026-03-20 | 4,654.72 | 2026-08-11 | 4,394.93 | 144 bars | 12,447.84 | -718.21 | -5.8% |
| 2024-11-13 | 2,560.28 | 2025-01-26 | 2,767.62 | 74 bars | 11,538.36 | +909.48 | +7.9% |
| 2023-06-06 | 1,920.96 | 2023-10-20 | 1,962.02 | 136 bars | 11,319.52 | +218.84 | +1.9% |
| 2023-02-14 | 1,807.9 | 2023-03-14 | 1,921.04 | 28 bars | 10,674.2 | +645.31 | +6.0% |
| 2022-05-11 | 1,835.92 | 2022-11-11 | 1,747.13 | 184 bars | 11,239.14 | -564.93 | -5.0% |
| 2021-06-18 | 1,791.76 | 2021-11-11 | 1,851.07 | 146 bars | 10,900.76 | +338.38 | +3.1% |
| 2021-02-27 | 1,750.55 | 2021-05-09 | 1,861.86 | 71 bars | 10,269.62 | +631.14 | +6.2% |
| 2020-09-23 | 1,910.95 | 2021-01-03 | 1,966.41 | 102 bars | 10,000 | +269.62 | +2.7% |
Prices include slippage; size is what was actually committed to that trade including fees.
| Period | 2020-09-01 → 2026-09-23 |
| Parameters | {"length":14,"buyBelow":30,"sellAbove":70} |
| Rolling test | 365 bars × 62 start dates |
| Input hash | 4adb3b9674b8a9d8 |