学习如何设计基于 CCI 的交易系统(基础篇)
用 CCI 搭一套可跑的交易系统
CCI(商品通道指数)在 MT5 里常被当成超买超卖的报警器,但真要拿它管单,得先想清楚信号怎么生成、怎么过滤噪音。原文基于 2022 年 6 月发布的设计思路,在 2700 次左右的社区浏览中,核心落点是把 CCI 穿越 ±100 当成趋势确认,而不是单纯反转赌点。
外汇与贵金属杠杆高、滑点狠,CCI 在 EURUSD 这类品种上单独用,假突破概率偏大;更稳的做法是让它和均线方向叠一层过滤。下面这段是 MQL5 里取 CCI 值的基础调用,能直接塞进 EA 的 OnTick 里跑。
[CODE]
int cci_handle = iCCI(_Symbol, PERIOD_H1, 14, PRICE_TYPICAL);
double cci_buffer[1];
CopyBuffer(cci_handle, 0, 0, 1, cci_buffer);
double cci_value = cci_buffer[0];
[/CODE]
第一行用 iCCI 拿到当前品种 H1 周期、长度 14、典型价的句柄;第二行开一个长度为 1 的数组接数据;第三行从缓冲区拷最新一根 K 的 CCI 值;第四行取出数值给后续判断用。把这四行接上 if(cci_value > 100) 就能写第一版开仓条件,实盘前建议在策略测试器里用 2021—2023 的 Tick 数据回一遍。
class="type">int cci_handle = iCCI(_Symbol, PERIOD_H1, class="num">14, PRICE_TYPICAL); class="type">class="kw">double cci_buffer[class="num">1]; CopyBuffer(cci_handle, class="num">0, class="num">0, class="num">1, cci_buffer); class="type">class="kw">double cci_value = cci_buffer[class="num">0];
「用 CCI 搭系统的前置准备」
这一节先把后续要干的事说清楚:我们要拿商品通道指数(CCI)配合一套简单规则,在 MT5 里做成可自动跑的交易系统。系列会依次拆 CCI 定义、策略思路、系统蓝图和实际代码四块,理解原理后再让程序替你严守纪律,比手动扛情绪靠谱。 MT5 和 MQL5 编辑器是硬门槛。装好终端后直接按 F4,或点工具栏里的 IDE 按钮,就能进 MetaQuotes 语言编辑器。后面所有代码都在这里写、这里编译。 外汇和贵金属杠杆高、回撤快,程序只帮你执行计划、不替你保本。本文仅作教学拆解,任何实盘动作的风险都由你自己扛,别把示例当稳赚模板。
◍ CCI 到底在量什么
商品通道指数(CCI)由唐纳德·兰伯特设计,本质是一款动量指标,用来衡量当前价格相对一段周期内平均价格的偏离程度。它最早服务于大宗商品周期识别,但外汇与贵金属行情里同样能反映趋势强度和潜在反转倾向。 当 CCI 读数偏高,说明价格显著甩在均值上方;读数偏低则代表价格深陷均值下方。这种结构让它天然带振荡属性,常规区间在 +100 到 -100 之间摇摆,突破边界往往对应行情加速或背离概率上升。
| 计算上先取典型价格 TP = (高+低+收)/3,再求其 n 周期简单移动平均 SMA,接着算平均偏差 = Σ | TP-SMA | /n,最后 CCI = (TP-SMA)/(0.015×平均偏差)。用 14 天样例数据跑一遍:第 14 天 TP=196.67、SMA=141.19、平均偏差=22.86,代入得 CCI=(196.67-141.19)/(0.015×22.86)=161.80,已明显超出 +100 上轨。 |
|---|
实操不必手算,MT5 内置 CCI 直接加载即可。参数里周期默认 14、价格类型选典型价格、线型样式可调;外汇与贵金属波动剧烈,指标假突破频繁,使用时需结合其他信号并自担高风险。
CCI 两种实战信号框架
CCI 本身只是摆动指标,能不能赚钱取决于你把它放在哪种行情结构里用。趋势、横盘、零轴三类交叉各有适用逻辑,先理清再上实盘。 顺着趋势做:上涨段价格连出更高低点和更高高点,买家控盘,等 CCI 上穿 +100 才视为做多触发,公式就是 CCI > 100 = 做多;下跌段反之,CCI < -100 = 做空。平仓不要死盯 CCI,用价格行为更实用——多单看价格跌破前低离场,空单看价格突破前高离场。 横盘段买卖双方拉扯、视觉上无主导,此时 CCI 仍可反用:下穿 -100 做多、上穿 +100 平仓;或上穿 +100 做空、下穿 -100 平仓。这相当于在通道内低买高卖,但外汇和贵金属在高杠杆下假突破频繁,横盘策略止损要卡紧。 另一种更简单的零轴法:不看 ±100 入场,只看 CCI 破 0。上破 0 做多、到了 +100 平仓;下破 0 做空、到了 -100 平仓。CCI > 0 = 做多 / CCI > 100 = 平仓,CCI < 0 = 做空 / CCI < -100 = 平仓。 以上任一玩法都先在 MT5 demo 账户跑一遍,确认你的品种周期里信号频率和可接受回撤后再考虑实盘。外汇与贵金属属高风险品种,CCI 信号只代表概率倾向,不预示必涨必跌。