RSI mean-reversion on ETH 4h
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.