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

 

一切似乎都在运作。

我有一个小小的愿望--Alt+M下拉的功能列表不能在 "导航 "窗口中永久可见吗?如果能在代码中导航,将非常方便。

 
BorisMQL4:
是否有办法像以前那样定制工具栏?

是的,在现有的工具栏项目上点击右键,选择 "自定义"。


一切都与MetaEditor 4相同。

 
Renat:

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

  • 逻辑AND/OR操作的优先级已经改变。现在一切就像在经典的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的很多功能、执行速度和更严格的质量控制都可以得到。

前2项特别危险,因为代码会被编译,但可能无法正确工作。

我可以再加点吗?如果没有,请改正(没有时间进行beta测试和全面测试)。(所以我将在最后写上(?),不至于看起来像一个绝对的真理)。

  • 字符串变成了unicode(2字节)。因此,基于操作1字节字符的算法不会正确工作,或者根本就不会工作(?)
  • 在描述函数的参数时,你必须明确指定第二和更高的数组维度(?)
  • 本地变量 和数组不能自动初始化(?)
  • 默认数组不再是静态的(?)
  • 长于256个字符的字符串将不会被截断(?)
  • 一些常数改变了它们的内部表示。例如,图中的时期从H1开始(?)
  • ...
Документация по MQL5: Основы языка / Переменные / Локальные переменные
Документация по MQL5: Основы языка / Переменные / Локальные переменные
  • www.mql5.com
Основы языка / Переменные / Локальные переменные - Документация по MQL5
 

新的MQL4方案的进入点列表

1.为了与现有资源兼容,我们熟悉的init、start、deinit仍然保留。

2.已添加。

OnInit, OnDeinit(对于专家顾问、指标和脚本,不允许init和OnInit、deinit和OnDeinit函数同时存在)

脚本的OnStart(不允许OnStart和start同时存在)。

专家顾问的OnTick(不允许OnTick和启动同时存在)。

指标的OnCalculate(不允许OnCalculate和start同时存在)。

还增加了。

用于专家顾问和指标的OnTimer

专家顾问和指标的OnChartEvent

专家顾问的OnTester

 

这些对 "表达式 "计算的修改应该在很久以前就进行了。几乎很少会造成问题,除非作者写了巨大的表达方式。

字符串没有问题--在内部它们是Unicode,在终端外使用时自动转换为ANSI(在订单中发送注释),包括在传递给DLL时自动来回重新编码。就是说,兼容性是完整的。

数组的尺寸是的。现在你可以忘记用多维 数组进行的疯狂游戏了,因为它们完全可以被结构所取代。

MQL4中的数组从来都不是静态的,相反,它们一直都是动态的。

不,不再有256个字符的限制。

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
stringo:

新的MQL4方案的进入点列表

1.为了与现有资源兼容,我们熟悉的init、start、deinit仍然保留。

2.已添加。

OnInit, OnDeinit(对于专家顾问、指标和脚本,不允许init和OnInit、deinit和OnDeinit函数同时存在)

脚本的OnStart(不允许OnStart和start同时存在)。

专家顾问的OnTick(不允许OnTick和启动同时存在)。

指标的OnCalculate(不允许OnCalculate和start同时存在)。

还增加了。

用于专家顾问和指标的OnTimer

专家顾问和指标的OnChartEvent

专家顾问的OnTester

OnTrade和OnTradeTransaction 是计划中的吗?
 
Renat:

也许这个工作室是俄罗斯人?

是的,这是俄罗斯的。这很关键吗?
 
fyords:
是的,这是俄罗斯的。它是关键吗?

除了俄语中的斑点短语外,并不关键。这段文字是从工作室的答复中扣除的。

我们将努力解决这个问题。

 
Renat:

除了俄语中的斑点短语外,并不关键。这段文字是从工作室的答复中扣除的。

我们将努力解决这个问题。

我明白了,谢谢你,关于找到第五个工作室单位的问题将得到解决,还是我有一些问题?
 
Urain:
OnTrade和OnTradeTransaction是计划中的吗?
不幸的是,没有。