初学者的问题 MQL5 MT5 MetaTrader 5 - 页 519

 
Vasyl Nosal:

请问为什么要这样做呢?

int total=OrdersTotal()

我应该补充的是,如果有大量的订单,该函数将 在循环的每个迭代中被调用,这并不经济。
 
Sergey Gritsay:
因为在循环运行时,OrdersTotal();的值可能会改变,你可能会错过一个订单,或者循环体会出现故障。

阿列克谢-科齐岑
我想补充的是,如果有很多订单,在循环的每一次迭代中,都会调用 这个函数,这并不经济。

你们俩是在开玩笑还是真的?

 
Vasyl Nosal:

阿列克谢-科齐岑
我要补充的是,如果有许多订单,该函数将 在循环的每个迭代中被调用,这并不经济。

你们俩是在开玩笑还是真的?

你有别的观点吗?
 

Alexey Kozitsyn:
У Вас другая точка зрения?

for(int i=OrdersTotal()-1; i>=0; i--)

int i=OrdersTotal()-1

这个动作在第一次迭代前执行一次。添加其他东西没有意义。你只是把代码变大了。

 
Vasyl Nosal:

在这种设计中是可能的,但在这种设计中,有可能会出现故障

for(int i=0; i<total; i++)
 
Sergey Gritsay:

在这个设计中,它是可能的,但在这个设计中,有可能会出现故障

:)))))))

基于什么理由?

А.

所以一定要从头再来。

 
Vasyl Nosal:

在这种情况下,是的。而在这种情况下。

for(int i=0; i<OrdersTotal(); i++)
{

}

是有区别的。你刚才没有说明你的意思。

 
Vasyl Nosal:

:)))))))

基于什么理由?

А.

所以一定要从头再来。

这种方法并不总是合适。例如,如果你想从最早的订单开始翻阅。
 
kashi_ann:
是的,所以这只是一个逻辑问题。我更关心的是,除了行动的顺序外,你还必须考虑到服务器上数据的更新时间。

当然已经使用了停靠点。

我想我必须重写整件事,这简直是无稽之谈。

我终于明白这一切是怎么回事了))))))))

像往常一样,简单得令人发指))

这只是对挂单 的错误应用)价格走低,而买入价格的限价单走高)))。它只是不能放在那些条件下)

添加了 "止损单 "设置,瞧,一切都像它应该的那样))))。

 
Alexey Kozitsyn:
这种方法并不总是适合。例如,如果你需要从最早的订单开始超额支付。
那么什么时候可能需要这样做呢?
原因: