21评论

1收藏

iCustom()函数的应用

 

avatar 858807118 | 20218 人阅读 | 21 人评论 | 2014-12-15

在mt中编写指标或EA时,iCustom()是一个非常有用的函数,它的功能是调用客户自己编写的的指标,并输出相应的指标值。

它的函数原型是这样的:

double iCustom(string symbol, int timeframe, string name, …, int mode, int shift)

symbol: 计算指标数据上的货币对名称. NULL表示当前货币对。

timeframe:时间周期。 可以时间周期列举任意值. 0表示当前图表的时间周期。

name:  客户指标完成程序名称,也就是你的自定义指标的名称了。

:    参量设置(如果需要)。通过的参量和他们的顺序必须与自定义指标声明的外部变量对应。

mode:  索引行。 从0到7并且必须对应以其中一个使用的索引的 SetIndexBuffer 函数。

shift:          从显示缓存采取的值的索引(转移相对当前柱特定相当数量期间前)。

这里要注意的是,自己的指标名一定要用双引号引起来,因为name参数是sting型。

    有了这个功能,我们可以先编一个指标做基础,然后再需要时进行调用,并可以用不同方式,不用时间周期来输出。

实例:

    比如我自己先编了一个名叫“my_Ichimoku”的指标,这个指标mt4中有,较热门的“眼镜蛇”交易系统中也用到它,其中的云图有人把它看得很神,其实没什么。另外,它的线条太多,反而看不清,所以。自己编个只带云图的。上图就是它的效果。

现在,我们又编了一个名叫my_Ichimoku_2“的指标,目的是为了可以跨时间周期来查看云图。比如第一幅图是在15分钟线上用的,而如果我想在15分钟图上查看5分钟或1小时图上的云图。除了改编my_Ichimoku之外,也可以再编一个my_Ichimoku_2,在其中调用第一个指标。假如我们想看小时图上的情况,可以用这样的句子来完成。

……

sa1Buffer = iCustom(NULL, PERIOD_H1, “my_ichimoku”, myTK, myKi, mySk, 0, iBarShift(NULL, PERIOD_H1, iTime(NULL, 0, i)));
sb1Buffer = iCustom(NULL, PERIOD_H1, “my_ichimoku”, myTK, myKi, mySk, 1, iBarShift(NULL, PERIOD_H1, iTime(NULL, 0, i)));

//—(其中时间偏移用了函数iBarShift())


从上面可以看出,有了iCustom()函数,自定义指标的调用就非常方便,在希望以自定义指标为基础来编写EA时非常有用。


""
还没有人打赏,支持一下

评论|共 21 个

powajfgm

发表于 2014-12-15 13:25:21 | 显示全部楼层

找版主

dy925127

发表于 2014-12-15 19:59:36 | 显示全部楼层

我看看好不好用

疯了的

发表于 2014-12-17 19:01:33 | 显示全部楼层

围观中~~~

数字悟

发表于 2014-12-17 20:54:21 | 显示全部楼层

研究研究

hqnpklsn

发表于 2014-12-27 11:46:17 | 显示全部楼层

看看吧,谢谢分享

彭半仙

发表于 2014-12-27 17:14:54 | 显示全部楼层

学习了。谢谢

liyilong138

发表于 2014-12-31 10:02:50 | 显示全部楼层

nice!!!!!!!!!!!!

sun001002003

发表于 2015-4-26 02:54:25 | 显示全部楼层

好,很好,非常好

style_9c

发表于 2015-4-29 14:25:20 | 显示全部楼层

好想要 請大大您分享下~

123下一页
您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则