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

 
下午好!!!。

我注意到我在浏览j=0到j=OrdersTotal()的订单时遇到了问题--计数一直在减少(见图)。
而且,它可能不会从0开始,跳过几个十位数。
最有可能的是,它在每一个新的刻度线上都会恢复,但不清楚它为什么不从0开始,而只是跳过几个数字,以及如何处理它。

有人遇到过这个问题吗?这种情况的解决方法是什么?
附加的文件:
test.jpg  82 kb
 
Algotrader18:
下午好!!!。

我注意到,我无法从j=0到j=OrdersTotal()的订单中去寻找--计数一直在走错路(见前一篇)。
而且,它可能不会从0开始,跳过几个十位数。
最有可能的是,它在每一个新的刻度线上都会恢复,但不清楚它为什么不从0开始,而只是跳过几个数字,以及如何处理它。

有人遇到过这个问题吗?这种情况的解决方法是什么?

订单应该在一个循环中被列举出来,而不是在每一次打勾的时候...更准确地说,一个嘀嗒声来了,你所有的订单都在循环中被计算了:for(j=0;j<OrderTotal;j++)

OrdersTotal()显示了有多少订单未结(包括挂单,包括所有符号的订单...总的来说...这里是在终端开了多少个订单--这是多少个))))。

订单编号与数组中一样,从0到OrdersTotal()-1--这是最后一个订单,你可能有一个不存在的[OrdersTotal()]或其他一些难以猜测的信息。

 

下午好!


你能告诉我一个订单的评论 可以容纳多少个字符吗?

 
Algotrader18:
下午好!!!。

我注意到我在浏览j=0到j=OrdersTotal()的订单时遇到了问题--计数一直在减少(见图)。
而且,它可能不会从0开始,跳过几个十位数。
最有可能的是,它在每一个新的刻度线上都会恢复,但不清楚它为什么不从0开始,而只是跳过几个数字,以及如何处理它。

有人遇到过这个问题吗?摆脱这种情况的办法是什么?
为什么我们甚至需要所有订单的信息,每一次打钩?引入观看顺序的限制不是更好吗,例如,每隔一分钟、五分钟、...、一小时?
 

在一些VPS上,EA界面的字体要比MKL代码中的编程大得多。

如何改变它,谁知道呢?


 

问题:OnTimer()在有tick出现时重置计算?

在我的OnTick()函数 中,我有非常大的计算量,而且没有数据产生,只是在一段时间后,有时几乎是立即产生,有时需要几分钟的时间。据我所知,这是由于在计算过程中,如果有一个"√"出现,所有的计算都会停止并重新开始。

但我不需要经常做,所以我想把它们放在一个计时器里?

 
Roman Sharanov:

问题:OnTimer()在有tick出现时重置计算?

在我的OnTick()函数 中,我有非常大的计算量,而且没有数据产生,只是在一段时间后,有时几乎是立即产生,有时需要几分钟的时间。据我所知,这是由于在计算过程中,如果有一个"√"出现,所有的计算都会停止并重新开始

但我不需要经常做,所以我想把它们放在一个计时器里?

你怎么知道这些?它 没有。

在完成所有从tick的到来开始的计算之前,所有后续的tick都被跳过

 
Artyom Trishkin:

你怎么知道的?它 没有。

在完成所有从tick的到来开始的计算之前,所有后续的tick都被跳过

嗯,我在什么地方看到过,是反过来的,所以我错了。
我想知道,为什么用同样的计算方法,当我在图表上放置一个EA时,结果有时是立即的,有时我必须等待很长时间?

这就是抽搐的由来。

 
Roman Sharanov:

嗯,我在某处看到,它是反过来的,这意味着我错了。
我想知道,为什么在同样的计算下,当我把EA放在图表上时,结果有时会马上出现,而有时却要等很久?

而抽搐也随之而来。

没有密码,谁也不能说。

 
Artyom Trishkin:

没有密码,谁也不能告诉你。

我还发现一个严重的缺点,有太多的CopyClose()调用

你能告诉我如何在一个循环中复制货币对数组的报价吗?

这似乎是一个双数组,但MQL不支持它,像%。

...
double all_data[N][];
for(int i = 0; i < N; n++){
        CopyClose(Pairs[i], PERIOD_CURRENT, 1, Count, all_data[i]);
}