MT4和MT5的区别

阿右   ·  2017-7-18   ·   外汇大家谈
MT4和MT5的区别,语法上来说MT4的语法偏向面向过程,简单而强大。MT5的语法更像JAVA,支持对象.面向对象编程,复杂而强大,一个简单的指标调用也需要获得handle.然并卵,大部分人不是纯粹程序猿,所以MT5一直推广不起来。
但是我主要从交易的角度说说MT5与MT4的差别,说说MT5改了和增加的一些方便的功能,比较实用的就是可以多货币一起回测、局域网内和云端的CPU可以共享一起运算,加快测试进度:
一、大差别:
1.交易品种:MT5多了期权、期货、股票、债券。
2.订单管理:MT5支持订单合并,也支持订单对锁。也就是同一合约支持订单合并,也可以选择订单不合并,在开户的时候就可以选择。(要用最新的版本,MT5更新比较频繁,很多功能都在持续的加加减减)
3.历史回测:以前MT4只能以太电脑进行运算,现在可以分布到很多太电脑一起运算。
4.操作系统:32位系统只支持4g内存运算,现在MT5支持64位,运算速度可以大大增加。
5.回测货币对:MT5支持多货币对同时回测,这是其他平台所不具备的。
在回测的时候你是不需要选择什么其他的选项的,是直接写进代码里面的。
6.市场深度:做过内盘的都知道,内盘是可以看到市场深度的,就是买一到买五的挂单量。MT5现在也增加了市场深度。当然是只支持商品的,外汇的市场构架是不同的。
7.历史订单:历史订单和MT4大为不同,以前一张单子分一行显示,现在有了in和out的区别。
8.虚拟下单:MT5支持历史回测的时候虚拟下单,比如一些做加仓的朋友经常喜欢前几层不开,只做后面几层,这个功能可以帮你完成回测。
9.MQL5和MQL4的语法差别:
语法整体来说要比MT4复杂的一些。
9.1 MT4获取价格数据只需要ask和bid,MT5获取ask和bid的值比较复杂,多了几个步骤,主要是MqlTick和Copytick函数,基本都牵扯到数组。
9.2open、high、low、close之类的函数也不能用了,需要用Mqlrates和Copyrates函数,和上面的函数是类似的。
9.3获取指标数据函数也换了CopyBuffer。
9.4选定订单:MT4直接一个orderselect就解决了,现在的MT5的orderselect只能选定挂单了,但是没办法选择市价单了。选择市价单是position,选择历史单的是history,函数从一个分成了三个。
10.代码调试:在编写代码的上方多了一个按钮,MT5可以用历史数据调试代码,之后打断点,单步调试。
二、小差别:
1.k线周期:MT5多了自定义时间,1分钟k线,2分钟k线都可以随意设置。
2.代码可以备份到云端。
3.挂单类型:MT5多了6种挂单,除了限价买卖,还多了突破之后再挂单买卖。
4.窗口显示:可以一键管理平铺所有窗口。

1.MT5历史数据如何下载?
MT4是在工具中选择历史数据下载,MT5直接在“显示”里选择策略测试,点击测试之后,就会自动下载数据。运算速度比MT4快多了。
2.MT5历史回测多了什么功能?如何使用?
2.1测试可以选择100ms延迟,一般我们做交易都有20-200ms的延迟的。
2.2在代理中可以选择多核多线程一起运算。
2.3回测精度:
可以用every tick,这个是根据官方的算法来的,但是不是严格的按照每次报价,仔细核对的话,回发现不一样的。
MT4最高精度就是1 minutes OHLC,也就是每分钟从开盘价去一次最高价,去一次最低价,然后回到收盘价。但是MT5的精度的确是比MT4的高,虽然和实际的tick跳动还是有些差距,但是基本能代表波动的都被选出来了。
每次波动基于时实(every tick base on real tick),这个是基于实际tick的,但是测试比较慢。除非你的策略性质比较特殊,否则最好还是永 every tick。
2.4测试报告:
测试报告也比MT4详细的多:
常用的一些数据基本都有了,多了每周的盈利之类的,多了利润散点图,持仓时间散点图,只是让我们更直观的了解到了策略的运行情况。
3.如何使用局域网内的所有电脑cpu一起进行优化?
MT4 只支持32位4g内存运行,内存再大也是白搭,但是MT5就不一样,内存扩展了。并且可以使用局域网以内的所有电脑一起进行运算,云端的电脑也可以付费使用计算。


2 Reply   |  Until 2017-8-7 | 1947 View
LoginCan Publish Content