Backtesting Arena

Backtesting Arena

Stoch-RSI / SMA Cross master

Stoch-RSI / SMA Cross Strategy

A faster RSI variant — the Stochastic RSI crosses its own moving average. More trades, more sensitivity, ideal for active markets.

Quick Facts

Type:
Mean Reversion · Momentum
Plan:
Pro
Asset Classes:
Crypto · Stocks · ETF · Commodities · Forex
Indicators:
Stoch-RSI · SMA

Platform Backtest

CAGR
+19.0%
Win Rate
36%
Max DD
-32%

Default parameters · BTCUSDT · 1d · 4 years · B&H +18.1%

How It Works

The Stochastic RSI is an indicator of an indicator: it computes the RSI, then applies the Stochastic formula to that RSI. The result oscillates between 0 and 1 (or 0–100) but reacts much faster to price changes than the regular RSI — sometimes too fast.

This strategy applies the same SMA-cross logic as RSI/SMA Cross, but uses the Stoch-RSI as its base instead of the plain RSI.

Entry signal: when the Stoch-RSI crosses above its SMA, momentum has flipped bullish — a buy signal.

Exit signal: when the Stoch-RSI crosses below its SMA, momentum is fading — a sell signal.

Because the Stoch-RSI is more sensitive, you'll get many more signals than with regular RSI. That's a strength in fast-moving, choppy markets where trends are short. It's a weakness in calm, trending markets where the extra signals are noise. The smoothing SMA period is critical here — too low and you get a whipsaw machine, too high and you lose the speed advantage.

Entry & Exit Rules

Entry

  • Stoch-RSI crosses above its own SMA
  • Position is currently flat

Exit

  • Stoch-RSI crosses below its own SMA
  • Position is currently long

Parameters

NameDefaultRangeDescription
RSI Period14250Number of candles for the underlying RSI calculation. Default 14.
Stoch Period14250Lookback for the Stochastic transform applied to the RSI.
SMA Period3150Smoothing period applied to the Stoch-RSI. Lower = more reactive, more whipsaws.

Live Backtest

Strategy CAGR
+19.0%
Buy & Hold CAGR
+18.1%
Trades
570
Win Rate
36%
Y-axis: Equity (USD, $10,000 starting capital)2022-04-28 → 2026-04-27

BTCUSDT · 1d · 4 years · default parameters · refreshed daily

Run with my own parameters →

Pseudo-Code

expand
// Compute Stochastic RSI
rsi_series = RSI(closes, rsi_period)
stoch_rsi  = Stochastic(rsi_series, stoch_period)
stoch_sma  = SMA(stoch_rsi, sma_period)

// Entry
if stoch_rsi crosses_above stoch_sma:
  if position.is_flat:
    BUY

// Exit
if stoch_rsi crosses_below stoch_sma:
  if position.is_long:
    SELL

Strengths & Weaknesses

Strengths

  • Faster than regular RSI/SMA — captures shorter swings
  • Adapts to current market via dynamic SMA threshold
  • Tunable on three axes (RSI, Stoch, SMA periods)
  • Works on all asset classes including forex

Weaknesses

  • Many signals → high transaction costs in real trading
  • Whipsaws in calm markets — RSI/SMA Cross is calmer
  • Sensitive to parameter choice; small changes = big trade-count differences
  • No volatility filter — can fire in unfavourable regimes

Frequently Asked Questions

When should I prefer Stoch-RSI/SMA over RSI/SMA?

Choppy, short-cycle markets where price swings rapidly between local extremes. The Stoch-RSI catches turns faster, which is essential when you don't have weeks to wait for a regular RSI to confirm. The trade-off: more whipsaws in calm markets.

What's a good SMA period to start with?

3 is the literature standard and a good starting point. Increase to 5–7 if you want fewer trades; reduce to 2 only if you really know what you're doing — at 2, the SMA is barely smoothing anything.

Can I use this on weekly timeframes?

Yes, and it actually works well there — the Stoch-RSI's noise on daily timeframes gets smoothed out at the weekly level. You get fewer but higher-conviction trades. For Bitcoin specifically, weekly Stoch-RSI/SMA Cross has historically tracked major cycle turns within 1–2 weeks.

Related Strategies

Don't want to backtest yourself?

Check out our Strategy Insights Reports — pre-baked deep-dives with historical results, comparisons, and market context.

📊 View Reports →

Ready to backtest?

Open the Arena →