StochRSI -- Stochastic RSI

Contents


Overview

Stochastic RSI (StochRSI) applies the Stochastic oscillator formula to RSI values instead of raw price. The result is an indicator that is significantly more sensitive than standard RSI -- it reaches extreme values (0 and 100) far more frequently.

Where RSI might hover around 40--60 for extended periods, StochRSI will swing aggressively between 0 and 100 within the same timeframe. This makes it ideal for catching short-term reversals, but it also means more false signals.

Think of it this way:

  • RSI answers: "How strong is the current momentum compared to recent history?"
  • StochRSI answers: "Where is RSI right now relative to its own recent range?"

If RSI has ranged between 35 and 65 over the last 14 candles and currently sits at 35, StochRSI would be near 0 -- even though RSI itself is not at a traditional "oversold" level. This relative measurement is what makes StochRSI more reactive.

StochRSI(14) shown as oscillator below BTC/USDC 1h candle chart with overbought/oversold zone labels


Format

stoch_rsi_{period}

The period defines the lookback window for both the underlying RSI calculation and the stochastic normalization applied on top.

ExamplePeriodUse Case
stoch_rsi_77Very fast, extremely reactive -- ideal for scalping on 1m/5m charts
stoch_rsi_1414Standard -- the most common period, balances sensitivity and reliability
stoch_rsi_2121Smoother, fewer whipsaws -- better for 15m/1h swing entries

Period range: 1 to 200.

Value range: 0 to 100 (always).


StochRSI Zones

StochRSI RangeZoneInterpretation
Below 10Deeply OversoldRSI is at the very bottom of its recent range. Strong short-term reversal candidate.
10 -- 20OversoldRSI is near the low end of its recent range. Selling pressure may be exhausting.
20 -- 80NeutralStochRSI is mid-range. No strong directional signal from this indicator alone.
80 -- 90OverboughtRSI is near the high end of its recent range. Buying pressure may be peaking.
Above 90Deeply OverboughtRSI is at the very top of its recent range. Strong short-term reversal candidate.

Note

StochRSI reaches 0 and 100 much more frequently than RSI reaches 30 and 70. A StochRSI value of 0 does not carry the same weight as an RSI of 0 (which would be extraordinary). Treat StochRSI extremes as short-term timing signals, not as strong standalone conviction signals.


Understanding Operators with StochRSI

Each operator behaves differently with StochRSI. Because StochRSI oscillates rapidly, operator choice has a major impact on signal frequency.

< (Less Than) -- State-Based

What it does: The trigger is true on every candle where StochRSI is below the threshold.

On the chart: StochRSI drops below the 10 line. For every candle it remains below 10, this trigger fires. Because StochRSI moves fast, these episodes tend to be short-lived (2--5 candles), but they can still fire multiple times.

[[actions.triggers]]
indicator = "stoch_rsi_14"
operator = "<"
target = "10"
timeframe = "5m"

Warning

StochRSI spends more time at extremes than RSI does. Even with a tight threshold like 10, you may get repeated triggers in quick succession. Always use max_count to limit entries, or switch to cross_below for a single-fire signal.

> (Greater Than) -- State-Based

What it does: The trigger is true on every candle where StochRSI is above the threshold.

On the chart: StochRSI climbs above the 80 or 90 line. Every candle it stays there, this trigger fires.

[[actions.triggers]]
indicator = "stoch_rsi_14"
operator = ">"
target = "85"
timeframe = "5m"

Typical use: Exit or take profit when StochRSI signals short-term overbought conditions. Combine with max_count = 1 to fire once.

cross_below -- Event-Based

What it does: Fires once, at the exact candle where StochRSI transitions from above the threshold to below it. The previous candle had StochRSI >= the target, and the current candle has StochRSI < the target.

On the chart: StochRSI pierces the 20 line from above to below. This single moment is the trigger -- it then goes silent until the next crossing.

[[actions.triggers]]
indicator = "stoch_rsi_14"
operator = "cross_below"
target = "20"
timeframe = "5m"

Typical use: Detect the moment StochRSI enters oversold territory. More precise than < because it fires exactly once per entry into the zone, making it useful for timing dip-buy entries without repeated signals.

cross_above -- Event-Based

What it does: Fires once, at the exact candle where StochRSI transitions from below the threshold to above it. The previous candle had StochRSI <= the target, and the current candle has StochRSI > the target.

On the chart: StochRSI climbing up through the 20 line from below. The moment it crosses, the trigger fires once.

[[actions.triggers]]
indicator = "stoch_rsi_14"
operator = "cross_above"
target = "20"
timeframe = "5m"

Typical use: Detect when StochRSI recovers from oversold. Instead of buying while the indicator is still falling, this waits for the first sign of reversal -- StochRSI turning back up through the oversold boundary. This is often a safer entry than raw < 10.

Why: StochRSI produces floating-point values. Exact equality (e.g., stoch_rsi_14 = 50) will almost never match. Use < or > instead.

Choosing the right operator

  • Use < / > when you want to act while StochRSI is in an extreme zone (state-based). Always add max_count to limit repeated firing.
  • Use cross_above / cross_below when you want to act at the moment StochRSI enters or leaves a zone (event-based). This is often the better choice for StochRSI because it naturally fires once per event.

TOML Examples

Buy on Deeply Oversold StochRSI

Catch short-term dips when StochRSI drops below 10 on the 5-minute chart. The max_count = 1 prevents repeated entries while StochRSI remains pinned near zero.

[[actions]]
type = "open_long"
amount = "50 USDC"

  [[actions.triggers]]
  indicator = "stoch_rsi_14"
  operator = "<"
  target = "10"
  timeframe = "5m"
  max_count = 1

Sell on Overbought StochRSI

Take profit when short-term momentum peaks. StochRSI above 85 on the 5-minute chart signals the move may be overextended.

[[actions]]
type = "sell"
amount = "100%"

  [[actions.triggers]]
  indicator = "stoch_rsi_14"
  operator = ">"
  target = "85"
  timeframe = "5m"
  max_count = 1

Buy on StochRSI Recovery (Cross Above 20)

Instead of buying while StochRSI is still falling, wait for the first sign of recovery. This catches the reversal rather than the bottom.

[[actions]]
type = "open_long"
amount = "75 USDC"

  [[actions.triggers]]
  indicator = "stoch_rsi_14"
  operator = "cross_above"
  target = "20"
  timeframe = "5m"

StochRSI with RSI Filter

Combine the sensitivity of StochRSI with the broader context of RSI. Only enter when StochRSI is deeply oversold and RSI confirms the broader momentum is also depressed. This filters out the many false signals StochRSI generates in trending markets.

[[actions]]
type = "open_long"
amount = "100 USDC"

  [[actions.triggers]]
  indicator = "stoch_rsi_14"
  operator = "<"
  target = "10"
  timeframe = "5m"
  max_count = 1

  [[actions.triggers]]
  indicator = "rsi_14"
  operator = "<"
  target = "40"
  timeframe = "1h"

Tips

StochRSI is noisier than RSI

StochRSI reaches 0 and 100 routinely -- sometimes multiple times per hour on low timeframes. By itself, a StochRSI extreme is a weak signal. Always combine it with at least one confirmation layer: a trend filter (sma_50 > sma_200), an RSI range check, or a higher-timeframe directional bias.

Period selection

stoch_rsi_7 is extremely reactive and suitable for ultra-short scalping on 1m charts. Expect many signals, most of them marginal.

stoch_rsi_14 is the standard and the best starting point for most strategies. It balances sensitivity with signal quality.

stoch_rsi_21 smooths out the noise and produces fewer, more reliable signals. Good for 15m or 1h timeframes where you want fewer entries with higher conviction.

Best timeframe pairing

StochRSI shines on low timeframes (1m, 5m, 15m) where its sensitivity catches quick reversals. On higher timeframes like 4h or 1d, regular RSI is usually sufficient because momentum shifts play out over more candles. A powerful combination is StochRSI on 5m for entry timing with RSI on 1h for directional confirmation.