在开发根据指标信号进行交易的智能交易EA程序中,都需要调用指标数据来进行条件比较。前面有文章介绍过移动平均线MA及单线MACD指标数据的获取,后面也将会介绍更多技术指标数据的获取。那么如何验证获取的这些指标数据是否正确呢?对于mt4自带的一些技术指标来说,只要获取数据的函数写法没有错误,那数据基本也不会有什么问题。但是,对于一些数据复杂的自定义技术指标来说,验证一下数据是否完全无误,是很有必要的。
就拿前一篇文章介绍的单线MACD指标数据的获取,如果要验证数据,那在获取数据的时候,就用注释的形式输出数据进行验证,验证完后在删除注释代码就可以。参考代码:
double macdma_0 = iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);//MACD柱
double macdsi_0 = iMACD(Symbol(),0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);//信号线
Comment("MACD最新柱子值:" + DoubleToStr(macdma_0,6) + "\n" +
"MACD最新信号线值:"+ DoubleToStr(macdsi_0,6));
这时候我们将程序拖拽到图表,所获取的数据就显示在图表左上角。要验证数据是否一致,还要做三步:
1、将对应的技术指标插入或拖拽到图表中。
2、在上方“显示”菜单下点击“数据窗口”,数据窗口中就会出现技术指标的相关数据。
3、鼠标停放在代码所需要获取的指标线上,然后重看数据窗口中的指标数据是否和图表左上角注释的数据一致。如这里获取的是最新MACD柱子和信号线的值,那鼠标就停放在最右侧的最新柱子(或最新K线)上。
从上图可以看出,获取的单线MACD的数据值是完全正确的,这样就可以删除注释代码继续编程了。这种验证指标数据的方法对于输出数据类型的mt4指标来说,都是可行的。