MetaTrader 4 IDE的测试版,包括新的MQL4编译器和编辑器 - 页 5

 
可能很难找到一个更小的优化建议,但也许现在是时候按字母顺序组织市场概览列表的输出了?或者是我这个工程师说,一切都应该是平行/垂直的......有点不紧张,但也不高兴。也许你可以在那些90%的现成函数上再加几行,嗯?
 
Zaxvatov:
可能很难找到一个更小的优化建议,但也许现在是时候按字母顺序组织市场概览列表的输出了?或者是我这个工程师说,一切都应该是平行/垂直的......有点不紧张,但也不高兴。也许你可以在那些90%的现成函数上再加几行,嗯?
一个应用程序 可以做这个。但有一个按钮会更好...
 
VOLDEMAR:

问题:新的Mt是什么时候? 迫不及待 .....

你到底在等什么?新的虫子?(这在这种重大变化中是不可避免的)。你是否迫不及待地想重写和调试你所有的代码,而这些代码却无法在短时间内工作?你没有空闲时间可以浪费吗?

就个人而言,最近构建的所有这些混乱使我对这种MQL-编程的前景进行了全面思考。而且不管是在4号还是5号,都无所谓。其本质是一样的。你用某种合成语言编写程序,并与交易平台挂钩,最终你会成为这个平台/语言开发者的所有奇思妙想和错误的人质。今天他们想用MQL4与MQL5交叉,明天用MQL6交叉,等等。 而你没有选择,你被迫按照新的规则重新设计你的发展。否则,一切都会停止工作。就这样,它一直在继续。这都是不严肃的。

总的来说,这是我将所有的MQL程序转移到独立的编程环境中的最后推动力,而不与特定的交易平台绑定。而我将使用MQL只是作为MT和我的程序之间的一个连接环节。 而这可能是唯一正确的方法。 当然,除非你打算在市场上出售你的楼盘)。

好吧,如果你只是喜欢在MQL中编程,并且想要一些新的功能(即运动兴趣),那么有什么能阻止你在P5中编码,在那里所有这些都已经实现了?

 
Meat:

你到底在等什么?更多的虫子?(这在这种重大变化中是不可避免的)。你是否迫不及待地想重写和调试你所有的代码,而这些代码却无法在短时间内运行?你没有空闲时间可以浪费吗?

就个人而言,最近构建的所有这些混乱使我对这种MQL-编程的前景进行了全面思考。而且不管是在4号还是5号,都无所谓。其本质是一样的。你用某种合成语言编写程序,并与交易平台挂钩,最终你会成为平台/语言开发者的所有奇思妙想和错误的人质。今天他们想用MQL4与MQL5交叉,明天用MQL6交叉,等等。 而你没有选择,你被迫按照新的规则重新设计你的发展。否则,一切都会停止工作。就这样,它一直在继续。这都是不严肃的。

总的来说,这是我将所有的MQL程序转移到独立的编程环境中的最后推动力,而不与特定的交易平台绑定。而我将使用MQL只是作为MT和我的程序之间的一个连接环节。 而这可能是唯一正确的方法。 当然,除非你打算在市场上出售你的楼盘)。

好吧,如果你只是喜欢在MQL中编程,想要一些新的功能(即体育兴趣),那么有什么能阻止你在P5中编码呢,在P5中已经实现了所有这些功能?

我同意,如果开发商能留下对旧版本的支持,至少500个,并取消强制升级到新版本,我怀疑这将被实施,这将是可以的,但这是另一个不可理解的举措,开发商。当然,我支持加入OOP,但它很容易在dll中实现,没有必要用新版本的语言作为新的标准来点火。例如,同样是C++,他们有几个现有的标准,但总的来说,有一个共同的基础,将适用于任何代码实现。
 
Barbarian:
我同意,如果开发商能留下对旧版本的支持,至少500个,并取消强制升级到新版本,我怀疑这将被实施,这将是可以的,但这是另一个不可理解的举动,开发商。当然,我支持加入OOP,但它很容易在dll中实现,没有必要用新版本的语言作为新的标准来点火。例如,同样是C++,他们有几个现有的标准,但总的来说,有一个共同点,对任何代码的实现都有效。

我怀疑你是用铸铁熨斗熨烫,用煤加热灶具......。 创新是好的,不仅是货币市场是非常动态的,如果你想取得一些成就,你必须始终处于趋势之中......新的变化是为了更好地,希望....
 
VOLDEMAR:

