输入函数在mql4 程序中执行,即所谓的约束应用。这就意味着,直到输入函数被应用,相应的模板(ex4 or dll)将不会加载。 MQL4和DLL 资料在模板的命令下被调用。
这里不推荐使用模板被加载的 全名Drive:\Directory\FileName.Ext 。 MQL4 资料是 从terminal_dir\experts\libraries 文件夹中下载。如果资料中未找到,将会接受来自 terminal_dir\experts 文件夹的下载。
资料系统(DLLs)按照以下规则运行。如果资料已经被下载 (从其他智能交易。例如,从其他相同时间开启的客户端下载),资料下在以满。会按照以下规则命令执行:
1. terminal_dir\experts\libraries目录 。
2. 从terminal_dir客户端被开启的目录。
3. 当前目录。
4.windows_dir\SYSTEM32 的目录系统 (或是对于windows_dir\SYSTEM for Win98)。
5. 在 windows_dir执行系统中安装的目录。
6. 录中列出的PATH 环境系统变量。
如果DLL 应用另一个DLL 运行,在后者省缺的情况下前者不会加载。
与资料系统不同,客户资料(MQL4)加载是对于每个分开模板,独立地从模板上加载。举例来说,ex4 模板可以从lib1.ex4 和 lib2.ex4 资料中调用。反过来lib1.ex4 资料可以从lib2.ex4 资料中调用函数。在这种情况下,需要复制一份 lib1.ex4 资料和两分lib2.ex4资料,所有来自相同caller.ex4 模板的资料。
从DLL转入到mql4程序的输入函数必须提供接受Windows API函数。 提供这样公约,关键词 __stdcall对于微软(r)公司的编译器,在编写的C 或 C++ 语言中源代码中使用。上述公约有以下特点:
– 呼叫函数(这种情况下,是mql4 程序) 必须”参见”(来自DLL输入函数)适应参量;
– 呼叫函数(这种情况下,是mql4 程序) 在反向命令中放置参量等等,从左到右;它是在读输入函数参量通过的命令;
– 参量根据他们的价格值通过,除了一些直接的界限(存在一些界限);
– 参量通过,输入函数本身将会变大。
在描述输入函数 模型时,基本不使用参量默认值。因为所有的默认值必须直接通过输入函数。
如果调用输入函数失败(智能交易设置不允许DLL 输入,或相关的资料由于一些原因不能下载),智能交易会停止运行并在”停止运行”处提出相关信息。另外,智能交易只有在重新初始化之后才会开启。智能交易的初始化由于需要重新编译或开启属性可以按确定键