Chande Momentum Oscillator 指标:公式、参数与读法

钱德动量摆动指标(Chande Momentum Oscillator,CMO)由 Tushar Chande 于 1994 年发表,在固定窗口内比较上涨收盘变动之和与下跌收盘变动之和,并把两者之差表示为其总和的百分比。取值范围为 −100 到 +100,以零为中心,默认周期为 14。

Senzoukria · 指标 · Updated September 2026


Chande Momentum Oscillator 动量, 显示在图表下方的独立面板中.

Chande Momentum Oscillator 测量的是什么

每根K线根据相对前一收盘的变化,贡献一个上涨量或一个下跌量。指标用两个总和之差除以它们的总量,所以 +50 表示窗口内全部收盘变动中有四分之三是向上的。与 RSI 不同,这里完全没有 Wilder 平滑:总和是原始值,会干净地滚出窗口,使窗口严格等于 N 根K线而没有指数尾部——这正是 Chande 设计的要点。当两个总和都为零,即整个窗口内收盘价一次都没有变化时,指标不返回值而不是返回零,因为 CMO 为零意味着上涨与下跌一样多,那是另一种陈述。

公式:代码中的实现

这不是别处常见的定义,而是所发布代码实际计算的内容,记录在实现旁边:

CMO — Chande Momentum Oscillator (Tushar Chande, 1994) : up = max(0, close − closeₚ) ; down = max(0, closeₚ − close) CMO = 100 · (Σ_N up − Σ_N down) / (Σ_N up + Σ_N down) ∈ [−100, 100] SOMME GLISSANTE BRUTE, PAS de lissage de Wilder — c'est LA différence avec `rsi` (momentum.ts), et elle est voulue par Chande : sans mémoire exponentielle, le CMO réagit franchement et sa fenêtre est exactement N barres. Second écart avec le RSI : le numérateur est up − down (et non up seul), d'où une échelle centrée sur 0 au lieu de 50. Σ(up + down) NULLE (marché parfaitement figé sur toute la fenêtre) → null, JAMAIS 0 : un CMO de 0 signifie « autant de hausse que de baisse », ce qui n'est pas « aucune variation ». Défaut N=14 (Chande). Warm-up : i ≥ N (il faut N variations, la première barre n'en produit pas).

如何解读

  • 零是平衡点——窗口内向上与向下的收盘变动一样多。这就是它的刻度中心与 RSI 的 50 不同的原因。
  • 接近 +100 的读数表示窗口内几乎每次收盘都上涨;这些变动的大小并不重要,重要的只是方向和总和。
  • 由于没有指数记忆,一根大K线滚出窗口时会突然离开计算,所以线上的台阶可能来自旧K线的退出,而不是当前K线。
  • 长时间停留在 ±50 之外描述的是单向的收盘序列,这往往伴随趋势出现,而不是标志趋势的结束。
  • 同一张图上 CMO 与 RSI 不一致时,差异通常来自平滑方式,而不是来自价格。

参数与默认值

period(14,Chande 的默认值)严格固定窗口,窗口之外不保留任何信息。短周期在几根K线内就会完全反应,更多时间处于极值附近;长周期需要持续的同向收盘才能到达极值。第一个值出现在索引 N——即第 N+1 根K线——因为必须先有 N 个收盘变动,总和才存在。

Chande Momentum Oscillator — 应用中可调的参数及其默认值。
参数类型默认值取值范围
Periodnumber141 – 500

它无法显示的内容

CMO 只使用收盘价。它忽略K线内部的波幅、成交量和主动方向,因此一段由小幅但持续的上涨收盘组成的交易时段,可以与一段强劲的单边行情得到相同读数。不平滑的窗口有利有弊:反应更快,但大K线离开窗口时也容易出现台阶,可能被误认为信号。在收盘价很少变化的极清淡或流动性差的序列上,该指标要么无定义,要么被少数几个 tick 左右。

浏览全部指标

其他语言版本

Frequently asked questions

钱德动量摆动指标 CMO 与 RSI 有什么不同?
有两处不同,都是有意为之。CMO 的分子是上涨减下跌,而不是只取上涨,因此刻度以零而不是 50 为中心;它使用原始的滚动总和,而 RSI 使用 Wilder 指数平滑。结果是一个窗口真正等于 N 根K线、没有长尾的摆动指标,反应更尖锐,遗忘也更突然。
CMO 的取值范围是多少?
从 −100 到 +100。只有当窗口内每一次收盘变动都向上时才会达到 +100,都向下时才会达到 −100,因为此时分子与分母的绝对值相等。中间值表示全部收盘变动中朝某一方向的比例。
为什么 CMO 在某些K线上出现空缺?
如果整个窗口内收盘价完全没有变化,上涨和下跌总和都为零,比值无定义。指标不输出会被理解为“涨跌均衡”的零,而是不输出任何值。这通常只出现在流动性差的品种上或冻结时段。

Keep reading