所有MQL的专家顾问和指标包含一些重要组成部分. MQL程序的一般组织没有变化过于频繁.
文件通常开始的#define的声明 (宣判一斤定义) 全局变量和外部变量, 也被称为 extern数据,类型. 它们出现靠近代码的顶部,以帮助读获得的变量的理解,将在程序运行. 理想的情况下, 该变量的名字,他们是如何组织应协助形式程序员什么样的专家顾问或指标可能会做一个大致的了解.
下一节通常是init() 功能, 这是字缩写。初始化. 这部分代码是特别相关的编程自定义指标. 最像宣告指标缓存一般指示灯设置, 的颜色,以使用和其他基本功能本节中设置. 我使用的init() 在每一个专家顾问,我们打造的输入转换成券商的定价适当的设置. 如果客户端输入的止损 50 到EA, 我不需要做任何事情,如果它是一个 4 数位经纪人. 我做的, 然而, 需要转换该输入与一个工作 5 数位经纪人. 我跑在初始化一个快速检查() 如果数字来看看== 3 || 数字== 5. 如果是这样的, 然后,我乘受该设置由输入 10.
deinit() 是最重要的部分; 这是很容易取消初始化的MQL文件,因为它通常不占用任何系统资源. 它很少用于任何重要. 只有使用了我曾经有deinit() 要关闭一个打开的文件句柄,或使某种闭注的. 这通常是通过评论或者做图表上直接() 功能或更经常直接写入 日志文件.
开始() 函数是一个MQL的专家顾问或指标的真正的肉. 每当MetaTrader的检测进入蜱, 它提醒所有MQL程序. 这些程序调用start功能,这样就可以做任何需要做的. 所有交易业务, 计算, 账户监控, 等, 发生此部分中.
所有的程序中的其他自定义功能出现下面的开始(). 我通常喜欢以自己的重要性或频率与我称他们为整个程序中他们排名. 功能布局的顺序并不影响性能以任何方式在所有. 这是严格意义上的化妆品的做法,使得编程代码更易读.