新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1687

 
你的指数和返回的订单量有什么关系?创建几个订单,并在它们之间循环。循环将不是一个数组,而是OrdersTotal作为一个普通函数返回的数字,因为它没有返回存储订单的数组索引 的地址。
 

阵列大小是指 阵列元素的 数量(或例如订单)。

第一个元素的索引是0,总是如此。

最后一个是比数组大小 少一个。


如果你想创建一个只有一个元素的数组,访问这个元素的唯一方法就是使用arr[0]。在所有其他情况下,你会得到一个数组 超限的错误。

对订单也是如此,只是没有错误,但你无法通过其他方式到达第一个元素(订单)。

 
以下是参考资料https://www.mql5.com/ru/docs/array
Документация по MQL5: Операции с массивами
Документация по MQL5: Операции с массивами
  • www.mql5.com
Операции с массивами - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
我明白,OrdersTotal只给出了金额,但为了引用订单,我们使用OrderSelect,在这里它已经穿过了数组。我忽略了这一点。
 
是的,这是正确的。 OrderSelect(0,


 
Nerd Trader 数组索引 的地址。

你不是在对一个数字进行传递,而是对你交易账户中的订单列表进行传递!你是在对一个数字进行传递。而订单的数量只是一个数字......你不能对它进行传递......你如何对一个数字100进行传递?你不...而在这100行的列表中,我们可以对每一行进行一次传递。

OrdersTotal() 返回的数字是一个素数...它的设计方式是,它总是与列表中的订单数量相吻合。

如果你知道你在任何时候都只有一个订单,那么你只需要处理一个订单号 "0",而不需要任何OrdersTotal()...

 
Nikolay Ivanov #:

你不是在对一个数字进行传递,而是对你交易账户中的订单列表进行传递!你是在对一个数字进行传递。而订单的数量只是一个数字......你不能对它进行传递......你如何对一个数字100进行传递?你不...而在这100行的列表中,我们可以对每一行进行一次传递。

OrdersTotal() 返回的数字是一个素数...它的设计方式是,它总是与列表中的订单数量相吻合。

如果你知道你在任何时候都只有一个订单,那么你只要用一个订单号 "0 "工作,而不需要任何OrdersTotal()...

Aleksei Stepanenko#:

阵列的大小是 阵列元素的 数量(或订单,例如)

第一个元素的索引是0,总是如此。

最后一个是比数组大小 少一个。


如果你想创建一个只有一个元素的数组,唯一的方法就是使用arr[0]来访问它。在所有其他情况下,你会得到一个数组 超限的错误。

对订单也是如此,只是没有错误,但你无法通过其他方式到达第一个元素(订单)。

是的,它是。
 
Nerd Trader 使用OrderSelect,它已经穿过了数组。我忽略了这一点。

数组(列表)经历了一个循环。OrderSelect 只选择其订单号在本周期内创建的订单进行进一步工作。

Документация по MQL5: Торговые функции / OrderSelect
Документация по MQL5: Торговые функции / OrderSelect
  • www.mql5.com
OrderSelect - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nerd Trader 数组索引 的地址。
事情是这样的,表格的方便之处在于,通过给它的位置数,它可以填充任何数组。在我的例子中,如果输入0,一切都会崩溃,因为ArrayResize与位置的数量相关联。基于这个原因,我有额外的条件,如果位置的数量超过0,那么这个循环。我也经常弄错,现在我又检查了一遍。这个建议是正确的,因为否则forte不会填充数组的零元素,而这正是forte的作用。
 
很好,朋友们,我们有一个共识