Skip to content

CRSI (Connors RSI)

What it shows: a fast oscillator from 0 to 100 that blends three things: a very short RSI of the close, an RSI of how many candles in a row price has gone up or down (the "streak"), and how today's change ranks against the last 100 candles.

How people use it: built for short-term dip buying: below 10 is deeply oversold, above 90 overbought. Mean-reversion strategies buy very low readings in an uptrend and sell high ones.

Pairs well with: a long moving average such as SMA 200, so dips are only bought when the bigger trend is up.

Settings

Setting Default What it does
RSI length 3 Length of the RSI of the close. Connors uses 3.
Streak RSI length 2 Length of the RSI of the up / down streak. Connors uses 2.
Rank length 100 How many earlier candles today's change is ranked against. Connors uses 100.
Oversold 10 The "low" line.
Overbought 90 The "high" line.

You set the defaults on the Indicators page. A condition can use its own settings, which override the defaults for that condition only.

Ready-made conditions

For Condition Fires when
Buy CRSI below 10 every candle CRSI is below 10
Buy CRSI crosses above 10 the one candle CRSI moves from below 10 to above it
Sell CRSI above 90 every candle CRSI is above 90
Sell CRSI crosses below 90 the one candle CRSI moves from above 90 to below it

"Above", "below", "is" and "rising" / "falling" stay true on every candle the state lasts, so they can fire many candles in a row. "Crosses" and "flips" fire once, on the candle it happens, so you get one signal per move. Numbers in the condition names follow your settings on the Indicators page.

Warnings you may see

  • "CRSI(3,2,100) only moves between 0 and 100, so 200 can never be reached.": a number you typed is outside the range this line can take, so the condition can never be true (or is always true). Check the number. You can still save it.
  • "It can never be true: a cross happens on one candle, so it cannot happen on N candles in a row. Use 'within the last N candles' instead.": a "crosses" condition with a "… in a row" lookback of 2 or more. Switch the lookback to Within the last.
  • "RSI length must be between 1 and 1000" / "RSI length must be a whole number": shown in the condition editor when a condition's own value is out of range. Fix the number; the condition can't be saved until then.
  • "Streak RSI length must be between 1 and 1000" / "Streak RSI length must be a whole number": shown in the condition editor when a condition's own value is out of range. Fix the number; the condition can't be saved until then.
  • "Rank length must be between 1 and 1000" / "Rank length must be a whole number": shown in the condition editor when a condition's own value is out of range. Fix the number; the condition can't be saved until then.

Where they show: on the Strategies page, open Create entry conditions / Edit entry conditions (or the exit ones). Each condition's messages appear right under it. The setting messages ("must be between", "whole number", "must be one of", "must be smaller than") start with the indicator's short name, for example "MACD: Fast must be between 1 and 1000", and keep the conditions from being saved until fixed. The other warnings never block saving and are repeated in the strategy's Entry or Exit section, starting with the condition's name.

Good to know

  • It is worked out from closing prices only (not volume).
  • Unchanged candles count as "below" in the rank (as on TradingView), so flat candles push it up. With no price change at all it is unavailable.
  • It needs some history before its value settles: the largest of 6 × RSI length + 1, 6 × Streak RSI length + 2, and Rank length + 2 candles (102 at 3 / 2 / 100). Apathia loads that history for you.