CCI 升到 +100 以上通常算超买,跌到 −100 以下算超卖。可同一个读数放进一段明确的上涨或下跌里,也可能是这股力量还在加强,价格未必马上掉头;看到越线,还得同时判断当时有没有趋势。
CCI 全称 Commodity Channel Index,中文多叫顺势指标,由唐纳德·兰伯特(Donald Lambert)创建,1980 年首次刊登在当时的《商品杂志》(Commodities Magazine)上。它最初是为识别商品趋势设计的,现在已广泛用在各类金融资产上。除了看超买超卖,CCI 还常被拿来找反转和背离。
1. 公式里的典型价、均线和平均偏差各怎么求
| 部分 | 怎么求 |
|---|---|
| 典型价 TP | (最高价 + 最低价 + 收盘价) ÷ 3 |
| TP 的 20 周期简单均线 | 最近 20 根 K 线典型价的算术平均 |
| 平均偏差 | 每根典型价减去最近这条均线,取绝对值后求和,再除以周期数 20 |
| CCI | (TP − TP 的均线) ÷ (0.015 × 平均偏差) |
20 是 CCI(20) 这个典型例子的周期;换成别的周期,表里三处 20 一起换。
分母里的 0.015 是为缩放设的常量。整个指标拿资产的价格变化和它的平均价格变化作比较,算出来的值在零线上下来回摆,有正有负。它属于动量指标,靠测量价格偏离统计均值的程度来识别超买超卖水平。
价格远高于自身均值时,CCI 相对高;远低于均值时,CCI 相对低。计算时先求出这段时间的平均价与「平均价的均值」之差,再拿它和同期的平均差值比,这一步等于把品种自身的波动幅度算了进去。它对 0.015 的说明是,这个常数让七到八成的 CCI 读数落在 +100 到 −100 之间。
举例,用 5 根 K 线把公式走一遍,周期取 5 只是为了好算:
| K 线 | 最高 | 最低 | 收盘 | 典型价 TP | |TP − 均线| |
|---|---|---|---|---|---|
| 第 1 根 | 102 | 98 | 100 | 100 | 2.8 |
| 第 2 根 | 104 | 100 | 102 | 102 | 0.8 |
| 第 3 根 | 103 | 99 | 101 | 101 | 1.8 |
| 第 4 根 | 106 | 102 | 104 | 104 | 1.2 |
| 第 5 根 | 110 | 104 | 107 | 107 | 4.2 |
- TP 的 5 周期均线 = (100 + 102 + 101 + 104 + 107) ÷ 5 = 102.8
- 平均偏差 = (2.8 + 0.8 + 1.8 + 1.2 + 4.2) ÷ 5 = 10.8 ÷ 5 = 2.16
- CCI = (107 − 102.8) ÷ (0.015 × 2.16) = 4.2 ÷ 0.0324 ≈ 129.6
最后一根的典型价比均线高 4.2,这 5 根平均只偏离 2.16,高出的幅度接近平均偏离的两倍,CCI 就到了 +100 以上。把公式倒过来看,CCI 等于 100,意味着典型价偏离均线正好是平均偏差的 1.5 倍(100 × 0.015 = 1.5)。CCI 量的是「这次偏离比平时大多少」,和价格本身的高低无关。
往下偏也是同一个算法。假设另一组 K 线算出的平均偏差同样是 2.16,最后一根典型价比均线低 3.24,那么 CCI = −3.24 ÷ (0.015 × 2.16) = −3.24 ÷ 0.0324 = −100,正好压在超卖线上。
2. CCI 周期默认 20 还是 14 取决于用哪个图表平台
TradingView 的 CCI 设置里,输入有两项要核:
- 长度:计算 SMA 那部分用的周期,默认 20。
- 来源:每根 K 线拿哪个数据来算。
thinkorswim 的 CCI 默认用 14 个周期求统计均值,参数名是 length,含义是参与计算的 K 线根数。短线投资者想要的话可以把它调小,长线投资者可以调大,让信号更大。加到图上后,它画出 CCI 本身、超买线、零轴和超卖线四条线,超买线和超卖线的位置能用参数自己定。
周期指的是 K 线根数,不是天数。放到 4 小时图上,长度 20 就是最近 20 根 4 小时 K 线,大约覆盖三天多;放到日线上就是 20 天。同一个币在不同周期的图上读出的 CCI 不同,对照前把图表周期和长度都记下来。
3. 升破 +100 后价格回落还是继续涨要看趋势
越线怎么读,看当时是不是处在明确的上涨或下跌趋势里。
| CCI 的位置 | 传统读法(价格可能反转) | 趋势中的读法(趋势可能延续) |
|---|---|---|
| 升破 +100 | 超买,随后回落 | 上涨趋势里,市场对这段走势信心强,继续涨 |
| 跌破 −100 | 超卖,转为上涨 | 下跌趋势里,市场对这段走势信心强,继续跌 |
超买超卖常被看作价格反转的先兆;用 CCI 时,超买超卖也可能是动量在增加,当前趋势或在增强并延续。所以同样是升破 +100,处在不在一段明确的上涨趋势里,读法不同。
±100 也不是固定的线。实际的超买超卖阈值可能因品种而异,例如波动大的品种可以放到 +200 和 −200。Fidelity 把 CCI 叫作无界振荡指标,它没有上下限:超买以后价格还能继续涨,超卖以后还能继续跌,超买超卖的判断因此带主观成分。它还把升破 +100 看作一段新的强势上涨开始、跌破 −100 看作新的强势下跌开始,同时要求用趋势类指标或其他技术分析方法确认 CCI 给出的信号。
thinkorswim 的参考文档把 CCI 的常见用法归成三类,可以和上表对照着用:
- 找价格和 CCI 之间的背离,下一节细讲。
- 看 −100 到 +100 这个区间:读数落到区间外,往往说明买盘或卖盘过度;升破 +100 对应过度的买入压力,跌破 −100 对应过度的卖出压力。
- 看 CCI 相对零轴的位置:价格没有趋势迹象时,CCI 往往围着零轴波动;强趋势则被认为会让 CCI 加速。
在图上读一根 CCI,可以照这个顺序:
- 核对长度和来源,确认和你要对照的图是同一套设置。
- 看 CCI 是不是长时间在零轴上下小幅摆动,按上面第三类用法判断当时有没有趋势。
- 处在明确趋势里,顺着趋势方向的越线对照右边那一栏,别急着当成反转。
- 拿趋势类指标确认。量趋势强弱的可以看 ADX 指标只量趋势强弱不分涨跌,读数看 25 和 20。
- 这个品种波动大、读数经常冲出 ±100 的,可以试着放宽超买超卖线,例如 ±200。
4. 价格创新高而 CCI 高点变低是看跌背离
动量常常先于价格变化。和大多数动量类振荡指标一样,价格与 CCI 读数之间的差异不该忽略,CCI 和价格走势出现背离,可能是趋势要变的信号。背离的定义:
- 看跌背离:价格创出更高的高点,CCI 的高点却比上一个低。
- 看涨背离:价格跌出更低的低点,CCI 的低点却比上一个高。
假设 BTC 的 4 小时图上先后出了两个价格高点,第二个比第一个高,对应的 CCI 高点从 160 降到 120:价格还在往上,偏离均线的力度却在缩小,这就是看跌背离的样子。
在自己的图上找背离,可以先标出最近两个价格高点(或低点),再看同一时间 CCI 对应的两个高点(或低点)是同向还是反向。反向的那一组,才对得上上面的定义。
背离之后什么时候转、转不转,单凭 CCI 判断不了。CCI 最好别单独用,要和其他指标结合,这是 TradingView 帮助页的总结。RSI 也有背离的读法,可以对照着看 RSI 完整指南:从超买超卖到背离,70 不一定是卖。
5. 图上的 CCI 读数与预想不一致怎么办
CCI 会涨到 300 以上吗?
CCI 没有上下限,冲过 300 在算法上并不受限制。分子是这一根的偏离,分母是这段时间的平均偏离,一根 K 线突然拉开得很远,读数就能远超 ±100。读数越大,只说明这次偏离比平时大得越多,不代表反转就在眼前。
thinkorswim 上 CCI 穿过零轴弹出的信号是什么意思?
CCI 上穿零轴时出 UpSignal,下穿零轴时出 DownSignal,显不显示由 show breakout signals 这个参数控制。超买线、超卖线的位置也能用 over bought、over sold 两个参数自己定。这些只是图上的标记,不是买卖建议。
同一根 K 线在 TradingView 和 thinkorswim 上的 CCI 为什么不一样?
两边默认周期不同:前者是 20,后者是 14,周期一变,均线和平均偏差都跟着变。把两边的长度和来源设成一样,比较才有意义。