创新是好的,不仅是货币市场是非常动态的,如果你想取得一些成就,你必须始终处于趋势之中......新的变化是为了更好地,希望....

自己 "赶潮流 "是一回事,但让自己过去的设计成为 "潮流 "又是另一回事。 如果你没有很多,或者它们没有价值,那就没有问题。但是,这里的许多人已经积累了一个巨大的代码库,经过多年的编写和调试。而现在,每个人都被摆在这个事实面前,这个代码的相当一部分将很快停止工作。这是无稽之谈。在这种情况下,总是设想向后兼容,即支持语言的旧版本,但元引号并没有这样做。

 
Meat:

自己 "赶潮流 "是一回事,但让自己过去的设计成为 "潮流 "又是另一回事。 如果你没有很多,或者它们没有价值,那就没有问题。但是,这里的许多人已经积累了一个巨大的代码库,经过多年的编写和调试。而现在,每个人都被摆在这个事实面前,这个代码的相当一部分将很快停止工作。这是无稽之谈。在这样的情况下,总是设想向后兼容,即支持旧版本的语言,但元引号没有这样做。


你确定吗?这是一个内部人士吗?
 
Meat:

自己 "赶潮流 "是一回事,但让自己过去的设计成为 "潮流 "又是另一回事。 如果你没有很多,或者它们没有价值,那就没有问题。但是,这里的许多人已经积累了一个巨大的代码库,经过多年的编写和调试。而现在,每个人都被摆在这个事实面前,这个代码的相当一部分将很快停止工作。这是无稽之谈。在这样的情况下,总是设想向后兼容,即支持旧版本的语言,但元引号没有这样做。

一个危言耸听的人的话语。Metacquotes已经说过很多次,而且可能不会厌倦地重复,将会有完全的兼容性。已经停止了这种幼稚的行为。
 
FAQ:

你确定这一点吗?这是一个内部人士吗?

artmedia70:
一个危言耸听的人的话。元老们已经说过很多次,而且可能不会厌倦地重复,会有完全的兼容性。你能不能别再这么幼稚了?

在这里我强调了它,这样就不会有人说它是完全兼容的。

雷纳特


与旧版本的MQL4有什么不同。

  • 布尔运算和/或运算的优先级已经改变。现在一切都和经典的C/C++一样

  • 引入了对逻辑表达式的缩短评估。现在,当评估一个逻辑表达式时,其余的子表达式不会被评估。如同在C/C++中。

  • 开关运算符现在只使用整数值。以前,你可以使用真正的。

  • 现在,你不能在变量名中使用句号。另外,你不能在变量名称中使用'@'、'$'、'?'字符。

  • 对启动功能的要求已经收紧。以前,你可以在启动函数中指定参数。现在,所有的入口点init、start、deinit、OnInit、OnStart、OnTick、OnTimer等必须完全匹配它们的签名

  • 由于关键字集的扩展,诸如short、long、float、const、virtual、input、delete、new、do、char等名称不能再被使用。

  • 导入的dll-函数不能再接受字符串数组作为参数。如同在MQL5中一样

  • 出现了预定义的变量名称_Period, _Symbol, _LastError, _CriticalError, _StopFlag, _Point, _Digits, _UninitReason, _RandomSeed,这可能与现有源代码中声明的相同名称的简单变量相冲突。

  • 日期时间类型已经变成了8个字节,就像在MQL5中一样。

这些差异不是致命的,可以很容易地在代码中修复。相 反,MQL5的很多功能,更快的执行速度和更严格的质量控制都可以使用。

我用红色标出了最令人不快的部分。
 
Barbarian:
当然,我支持加入OOP,但它是在dll中实现的,没有必要创建一个新的语言版本作为新的标准。

我认为Mql4中根本不应该有任何变化。它已经存在了很多年没有变化,所有的弊病都被治愈了,用户也习惯了。最主要的是,它是一种非常简单和独特的语言,有自己的特点,例如,允许一些自由意志,这可以节省许多行的代码。它唯一真正缺乏的是结构。你可以把自己限制在添加它们,仅此而已。 而MQL5,由于其枯燥的严重性和局限性,已经不那么有趣了,因为正如Barbarian正确指出的那样,用真正的C++来编码要容易得多,有更多的可能性。

简而言之,最好的解决方案是让MQL4保持原样,并在MT4中添加MQL5作为独立的语言(只有一组功能会与MT5不同)。用户将自己决定用哪种语言写作。

原因: