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

 
Aleksei Stepanenko:

所以我没有写别的东西,只是重复了你的代码。

视觉上排列的数字不正确,而你认为这就是你需要的。

最有可能的是,你需要给循环分配0.5555,而不是ArrayFill。试一试吧。

谢谢你。我希望能快速学习新的信息。

 
不客气,只要能用就行 :)
 
Aleksei Stepanenko:
不客气,只要能用就行 :)
我只是想澄清一下....。也许用循环代替ArrayFill()会使程序变慢,特别是当数组中有很多数据,而且枚举范围很大时,如果循环只对一个数组不起作用马克西姆-库兹涅佐夫 告诉我,有一些 最佳算法,可以将LoY[2][31]转换为LoY[31][2]。也许这种算法不会使程序像循环一样变慢,或者会变慢但程度较轻。如果你熟悉这种算法,如果你告诉我你对它的看法,甚至在我的代码中演示一下,我将非常感激。
再次非常感谢您的信息支持。
 
ANDREY:
也许用循环代替ArrayFill()会使程序变慢。

所有的代码都会消耗资源。ArrayFill 或循环填充的成本差不多。

但是排序,或者完全重写数组都要花费时间。因此,最好是找到其他解决方案,例如,考虑数据存储和准备,进行预计算和其他选择。

 
Aleksei Stepanenko:

所有的代码都会消耗资源。ArrayFill 或循环填充的成本差不多。

但是排序,或者完全重写数组都需要花费时间。这就是为什么最好找到其他解决方案,如数据准备、初步计算和其他选项。

明白了。谢谢你。

 
在你的案例中,回答主要问题是很有意思的:为什么有必要每分钟做一次排序?如何能以更经济的方式实施你的想法?
 
ANDREY:

明白了。谢谢你。

对不起,打断一下,也许分类是没有必要的?也许只应该确定最大(最小)值?

 

其中一种语言的文档非常好,很详细,当然很费时间,但它能帮助程序员

---

成本较低的做法是在一开始就正确填写,尽量不要用五种膝盖来愚弄一个数组:填写、排序、添加、排序和再添加。

如果可能的话,避免不必要的行动。

---

在mql中有一个函数:StringConcatenate,它超级昂贵,但由于它在语言中的存在,它被使用了,尽管它可以很容易地被避免,并且可以写出 "轻型 "代码。

 
Luchezar Shalomaev:

抱歉打断一下,也许分类是没有必要的?也许只确定最大(最小)值?

谢谢你的意见。需要的是分类,....。至少在我对自己的设计理解的这个阶段是这样。也许以后我会重新考虑,寻找一些分类的替代品。关于最小和最大,我已经知道有确定它们的函数,而且它的成本较低。

 
Vitaly Muzichenko:

其中一种语言的文档非常好,很详细,当然很费时间,但它能帮助程序员

---

成本较低的做法是在一开始就正确填写,如果可能的话,尽量不要在一个数组中掺杂五个膝盖:填写、排序、添加、排序和再次添加。

如果可能的话,避免不必要的行动。

---

在mql中有一个函数:StringConcatenate,它超级昂贵,但由于它在语言中的存在而被使用,尽管它可以很容易地被避免并写出 "轻 "代码。

一般的想法是可以理解的......在我看来是这样的。谢谢你的提示。如果你不介意告诉我在数组名称$ array[]和值$var 之前的美元符号是什么意思 在我看来,这根本不是来自mql。

原因: