在MQL中,指标(Indicator)用一个文件组织
对指标的引用归根结底是MQL跨文件组织代码的形式。
对于指标的引用方式与#include
这样的文本包含的思路不同,文本包含会造成很多问题,如名字冲突。MQL利用一种类似模块的方式来引用指标。
获取指标引用(句柄)
获取指标引用需要一个叫做iCustom的函数。
我想,这里的“i”应该是指“指标”(Indicator);
iCustom函数具有一个自由的参数列表,但有三个必须指定的参数:品种、周期、指标名。
一个典型的调用是这样的:
int ExtHandle = iCustom(_Symbol, _Period, "AAA");
它会去引用 Indicators
目录下的 AAA.ex5
,即访问文件 Indicators/AAA.ex5
。
ex5文件是mq5编译产生的动态链接库。
因此你不能用”AAA.mq5”,而是应该用”AAA”
指标参数设定
之前提到的方法并没有指定该指标的参数,即,一切参数使用默认值。但是如果要自定义参数又该如何呢?
iCustom具有一个自由的参数列表,在三个必须指定的参数后面有一个缺省的参数列表,可以指定引用指标的参数,顺序按照指标内 input
的顺序给出。