绕过MQL4和MQL5中的Digits(),获取任何数字的小数位数(不仅仅是引号)。 - 页 19

 
谢谢,我明天会测试一下。
 
很好,在mql5中,他们从ArraySort函数中删除了排序方向,在关于从mql4迁移的文章中,他们建议 使用ArraySetAsSeries代替...但它对多维数组不起作用=)))昨天我从无到有建立了ArraySort模型)))
 
Dmitry Fedoseev:

我选择了转换为字符串的选项。

对你的选项稍作调整

int ds(double v){
   string s=(string)v;
   int l=StringLen(s);
   int p=StringFind(s,".",0);
   return((p>0)?l-p-1:0);
}
 
Igor Makanu:

谢谢,我已经拿到了,明天我将测试一下。

忘记了一个重要的澄清:)

#define    test(M,S,EX)        {uint mss=GetTickCount();int nn=(int)pow(10,M);for(int tst=0;tst<nn&&!_StopFlag;tst++){EX;} \
                                printf("%s: loops=%i ms=%u",S,nn,GetTickCount()-mss);}

否则,如果你失败了,你可以挂很长一段时间)

塔拉斯-斯洛博亚尼克

对你的版本进行了一些调整。

方案很好,但它比下面已经提出的方案慢10倍

 
fxsaber:

我可以集思广益,想出一个将结构数组(长度为sizeof(int)的倍数)转换为int[]数组的快速实现 方法吗?

实际应用是通过资源快速交换数据。我的变体 太普遍了,所以速度变慢了。


这些功能出现在MT5中

它们在MT4中不存在,可能也不会存在。所以我们必须在有和没有这些功能的情况下解决问题(如果它们是有用的)。

这个结果将对这里的大量论坛用户有用。


我写了一个非常简单的模板,用于头脑风暴,其中有我对这个问题的解决方案。


结果

该结构是一个字符串。它的长度不能是int的倍数,也不能不是int。

 
Ilya Malev:
很好,mql5删除了ArraySort函数的排序方向。 似乎在关于从mql4迁移的文章中,他们建议 使用ArraySetAsSeries代替...但它对多维数组不起作用=)))昨天我从无到有建立了ArraySort模型)))

文章

MQL5中的排序方法及其可视化

Dmitrii Troshin, 2017.05.26 09:44

为了在MQL5中处理图形,我们创建了特别库Graphic.mqh。本文介绍了其实际使用的一个例子,并解释了调集的本质。对于每一种分类,至少有一篇单独的文章,而且对其中一些分类已经发表了整个研究报告,所以这里只描述一般的想法。

 
Andrey Khatimlianskii:

是否有与通常的内置ArraySort 在随机抽样上的排序速度的比较? 是否有任何方法可以平均更快地对随机数据进行排序...

或者说不快,但至少是一样的。或者没有那么快,但至少不会超过两倍的时间。没有任何Dll和其他诸如多线程的东西
 
Алексей Тарабанов:

该结构是一个字符串。其长度不能是int的倍数,也不能是int。

多重性是问题的条件。

 
我无法超越它。
等我到了电脑前,一定要参加。
在快速查看之后,我已经有了如何将结果提高10-20%的想法。

 
Nikolai Semko:
我无法超越它。
等我到了电脑前,一定要参加。
已经有一些关于如何将结果提高10-20%的想法。

什么的结果?