干得好!
在他们的领域中的专业人员!
谢谢你!
另外--5月20日之前的下一个版本很可能会有一个可用于历史数据的调试器。
我们将在5月26日至28日的iFX博览会 上展示它。
iFX EXPO International 2015
- iFX EXPO
- www.ifxexpo.com
Booth 01 Get the world’s fastest HTML5 chart for mobile & desktop, and the highest user-rated mobile apps - with or without trading. Founded in 1998, NetDania pioneered streaming price technology, and have since delivered solutions to global Tier-1 banks, brokers, currency managers, and analysts. With a strong position within corporate FX and...
谢谢你,我祝愿你进一步成功!
Renat Fatkhullin:
新的编译器非常接近于Visual Studio 2012 x64编译器的质量和速度。
我们还没有激活所有的优化方法,因为我们还在测试它们。这就是为什么结果将继续改善。
好消息 !干得好!
雷纳特-法特库林。
你可以在同一时间进行更多的计算,并较少考虑切换到DLL的问题。这对那些做繁重数学的人来说尤其重要。
是的,我真的想不出还有什么任务需要使用外部DLLs了。
雷纳特-法特库林。
此外--5月20日之前的下一个版本很可能会有一个可用于历史数据的调试器。
这确实是最有用的功能。确实非常感谢你。
我个人只有一个问题--指向数组的指针。 对于私有数组来说,问题可以通过将数组包装成一个类来解决。
但对于传入OnCalculate()函数的 数组,我必须每次都把数据复制到内部缓冲区,然后才把指针传入分析器对象和处理程序。有一次,我试着用memcpy传递指针,但不知为什么,速度几乎一样,在我看来,这种 "技巧 "不应该被应用。
也许使用引用类型的可能性会更容易被接受。 一般来说,任务是访问数组元素而不复制它们。
George Merts:
例如,终端间的通信。
是的,我真的想不出还有什么任务需要使用外部DLLs。
我试着用优化方法编译我的一个机器人。
结果发现,将偏差输入参数分配给MqlTradeRequest结构 实例的偏差字段会导致代码生成错误。
假设的例子(其他一切都已被删除)。
结果发现,将偏差输入参数分配给MqlTradeRequest结构 实例的偏差字段会导致代码生成错误。
假设的例子(其他一切都已被删除)。
sinput ulong deviation = 100; int OnInit() { MqlTradeRequest request = { 0 }; request.deviation = deviation; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- }我得到"代码生成错误11"。
如果你只是指定 "100"。
int OnInit() { MqlTradeRequest request = { 0 }; request.deviation = 100; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- }
...那么编译就会顺利进行,不会出现错误。注意,我有AMD Athlon II X4 645,3.1 GHz处理器。也许这很重要(就在本周,带有servicedesk的MQL4已经在AMD上抓到了一些错误)。
我的编译器并没有抱怨其他的事情。
正如我们之前所承诺的,我们将发布一个新的MQL5编译器,为MetaTrader 5的64位版本进行优化。
我们对32位版本的终端和旧版本的终端都保持了生成代码的完全兼容。
您已经可以在我们的MetaQuotes-Demo服务器上升级到MetaTrader 5 build 1108及其新功能。为了启用新的优化编译器,在metaeditor.ini的[Experts]中添加Optimize=1键。
为了测试MQL4、MQL5和C++编译器的性能,我们使用了标准编译器测试。所有的源文件都与Excel电子表格一起附在后面,这样大家就可以仔细检查了。
现在让我们来看看在以下环境中的测试结果。
要看详细的图表,请点击它。
结论是什么。
MQL5比MQL4快了几十个百分点,甚至几倍。原因是在执行环境和32位。MetaTrader 5有一个更有效和不断发展的运行时间。
新编译器的开发花了很多时间,但收获是惊人的。在优化字符串操作方面存在一些问题,但我们也将努力加快它们的速度。
我们还没有激活所有的优化方法,因为我们还在测试它们。因此,结果将继续改善。
它给交易者带来了什么?
能够在同样的时间内做更多的计算,并且更少地考虑切换到DLL的问题。这对那些做繁重数学工作的人来说尤其重要。