测试x64平台的新MQL5编译器--计算速度提高2至10倍 - 页 11

 
Prival-2:

就我个人而言,我愿意。而且我很早就放弃了使用MT4/5。还有其他的解决方案,比这里实施的一切都要优越一个数量级。我已经在这里展示了它们,并向你们介绍了它们。我在真实账户上交易的算法不是虚构的,它们是盈利的、真实的、良好的和稳定的(如果你想搜索的话,在论坛上可以找到它们的有效性)。他们不能在MT4/5内实施,所以祝你好运,我不需要运气,因为在市场上赚钱的不是运气......

他可能是指论坛上的 "忍者",这就是为什么他和忍者混在一起。但话又说回来,要么是普里瓦洛夫说的没有逻辑,要么是他故意曲解情况。

而情况是这样的。

=你也可以在替代的交易终端 中创建自己的交易系统,但它将花费相当高的价格。程序本身的价格从一次性1000美元或每月60美元开始,而报价将从每月200美元到每月2000美元。经纪人在那里有模拟账户,但只有30天的时间。每个人都会以某种方式绕过这个问题,但在MT4-MT5的自由之后,这似乎有点疯狂。如果你是一个交易员,你必须计算你的钱。

=在另一个终端中建立一个交易系统将花费更多的时间--因为在终端的内置语言、系统功能和一些自己的或别人的科学DLL之间有各种接口和垫子,如半残的.NET。

=例如,对于测试和优化,Ninja也适合,但请注意,那里的速度将比MT4-MT5慢几十倍 - 由于各种原因:在.NET中,半正常的SSE2加速支持出现得比较晚,编译器本身的工作能力比MQL4-MQL5差很多。你必须另外学习.NET、C#语言和它的ZILLIARD功能,这本身就不适合胆小的人,而且需要几个月。实际上,.NET是对Java的一种营销回应,为此他们愚蠢地从Borland公司引来了Delphi的主要开发者Anders Hejlsberg。这就是结果--是的,Ninji的窗口可以比MT4-MT5漂亮一些,但其他几乎所有的东西,包括速度,都有问题。

=即使是宁济的图表上的日期,也不能按当地的标准来做。他们的技术支持给人们写信--"而且一切都为我们工作!"。我在忍者中的日期也是歪的(美式标准),而且没有办法修复它。这很烦人,让人沮丧。

= 迄今为止,Ninja只有一个技术优势:如果你只想做期货交易,每天坐在显示器前10-12小时,不使用5-10个以上的图表,那么Ninja可能略胜一筹。但在几乎所有其他方面(技术和开发方面)的比较将永远有利于MT4-MT5 - 在速度、程序开发速度和技术支持方面。

技术支持甚至不值得与MT4-MT5相比。

=在C#和.NET支持方面,微软一如既往地低于地下室。你将等待数年的修复,或至少是澄清。我有Ninji不可缺少的.NET 3.5,但它不能安装在同一台电脑上。简单而愚蠢。数以百计的人有同样的错误,他们都在他们的专用博客上向微软报告。这事已经拖了大约6年了。微软不知道哪里出了问题,就这样,他们说他们甚至不知道这样的错误号码。

=就该公司对其NinjaScript语言和终端的支持程度而言--有些事情就是隐晦的:他们公司只是在论坛上直截了当地写着 "不支持"。例如,他们没有便携式模式,在其他地方安装终端是有问题的。例如,他们甚至没有TICKVALUE--这意味着你不能自动设置头寸大小(以余额的%计算),你必须手动或自己写一个程序(相当复杂)。换句话说 - 没有资金管理的手动交易模式。

= 忍者有难以想象的非致命的小故障,甚至在视觉界面上。为了大幅度消除这些问题,已经宣布了新的8.0版本。它已经被等待了两年多,但它仍然不见踪影。

=在编译速度和编译器(MQL4)的可靠性方面--我相信MT4在现在的交易领域是没有对手的。

所以这就是普里瓦洛夫在这里呼吁的--我个人完全不理解。 是的,其他交易终端的所有主要缺点都可以绕过。但这将需要几个月的工作,并扭曲交易者的思维,因为我们将不得不处理C#和.NET开发人员的火星逻辑,或一个未知的开发人员的逻辑。 MT4-MT5终端也有弊端。但是,这样的发展速度和高成本对于一个交易者来说--其他终端仍然需要看到MT4-MT5的漫长道路。

 
升级到build1114 后,在Optimize=1 模式下的"代码生成错误"仍然存在
 
Anatoli Kazharski:
升级到1114 版本后,在Optimize=1 模式下,"代码生成错误"仍然存在
如何重现?
 
Alexander:
如何重现?
我在做搜索。到目前为止,还没有可能实现本地化。
 
Alexander:
如何重现?

问题出在ColorToARGB()函数中。

