Back to blog

RSI mean-reversion on ETH 4h

·2 min read

We started by writing the idea down in plain English:

  • Buy ETH when the 4-hour RSI drops below 30 (oversold).
  • Only take the trade if volume is above its recent average.
  • Sell when RSI recovers above 55.

How we tested it

We ran it as a Validate job. The Quant Agent implemented the rule as literally as it could: RSI(14) below 30, volume above its 20-candle average, exit when RSI recovers above 55. No tuning, no extra filters. One backtest on the training window, then one check on a hold-out the run never saw. Same wallet, same costs.

  • Train: 28 Jul 2024 – 24 Apr 2025
  • Hold-out: 24 Apr 2025 – 23 Jul 2025
  • Eligibility: at least 30 trades. Below that, treat the result as noise.

Why we killed it before paper

The strategy did not almost work. It never produced enough trades to be eligible: 15 on the training window against a floor of 30, and 2 on the hold-out.

A 60% win rate on 15 trades looks comforting. It is still a small sample, and here it still lost money: the typical winner was small, and the worst loser gave back 14%. We stopped there. Loosening the RSI threshold or dropping the volume filter to get more trades would be tuning, not validating. That is how most retail strategies die: more complexity, same scarce signal.

What this teaches (crypto or stocks)

  • Count trades before you read profit.
  • A high win rate says nothing on its own. Look at how big the losers are.
  • A locked hold-out with 2 trades cannot save the idea.
  • The next step has to be a new spec (more pairs, a different timeframe, a less extreme threshold across a universe), not another oscillator on the same handful of events.

What we did not claim

Not paper. Not live. Not a return. Figures are simulated on one training window plus a locked hold-out.

The verdict is the product: 15 trades against a floor of 30. Killed.

Kill the idea before it spends the account.

Any figure shown in a teardown is backtested or simulated and is not indicative of future performance.

Share this teardownShare on X