打开MT4的帮助文档,我们可以看到有一组叫做”Trading functions”的函数,这里面所有的函数都是Orderxxx这样的格式,顾名思义,这组函数的作用就是对Order进行操作。那么,这组函数的运作机制是怎样的呢?下面,我们来一窥究竟。
当一个EA、指标或脚本开始运行时,MT4会自动为它分配一个电脑内存中的空间,我们可以把这个空间想象成一个公用的储物柜,这个储物柜的大小恰好能放入一张Order;然后,当我们使用Order系列函数时,这些函数就会来到这个“储物柜”获取指定的Order,进行操作。比如,OrderSymbol函数是获取Order的货币对名称、OrderLots是获取Order的仓量、OrderClose是关闭指定的Order,那么,假如同时存在很多张Order,这些函数是怎么知道获取哪张Order的信息或对哪张Order进行操作呢?答案就是放在“储物柜”里面的那张Order。那是谁把Order放入这个“储物柜”内?这是,OrderSelect函数就出场了!我们在看很多MT4源代码时,都会发现使用Order系列的函数对Order进行操作前,都会先用OrderSelect函数,其作用就是把符合条件的某张Order放入这个“储物柜”中去,让其它函数对其进行操作。所以,大家以后在使用Order系列的函数时,记得要先利用OrderSelect函数把Order取出来放入“储物柜”去,不然其它函数来到这个“储物柜”找不到Order,自然就无功而返了!