商品通道指数(Commodity Channel Index)
CCI 衡量价格偏离其统计常态的程度:±100 之外就是「非常态」——既可做超买超卖,也可做趋势突破,一个指标两副面孔。
是什么
CCI(Commodity Channel Index,商品通道指数)由 Donald Lambert 于 1980 年提出。它计算「典型价格」(最高+最低+收盘 ÷3)偏离其移动平均的程度,并用 0.015 的常数归一化,使约 70–80% 的读数落在 ±100 之间。读数超出 ±100 意味着价格进入统计上的「非常态」——Lambert 原意是识别新趋势的起点(而非超买超卖),后来市场把它开发出两副面孔:顺势突破用法与逆向回归用法。
来历
CCI 由数学背景出身的分析师 Donald Lambert 于 1980 年发表(最初刊于《Commodities》杂志,即后来的 S&C)。它诞生于商品期货市场——「商品通道指数」的名字由此而来。Lambert 论文的核心贡献是 0.015 常数:它确保无论品种价格量纲如何,±70–80% 的读数都落在 ±100 区间,让 CCI 可以跨品种比较。
免费下载 Camovia Tray:在系统托盘查看行情、管理持仓,一键隐藏。
免费下载计算公式
计算分三步:
「平均绝对偏差」(Mean Deviation)是各期 |TP−SMA| 的平均——比标准差对极端值更钝感。0.015 是 Lambert 的归一化常数:没有它,不同价格的品种 CCI 尺度完全不同;有了它,±100 才有统一含义。
手算示例
用一组小数字理解「偏离常态」:
- 某品种 14 天的 TP 平均值为 100,平均绝对偏差为 2——「正常波动」约为 ±2。
- 今天 TP = 105:偏离均值 +5,是常态波动的 2.5 倍。
- CCI = 5 ÷ (0.015 × 2) = 166.7 —— 远超 +100:价格进入非常态。
「非常态」有两种解读:要么新趋势启动(突破用法——Lambert 本意),要么极端后回归(超买用法——市场后来的发展)。哪种解读正确取决于市况——这和布林带触轨的双面性完全同构。
怎么读数
CCI 读数区间与两种用法体系:
| 区间 | 常见解读 |
|---|---|
| +100 以上 | 非常态强势:突破用法=新趋势启动;回归用法=超买待回落 |
| 0 – +100 | 常态偏强 |
| 0 附近 | 多空平衡中轴 |
| 0 – −100 | 常态偏弱 |
| −100 以下 | 非常态弱势:突破用法=下跌趋势启动;回归用法=超卖待反弹 |
两种用法的关键分野是市况:Lambert 原版逻辑(突破跟随)在趋势启动初期最有效;回归逻辑(±100 反向)在明确区间内胜率更高。与 ADX 搭配判断市况是主流做法。
常见信号与用法
突破 ±100(Lambert 原版)
CCI 上穿 +100 视为上升趋势启动(下穿 −100 为下跌启动)——原版用法是「追非常态」,需配合止损应对回落。
回归 ±100 反向
区间市中 CCI 冲上 +100 后回落下穿 +100=回归卖点;−100 侧对称——统计回归用法,趋势市禁用。
CCI 与价格背离
价格新高而 CCI 不新高——动能衰减预警;CCI 的背离常比 RSI 早半步(对极端偏离更敏感)。
零轴过滤
CCI 上穿/下穿 0 作为中线动能切换的粗确认——单独使用噪音大,仅作辅助过滤。
局限与常见误区
- 两副面孔混用是最大错误:突破用法要求追涨杀跌、回归用法要求高抛低吸——同一信号在两套逻辑里含义相反,先定市况再定用法。
- 0.015 常数不可改动:改它等于重定义整个尺度——要调灵敏度应改周期 N,而不是动常数。
- 肥尾与钝化并存:CCI 对极端偏离敏感(比 RSI 快),但强趋势中同样会长期钉在 ±100 外——钝化风险与 RSI 同源。
- 平均绝对偏差比标准差钝:这意味着 CCI 对突发单根巨幅 K 线的反应比布林带温和——两者同时看可以互补。
- 低周期噪音:15 分钟图 CCI 频繁往返 ±100——回归用法在低周期需要更严格的市况过滤。
MT5 里的CCI
MT5 中 CCI 是内置震荡指标(单线),MQL5 编程调用函数为 iCCI:
| MQL5 函数 | iCCI() |
| 默认周期 | ma_period=14 |
| 默认应用价格 | PRICE_TYPICAL(典型价格——注意不是 CLOSE) |
| 变体 | iCCIX()(基于典型价格的扩展版) |
| 显示窗口 | 副图(参考线 ±100) |
iCCI 的默认应用价格是 PRICE_TYPICAL(典型价格),这是少数不用收盘价的内置指标——与 Lambert 原始论文一致。iCCIX 是基于同一算法的扩展变体。改应用价格会改变读数特性,对照他人分析时注意口径。
不同周期下的表现
15 分钟
回归用法的高频场——但假信号多,需更大周期方向过滤
1 小时 / 4 小时
突破用法(±100 穿越+ADX 过滤)的主战场
日线
Lambert 原生场景:14 期 CCI 的 ±100 体系在此最经典
周线
周线 CCI 冲出 ±200 的极端读数常对应数月级行情起点
指标组合
实战中 CCI 常见搭配:
- 与 ADX 搭配:ADX>25 用突破跟随(CCI 顺势穿越),ADX<20 用回归反向(CCI 极值反向)——市况裁判+双面刀。 ADX
- 与 RSI 搭配:两者同为震荡器但算法不同(绝对偏差 vs 涨跌比)——同时极端时的背离共振最强。 RSI
- 与 MA 搭配:MA200 定大方向,CCI 只做顺方向的极值入场——趋势过滤+非常态择时。 MA
常见问题
Q CCI 的 0.015 常数是什么?
Donald Lambert 的归一化常数:用平均绝对偏差乘以 0.015 做分母,使不同价格量纲的品种读数都统一到 ±100 为主体的尺度(约 70–80% 读数落在其中)。它是公式的一部分而非可调参数——调灵敏度请改周期 N。
Q CCI 超过 +100 应该买入还是卖出?
两种答案都对,取决于市况:Lambert 原版逻辑里 +100 突破=上升趋势启动(买);区间市逻辑里 +100=超买(卖)。先用 ADX 或价格结构判断趋势/震荡,再选用法。
Q CCI 和 RSI 有什么区别?
同为震荡器但引擎不同:CCI 基于「对典型价格均线的偏离」(平均绝对偏差归一),对极端偏离反应更快、无固定上下限;RSI 基于「涨跌幅度之比」,锁定 0–100 且更平滑。CCI 更早提示背离,RSI 更稳。
Q MT5 的 CCI 默认应用价格为什么是 Typical?
Lambert 原始论文用的就是典型价格 TP=(H+L+C)/3——它比收盘价多含了日内高低信息,与「偏离常态」的统计含义更契合。MT5 遵循原版。对照使用 CLOSE 的第三方实现时读数会不同。
Q MT5 里怎么调出 CCI?
菜单「插入 → 技术指标 → 震荡指标 → Commodity Channel Index」,或从导航器拖到副图。默认周期 14、应用价格 Typical,参考线 ±100 可在 levels 标签自定义(如 ±200 极端线)。
本页内容仅为技术指标知识介绍,不构成任何投资建议。指标信号存在失效可能,交易决策请结合风险管理独立判断。