CCI 指标。 升级和新特征(基础篇)
📘

CCI 指标。 升级和新特征(基础篇)

第 1/2 篇

◍ CCI 在 MT5 里的底层重构

CCI(Commodity Channel Index)在 MT5 中不再只是旧版客户端里那个只能画一条线的附图指标。它的计算内核被重写成可挂载于多周期、多品种缓冲区的形态,允许在同一图表上并行比对不同时间帧的通道偏离度。 这一重构带来的直接变化是:指标缓冲区改为动态数组,调用方可以在 EA 里直接读取任意柱号的 CCI 值,而不必先复制整段序列。对做跨周期共振的交易者来说,延迟显著下降。 官方示例发布于 2022 年 9 月 27 日,截至统计时点累计查看 3315 次、评论 6 条,说明这类底层改写虽不花哨,但关注者以实盘开发者为主。外汇与贵金属杠杆高,直接套用任何指标逻辑都须先在小周期回测验证风险。

CCI 的来路与平台落点

CCI 由 Donald Lambert 在 1980 年提出,首发载体是当时的《Commodities》杂志(后更名《Modern Trader》)。这件事对现在做 MT5 的人有个直接含义:你手里的内置指标,底层逻辑已经跑了四十多年。 MT5 标准包里 CCI 既能被手动拖到图表上读背离,也能在 EA 里用 iCCI 直接调。对外汇与贵金属而言,指标历史长不等于胜率高,杠杆品种仍属高风险,任何信号都该先用历史数据验一遍。 如果你刚装好 MT5,最快的验证动作是:打开 XAUUSD 的 H1,把 CCI 周期从默认 14 改成 20,看近三个月拐点密度有没有变化。

「MAD 指标的三步算法与系数来历」

MAD 指标的计算逻辑很直接:取最近 N 个价格读数,先算均值,再求每个价格与均值的绝对偏差的平均值(即 MAD),最后用价格偏离均值的距离除以 MAD 得到指标值。整条链路没有滑动窗口外的复杂变换,MT5 自定义指标里用 iMA 取均值后循环算一次即可。 原始设计里校正系数 k 固定为 0.015。这个数的由来是让 1.5 倍 MAD 的价格偏离对应 100 个指标单位,于是 3 倍 MAD 偏离自然落在 200 单位。外汇与贵金属波动大,MAD 对跳空比标准差更钝感,但仍是滞后量,信号只代表概率倾向。 一个冷细节:若把算法里的除法换成乘法做归一化,等效 k 会变成 66.6。这说明同一套偏离度量,表达形式一换,系数就完全不像同一族参数,验证时别被表面数值误导。

◍ 用泰尔-森法替代经典均值偏差

早期指标爱用绝对偏差均值,根源是老电脑算平方和开方太吃力,而绝对偏差省资源。现在 MT5 跑平方和根运算毫无压力,经典算法虽更精确却仍有短板:稳估均值和均方根至少需要 30 个以上价格读数,短周期如 CCI 常用的 14 样本就有统计偏薄的问题。 拿极端例子看差异:序列 1、3、8 用经典绝对偏差得均值 4、通道 1.33–6.67;用标准偏差得均值 4、通道 1.06–6.94。可见小样本下两种经典法都把 8 这个离群值拉偏了通道边界。 强健统计里 Theil-Sen 估算均值不依赖算术平均。先算所有值对半和:hs1=(1+3)/2=2,hs2=(1+8)/2=4.5,hs3=(3+8)/2=5.5,排序后取中位数 4.5 当稳定均值。再算各值与均值绝对差的中位数:3.5、1.5、3.5 排序后中位为 3.5,通道直接落到 1–8。 外汇与贵金属波动常带跳空离群点,这种强健法在过热行情里比经典 CCI 更抗噪。开 MT5 用自定义指标跑一遍三组算法,对比 14 周期下的通道宽度,就能验证短样本下该换思路。

常见问题

底层做了重构,计算精度与边界处理有调整,老EA建议重新编译并核对信号触发阈值再上实盘。
CCI最初用于识别价格偏离均值的极端状态,抓贵金属反转仅作概率参考,外汇贵金属高风险需配合止损。
可以,小布能按你设定的CCI阈值自动扫描品种并推送偏离预警,把重复盯盘交给它即可。
系数是按统计平滑需求推导的固定权重,手算繁琐,直接套用平台内置函数或代码段更高效。
泰尔-森法抗异常值干扰更强,信号更稳,适合震荡市手动复盘,但需自己验证参数适应性。