for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий////Тут компенсируется отсутствие нуля с i-1
if (OrdersTotal()>0)
{ for (int i=OrdersTotal()-1; i>=0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) // ордер выбирается среди открытых// и отложенных ордеров
{ if (OrderSymbol()!=Symbol()) continue; // если не наш символ, то уходимif (OrderMagicNumber()!=555) continue; // если не наш магик номер, то уходим// можно поставить любые другие фильтры// ... ваши вычисления
}
}
}
顺便说一句,是的...我已经在上面添加了这个函数的完整代码。
我想不这样写会更符合逻辑。
然后像这样设置循环。
对吗?只是,从零开始的位置数的计数器不被认为是这样的......这不符合逻辑,因此,没有理由混淆自己......
你必须归零,而不是归一,才能搜索到订单。
一位专家曾向我解释说,我们正在搜索一个订单阵列,最好从一个较高的数字开始搜索。在数组中,第一个元素的索引是0(零),所以我们不应该达到1,这也是为什么我们应该去找OrdersTotal()-1,而不是简单的OrdersTotal()。
我的订单搜索是这样做的。
你必须一直降到零,而不是一,才能搜索到订单。
一位专家曾经向我解释说,这是一个订单阵列,然后是的,最好从一个更大的数字开始。在数组中,第一个元素的索引是0(零),所以不是到1,也是因为这个原因,我们需要OrdersTotal() - 1,而不仅仅是OrdersTotal()。
这是非常有趣的。而我做的第一件事就是打开教科书,试图在那里找到答案。然后https://book.mql4.com/ru/trading/ordermodify,看到了教程是如何使之溢出的。
这是误导我的因素......
非常有趣。而我做的第一件事就是打开课本,试图在那里找到答案。然后https://book.mql4.com/ru/trading/ordermodify,我看到了教科书是如何被夸大的。
这就是误导我的因素......
你没有注意到下一句话吗?
你没有注意到下一句话吗?
不,但不知为何,写起来却歪打正着。我不想批评教科书,但是......从0 算起比从-1 算起要充分得多。否则你可能已经从-30 开始了...
正如paladin80 在上面指出的,从0 开始,数组的值会比从-N 开始更充分。
不,但不知为何,写起来却歪打正着。我不想批评教科书,但是......从0 算起比从-1 算起要充分得多。否则你可能已经从-30 开始了...
正如paladin80 在上面指出的,从0 开始,数组的值将是最充分的,如果从-N 开始。
现在从逻辑上想一想!
这些变体是相同的,因为如果i=0,我们需要从1到OrderTotal(),即从0+1到OrderTotal()-1+1(+1,因为i++ 是在for语句的最后),在教程中也一样,只写了从1到OrderTotal(),为了不从2到OrderTotal()+1,在OrderSelect函数 中,教科书作者在i 上加了-1。
顺便说一下,有多少个程序员,就有多少个变种。每个人都有自己的愿景,有自己的笔迹!
不,但不知为何,写起来却歪打正着。我不想批评教科书,但是......从0 算起比从-1 算起要充分得多。否则你可能已经从-30 开始...
正如paladin80 在上面指出的,对于数组来说,0 比-N 更合适。
如果你对订单的搜索感兴趣,我可以建议以下方案。
不,但不知为何,写起来却歪打正着。我不想批评教科书,但是......从0 算起比从-1 算起要充分得多。否则你可能已经从-30 开始了...
正如paladin80 在上面指出的,相对于-N,0 将是读取数组的最合适方式。
现在思考,包括逻辑!
这些变体是相同的,因为如果i=0,我们试图从1到OrderTotal(),即从0+1到OrderTotal()-1+1(+1,因为i++ 在for语句的末尾)。 在教程中也一样,只写了从1到OrderTotal(),为了不计算从2到OrderTotal()+1,教材作者在OrderSelect函数中给i 加了-1。 明白吗?
当然,我理解。但我以前没有见过以这种方式分析的订单。
通常只是没有==true...我甚至喜欢这一点。虽然,这很有趣,但我在其他EA中从未遇到过这样的方法。我明白其中的逻辑,但仍然如此。
我当然明白。只不过,我以前从未见过以这种方式分析秩序的存在。
通常只是没有==true...我喜欢这个观点。虽然,这很有趣,但我没有在其他EA中看到这种方法。我明白其中的逻辑,但仍然如此。
尝试和实验不同的变体,会更容易理解所有的东西!好运!