//+------------------------------------------------------------------+
//|                                                        #Test.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.0"
#include <Canvas\Canvas.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CCanvas canvas;
   if(!canvas.CreateBitmapLabel("TestCanvas",0,0,100,100,COLOR_FORMAT_ARGB_RAW))
     {
      Print("Error creating canvas: ",GetLastError());
      return;
     }
//---
   canvas.Erase(clrBlack);
   canvas.Update();
//---
   canvas.Line(0,0,100,100,ColorToARGB(clrWhite)); // <<< code generation error
  }
 
Anatoli Kazharski:

问题出在ColorToARGB()函数中。

谢谢你,转载。
 

当优化=1时,在测试器中对EA的 简单测试(没有参数优化)有一个错误

DP      2       12:15:12.565    test    2015.01.01 00:00:00   invalid EX5 file (12)
QI      2       12:15:12.565    Tester  global initialization failed
FR      2       12:15:12.565    Tester  global initialization critical error
GG      2       12:15:12.565    Tester  tester stopped because expert initialization failed
如果Optimize=0,一切测试正常,没有错误。

在图表中添加EA时也有类似问题。

Win7 x86, MT5 build 1114

来源(空的ME模板)

//+------------------------------------------------------------------+
//|                                                         test.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {
//---
   double ret=0.0;
//---

//---
   return(ret);
  }
//+------------------------------------------------------------------+
 
Dmitriy Parfenovich:

当优化=1时,在测试器中对EA的 简单测试(没有参数优化)有一个错误

如果Optimize=0,一切测试正常,没有错误。

在图表中添加EA时也有类似问题。

Win7 x86, MT5 build 1114

来源(空的ME模板)

谢谢你的参考,转载
 
Renat Fatkhullin:

这个答案已经给出了十几次。

MT4的技术寿命 已经结束。如果你继续坐以待毙,那就是你自己的错,你正在失去机会。这不是别人的错,而是你一个人的错,包括你的经纪人。

如果你认为有人有义务维持旧制度,只是因为有些东西不想脱离它们,那么你就大大误解了这个世界的原则(它们与个人看待世界的方式不同)。不幸的是,广大的交易者对MT4深信不疑,以至于看了都觉得可笑。人们被显示为与自己为敌,无法用理性的理由来解释。

我继续坐在MT4上,原因如下。

1.加快计算速度 是很好的。但为什么我需要在一个不真实的点差上进行这些计算呢? 我解决了在MT4上切断点差的问题,但我不知道在MT5测试器中该如何处理点差。自从我建议引入像MT4那样的价差窗口,已经有一年多了。好吧,货币对没有受到什么影响。但是,用50-100的价差测试RTS指数是一种变态行为!这是不可能的。真正的价差是10-20!!!!!!!!!!

2.请告诉我至少有一个在MT5上做外汇的经纪商有正常的声誉。为什么LMAX、RVD、FXCM、DucasCopy等不购买美妙的MT5?

我有一个好的mt5经纪人,但我不想在劣质条件下进行交易。

3)不愿意处理小的细节问题?如果你想在MT5上做一个服务,可以加载任何MT4格式的给定点差的报价,那么我将是第一个估计新编译器速度的人!

 
Dmitiry Ananiev:

我继续坐在MT4上,原因如下。

1.加快计算速度是很好的。但为什么我需要在一个不真实的点差上进行这些计算呢? 我解决了MT4上的点差截止问题,但我不知道在MT5测试器中该如何处理点差。自从我建议引入像MT4那样的价差窗口,已经有一年多了。好吧,货币对没有受到什么影响。但是,用50-100的价差测试RTS指数是一种变态行为!这是不可能的。真正的价差是10-20!!!!!!!!!!

MT5中的点差是写在每个M1栏中的,所以不需要把MT4的方法转移到MT5。在MT5中的点差情况要好得多。


2.告诉我至少有一个MT5外汇经纪商具有良好的声誉。为什么LMAX、RVD、FXCM、DucasCopy等不会购买一个伟大的MT5?

LMAX有MT4,RVD也有,FXCM已经开始了MT5,而Dukas将在技术竞赛中玩到最后,结果是已知的。

你不认为经纪人是完美的,并做出特别健全和合理的决定,是吗?他们只是普通的公司,有各种缺陷。


我在MT5上有一些非常好的经纪商,但我不想在已知更糟糕的条件下交易。

事实上,MT5的金融交易条件往往比MT4好得多。而MT5为交易者提供了更多更好的技术特点和速度特点。


如果你不想处理小的细节问题?在MT5中做一个服务,这样你就可以加载MT4中的任何报价。在给定的点差下,我将是第一个估计新编译器速度的人

我们有不同层次的真实信息。

你最好承认,你没有在现实中运行或测试过MT5的能力。因此,人们不断提到MT4固有的较弱的能力,并试图将MT4的方法转移到MT5。但在MT5中尝试同样的事情,就足以让人不再回到MT4。