关于MT5的一些新消息

2009年9月27日 10:52  |  分类:EA, MQL5, MT5


      随着MT5的封闭测试开始,官方网站陆续放出了一些关于MQL5的新消息,我就不原文翻译了,挑一些重点的罗列一下以飨读者:
1、MQL4中不少系统函数在MQL5中已经发生了变更,比如Ask和Bid这两个在MQL4中广为大家熟悉的关键字已经被抛弃了,取而代之的是如下的用法:
       SymbolInfoDouble(Symbol(),SYMBOL_BID);
2、一些非常值得期待的新增功能:
 OnTimer()函数
 OnTrade()函数
 OnChartEvent()函数
OnTimer函数:MT5中引入了Timer机制,这意味着MT5中的指标和EA不需要像MT4那样等每次价格跳动(tick)的时候才能运行一次了,利用Timer机制,可精确控制指标和EA在某个特定的时间运行,或精确地按设定的时间价格运行(如每到整点自动下单)。
OnTrade函数:在每次交易发生前触发的事件,可以更精细地控制交易行为;
OnChartEvent函数:这个函数能让MT5的图表变得更有互动性!从前面的图中可以看出:图上有几个黄色的按钮,”CLOSE ALL”按钮就是关闭所有的部位;”SELL”就是做空,”BUY”就是做多;另外还有几个输入框可快速输入止损和止赢等。这意味着:在MT5的图表上,通过MQL5编程可实现图表上的一键下单、快速下单等激动人心的梦幻功能!(我记得MT4时代可是太多人咨询过我关于类似的问题了,呵呵)
         MT5中大大增强了图表的表现能力,添加了诸如按钮、输入框等交互性的元素,但同时也有个不算好的消息:在MT5中指标是不能创建Object物件的。现在没有看到正式的文档,所以还无法准确理解这句话的含义,不知道是说无法创建某部分Object还是无法创建所有的?但也有个好消息:就是官方可能会在MT5中实现在同一图表上同时运行多个EA!不知道这是否意味着MT的开发会逐渐把指标和EA融合在一起,最后只剩下一种脚本类型呢?
        另一个激动人心的好消息是:MT5中对图表的时间周期进行了大幅改革:我们都知道,在MT4中,只有有限的几种图表周期(如M5、M30、H1、H4等),但在MT5中,可以随意生成任意周期的图表了(如M2、M3、H2、H8等),这得益于在MT5中,历史数据将会只有M1一种格式,所以可以基于M1生成任意周期的图表了,同时不会再出现MT4中经典的历史数据不匹配现象了(相信经常做历史测试的朋友都深有体会了)。
        最后,我想补充的一点是:得益于C++语言对C语言的良好兼容性,所以在MT5中,如果用户不愿意学习MQL5,仍然可以使用MQL4语言进行开发!唯一需要做的就是学习新提供的系统函数。