CCI 是 Commodity Channel lndex 的缩写,中文称为顺势指标CCI,是由美国股市技术分析家唐纳德·蓝伯特(Donald Lambert)于20世纪80年代研发的,是一种用来研判市场价格偏离度的技术分析工具。CCI指标值波动于正穷大到负无穷大之间,因此不会出现指标的钝化,也有利于投资者更好的研判行情,特别是那些短期内暴涨暴跌的非常态行情。
CCI指标是MT4自带的技术指标之一,在mt4上方菜单栏依次点击-插入-技术指标-震荡指标-Commodity Channel lndex,并在出来的指标属性框中设置好相关参数后,点“确定”即可将CCI插入到当前图表中。如下图所示:
CCI 指标的界面是由一条CCI曲线和正负100水平线组成,水平线的值根据需要设置就可以,不需要另行获取。CCI 曲线的数值用iCCI()函数获取,iCCI()函数结构如下:
double iCCI(
string symbol, // 交易品种名称
int timeframe, // 图表时间周期
int period, // 指标计算的平均周期值
int applied_price, // 价格应用
int shift // 指标索引/序号
);
iCCI()函数的各参数说明:
- symbol,交易品种名称,当前窗口货币对为 Symbol(),要自行定义参数,可以参考 input string symname = “XAUUSD “; 之类。
- timeframe,图表周期,指一分钟M1到月线MN1共9个图表周期。要自行定义参数,可以参考用 int 或者 ENUM_TIMEFRAMES,如:input ENUM_TIMEFRAMES Period_x = PERIOD_CURRENT; 0 和 PERIOD_CURRENT 都代表当前图表周期。
- period,指标计算的平均周期值参数,默认14,要自行定义参数,用 int 就可以,如 input int cci_period = 14;。
- applied_price,价格类型,指收盘价、最高价、最低价等。默认用的是 PRICE_TYPICAL,如果需要自行定义,可以用 int 或 ENUM_APPLIED_PRICE 来定义参数,如:input ENUM_APPLIED_PRICE APP_PRICE = PRICE_TYPICAL;之类。
- shift,获取对应指标线的索引/序号,0指当前最新K线所对应的值,然后从右往左分别是1、2、3、4…..,这种规则排序。就拿MACD柱子来说,0就是获取最右侧的第一个柱子的值,1就是获取第二个柱子的值,类推。
获取当前图表中从右侧开始第二个K线,也就是1号K线对应的CCI曲线值,参考代码:
double CCI_1 = iCCI(Symbol(),0,14,PRICE_TYPICAL,1);
跨图表获取黄金XAUUSD一小时H1图表中最新0号K线对应的CCI曲线值,参考代码:
double XAUUSDCCI_0 = iCCI("XAUUSD",PERIOD_H1,14,PRICE_TYPICAL,0);
如果要获取多个单位的CCI指标的值,可以定义数组并结合for()循环来编写。总的说来,CCI指标的编程不是很复杂的,实际编程开发中根据需要演变iCCI()函数的参数即可。