支持MG4脚本和顾问的测试人员 - 页 5

 
Integer:
从这个意义上说,C++和JavaScript是一样的。这也是事实!

一个华丽的谎言!

给我们举一个与Javascript的eval() 相似的函数的C++实现的例子。

01      var str = "if (a) { 1+1 } else { 1+2 }"
02      var a = true
03      var b = eval(str)
04      alert("b равно : " + b) // 2
05       
06      // теперь поменяем "a"
07       
08      a = false
09      b = eval(str)
10      alert("b равно : " + b) // 3

也就是说,将一段C++源代码写入std::string类型的变量,然后调用eval()函数,它将执行从std::string类型的变量中提取的那段代码。

建议在C++中实现这样的函数eval()(也就是说,我甚至不是在说没有这样的函数,而是在说语言本身存在这样的函数的可能性)。

不用说,这并不是唯一的区别。

MQL4++的核心与MQL5没有区别:同样的语法,同样的类型、操作、对象、多态性、重载......。

唯一的区别是实现专家顾问、指标和脚本的API的库。在这个意义上,在同一个Javascript 中,有一个核心语言和两个对象模型。

从结构上看,JavaScript可以被表示为由三个明显可区分的部分组成的联盟。

  • 内核(ECMAScript)。
  • 浏览器对象模型(BOM)。
  • 文档对象模型(Document Object Model或DOM)。

而MQL可以被表示为可明确区分的东西:核心语言和库。如果MQL4核心与MQL4++核心不同,则MQL4++核心与MQL5核心没有区别。

所以,雷纳特 在这里是绝对正确的,要反驳这一点很奇怪。

 
Integer:

正是如此。特别是利用自己的优越地位的权威。

所有的语言都是一样的,除了那些特别奢侈的语言。所有这些都可以在21天内被任何傻瓜学会。都有为,而,如果,切换,也许写作的形式是不同的,但在原则上并没有改变什么。

自然,这种肤浅的理解使人无法看到区别。这就是为什么他们看起来都是一样的。

我不仅想在C++中玩eval()函数,也想在MQL4++中玩。

你会不会至少在MQL4++中写一个这样的函数,因为没有内置函数?

我不会写的--Javascript和MQL4++之间的差异对我来说太大。

你说所有的语言都是一样的,因此Javascript和MQL4++是一体的,所以你写起来一定很容易。

 
Renat:

相反,我们改用了非常经济的CopyXXX函数,在这个函数中,开发者完全可以根据自己的需要查询本地数组的数据,而不是整个可用的图。接下来是对本地数据的最快处理(而不是以前相当昂贵的Open/High/Low/Close/Time[xxx]),另外作者可以缓存这些数据并在下一次调用时节约使用。内存和CPU的节省是巨大的。此外,该平台本身对管理庞大的数据库特别放手--对它们的访问总是按需进行的(而不是无监督的直接访问),这使得对缓存的管理变得灵活。

还应注意的是,MQL4中的Open/High/Low/Close/Time[xxx]调用的简单性仅限于当前符号和时间框架,其他符号和时间框架的所有其他数据都是使用iClose/iLow(...)函数获得的,这造成了严重的延迟。在MQL5中过渡到单一的CopyXXX函数模型,从根本上改善了这种情况,允许开发人员在一次请求中获得所需的数据块,而不需要进行多次阻塞调用(想想每次调用iClose时的锁)。

这些不是我们的职能,这篇文章也不是。这篇文章是一套畸形的拐杖,但被发布出来以示区别。

我已经反复解释了使用MQL5新功能的必要性,而不是那些可怕的拐杖。

如果有一个附有足够 数量的例子的文档,基于对MQL5新功能识读 使用,这样即使是新手也可以根据自己的需要组装代码,而不需要去研究所有的细节,由于有足够数量的例子和用MQL5的新功能识读编写的例子代码,代码总体上还是识读的,那么MT5的情况就不会这么糟糕了。

然而,只要代替它,有文章用 "一堆可怕的拐杖 "作为代码,我们已经得到了被拒绝的MT5和MQL5的API的这样一种态度。而且绝大部分观众都不是专业的程序员。当然,这不是拒绝MT5的唯一原因,但它是主要原因之一。

 

有人被问到。

- 为什么如果,比如说,外星人存在,他们不跟我们说话,不教我们?

他被告知。

- 你会教蟑螂说话吗?你为什么不这样做呢?


傻子, 没有冒犯的意思,你根本不明白Integer 说的任何话。
 
simpleton:

如果有一个附有足够 数量的例子的文档就好了,这些例子是根据MQL5的新功能的合格 使用而编写的。

MQL5的文档 有4000页,有9种语言,有一个巨大的源代码kodobase,有360篇翻译成5种语言的文章,有5种语言的论坛,在那里你可以提出问题,等等。

 
rustein:

傻瓜, 没有冒犯的意思,你根本不明白Integer 说的该死的东西。

他说对了。

雷舍托夫说得更准确:https://www.mql5.com/ru/forum/153749/page4#998584

总的来说,对MT5的攻击只是那些不想切换到新终端的人的烂借口,或是那些只听说过MT5却不知道它在哪里的人的发明。

 
Renat:

他说得很对。

一般来说,对MT5的攻击只是那些不想切换到新终端的人的烂借口,或者是那些只听说过MT5却不知道它在哪里的人的捏造。


MT5与此有什么关系?
我想长期这样做。但该经纪商还没有提供MT5。所以要适当推广。
至于谁明白什么或不明白什么,也许你不明白。它有那么重要吗?
 
rustein:

至于谁明白什么或不明白,也许你也不明白。这有那么重要吗?

你没有说过一句有意义的话,也没有做过一个论证。只是情绪。

 
Renat:

你没有说过一句有意义的话,也没有做过一个论证。只有情感。

И?
 
simpleton:

...

最近在这里的某个地方有一个关于学习什么编程语言的讨论。一位与会者给出了一个非常有用的建议--首先是俄语(或任何其他,母语)。要了解对话的内容。

"在这种情况下, C++与JavaScript没有什么不同。"以这种方式 "这句话定义了(或澄清了)比较的标准因此,一个奇怪的问题出现了--"你现在在这里说的是什么?"