在我的Mql4专家顾问代码中,我想选择一些已经放置并且当前处于活动状态的订单。我可以使用这两种方式,但我有不同的结果。 OrderSelect(i,SELECT_BY_TICKET)
或array_values()
。这些差异的可能原因是什么?
答案 0 :(得分:2)
SELECT_BY_TICKET
允许您在知道其身份证并且此故障单仍处于打开状态时领取特定故障单。示例:您的ea打开了一张int _ticket=OrderSend(***);
的票证,此_ticket
可以保存在ea的内存中,然后检查每个刻度线或条形码或者您想要的内容,如果票证仍然打开,如果没有 - 那么你可以检查它是否以亏损或利润结束并对此作出反应(如果你正在做鞅,如果损失则增加批次)。
SELECT_BY_POS
允许您从OrdersTotal()
获得的开票数量中选择一张票。如果您使用OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)
,它还允许获取已关闭的所有票证,然后您可以使用所选票证进行操作(例如,您可以检查其ID,幻数符号,类型以过滤所需票证和检查它们是如何关闭的。)