Connors RSI 指标:公式、参数与读法
Connors RSI 由 Larry Connors 于 2014 年提出,是三项测量的简单平均:一个极短周期的价格 Wilder RSI、一个对同向连续收盘的带符号连涨/连跌K线数计算的 Wilder RSI,以及最新单根K线收益率的百分位排名。默认参数为 3、2 和 100。
Senzoukria · 指标 · Updated September 2026
Connors RSI — 动量, 显示在图表下方的独立面板中.
Connors RSI 测量的是什么
三个组成部分有意回答不同的问题。3 周期 RSI 衡量价格的过度延伸;应用于连续序列的 2 周期 RSI——连续上涨收盘记为 +1、+2、+3,下跌收盘记为 −1、−2,收盘价不变记为 0 并中断连续——衡量持续时间上的过度延伸;百分位排名衡量幅度上的过度延伸,即之前 100 个收益率中严格小于当前收益率的比例。两个 RSI 组件都与独立的 RSI 完全一样使用 Wilder 平滑,所以两个指标在屏幕上一致。只要有任何一个组件无定义,复合值就不返回——绝不会只用三分之二来平均。
公式:代码中的实现
这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:
Connors RSI (Larry Connors, 2014) — moyenne SIMPLE de trois composantes mesurant trois choses DIFFÉRENTES : CRSI = ( RSI_wilder(close, 3) + RSI_wilder(streak, 2) + percentRank(retours %, 100) ) / 3 • streak[i] = longueur SIGNÉE de la série de clôtures consécutives dans le même sens : +1, +2, +3… en hausse ; −1, −2… en baisse ; 0 sur une clôture inchangée (qui casse la série). Le RSI de CETTE série mesure la PERSISTANCE, pas l'amplitude. • percentRank = 100 · #{ j parmi les N retours PRÉCÉDENTS : ret_j < ret_i } / N, avec ret = ROC% sur 1 barre. Comparaison STRICTE « < » sur les N retours ANTÉRIEURS (définition de Connors) — convention DIFFÉRENTE de `percentile-rank` (stats.ts), qui compte « ≤ » sur la fenêtre courante divisée par N−1. Écart assumé et documenté : ce sont deux indicateurs distincts, chacun fidèle à sa source. Les deux RSI sont du WILDER pur (`wilderRsiSeries` — mêmes égalités que `rsi` : marché plat → null, que des gains → 100, que des pertes → 0). Une composante indéfinie → CRSI null : on ne moyenne pas sur deux tiers. POURQUOI ces trois-là : Connors combine surachat de PRIX (RSI 3, très court), surachat de DURÉE (RSI du streak) et surachat de MAGNITUDE (rang du dernier retour dans sa distribution) ; l'ensemble corrige le principal défaut du RSI court, qui sature sans dire si le mouvement est exceptionnel. Défauts 3/2/100 (Connors). Warm-up dominé par le rang : i ≥ rankPeriod + 1.
如何解读
- 复合值范围为 0 到 100,但它不是普通的 RSI:高读数需要价格延伸、连续长度和收益率大小三者同时一致。
- 非常高的数值描述的是一段同时被拉伸、持续、且相对自身近期分布幅度较大的走势。
- 中间区域的读数本身说明不了什么,因为三个组件可能方向相反、相互抵消。
- 收盘价不变时连续组件会归零,所以在经常出现相同收盘价的品种上,复合值可能在价格毫无变化时骤然下降。
- 把极值当作对当前状态的描述,而不是时间表——这个计算对状况何时结束没有任何判断。
参数与默认值
rsiPeriod(3)和 streakPeriod(2)有意设得很短:3 周期 RSI 几根K线内就会到达极值,而这种饱和正是另外两个组件要弥补的弱点,因为短周期 RSI 单独无法说明走势是否异常。rankPeriod(100)设定最新收益率所比较的分布,并主导预热期:在索引 rankPeriod + 1 之前没有任何值。加长排名周期会让极端读数更少出现,因为当前收益率必须超过更长的历史。
| 参数 | 类型 | 默认值 | 取值范围 |
|---|---|---|---|
| RSI period | number | 3 | 1 – 200 |
| Streak RSI period | number | 2 | 1 – 200 |
| Rank period | number | 100 | 1 – 2000 |
它无法显示的内容
复合值把三种不同的测量压缩成一个数字,所以相同的读数可能来自截然不同的市场状态;想理解一段走势时,各组件比它们的平均值更有信息量。百分位排名对之前的收益率采用严格小于的比较,这是 Connors 自己的定义,与 Senzoukria 中独立的百分位排名指标不同——两者不能互换。三个组件都看不到成交量、Delta 或订单簿。在收盘价经常重复的低流动性序列上,连续组件由不变的收盘驱动,而不是由动量驱动。
相关指标
其他语言版本
Frequently asked questions
- Connors RSI 的三个组成部分是什么?
- 一个收盘价的短周期 Wilder RSI(默认 3 周期)、一个连续序列的 Wilder RSI(2 周期),以及最新单根K线百分比收益率相对之前 100 个收益率的百分位排名。三者等权平均。它们分别覆盖价格延伸、连续持续时间和走势幅度,这就是 Connors 选择组合它们、而不是加长单个 RSI 的原因。
- 连续值(streak)是如何计算的?
- 它是当前同向收盘连续次数的带符号长度:收盘持续上涨时为 +1、+2、+3 依次递增,持续下跌时为 −1、−2 依次递减。收盘价不变时连续值设为 0 并中断连续。对这个序列计算 RSI,衡量的是持续性有多不寻常,与价格移动了多远无关。
- 为什么 Connors RSI 需要这么多根K线才开始显示?
- 百分位排名组件把最新收益率与之前一个窗口的收益率比较,默认是 100 个,所以在这段历史具备之前不可能有值——第一个值落在索引 rankPeriod + 1。因此预热期由 rankPeriod 决定,而不是由两个短周期 RSI 决定。缩短排名周期能让第一根绘制的K线提前,代价是分布更粗糙。