处理数组
任何没有数组的程序(尤其是与交易相关的程序)是不可想象的。在 “数组”章节中,我们已经学习了描述和使用数组的一般原则。数组和处理数组的一系列内置函数有机地相辅相成。
一些函数提供了现成的最常用数组运算的实现,诸如查找最大值和最小值、排序、插入以及删除元素等。
然而,有很多函数是使用特定类型的数组时必不可少的。尤其是动态数组,必须先为其分配内存才能使用,若数组带有指标缓冲区数据(我们将在本书第五章学习这一 MQL 程序类型),则使用由特殊函数设置的特殊元素索引顺序。
我们将开始学习用于处理数组的函数,首先了解输出到日志的操作。我们在本书前面的章节已对其有所了解,这些函数在很多后续章节中也将很有用。
由于 MQL5 数组可能是多维的(1 到 4 维),我们在后续在文本中还会提及维度编号。我们将从第一维开始对其进行编号,这在几何上更易理解,也强调了数组必须至少有一个维度(即使为空)这一事实然而,每个维度的数组元素是有编号的,这是 MQL5 (以及很多其它编程语言)的惯例,从零开始编号。因此,对于一个描述为 array[5][10] 的数组,第一维度是 5,第二维度是 10。