MT5作为Majdak公司最新一代外汇交易平台,在功能上做了大量更新。今天我们选择其中的一个——计费功能,进行对比说明。
先来整体感受一下MQL5和MQL4版本的计费功能:

从图中可以直观的看出,MQL5版本的计费函数OrderSend与MQL4版本区别很大,更加简洁,是面向对象编程的体现。
MQL5计费功能的主要部分是查询结构和结果结构。我们来拆解一下,看看MQL5是如何使用计费功能的:
1.MqlTradeRequest
查询的基本结构如下:
从参数中可以看出,查询结构中封装的内容类似于OrderSend函数的MQL4版本,
1.1动作参数是MQL5中的一个重要参数,用于确定操作的类型。其价值是:

从上到下顺序为:市价单、挂单、修改止盈止损、修改挂单、删除挂单、反向开单清算。
1.2 type参数用于指定计费类型,其值为:
从上到下的顺序是:市价买入单、市价卖出单、买入限价单、卖出限价单、买入止损单、卖出止损单、买入止损单、卖出止损单、反向买入。
在计费函数中,计费的必要参数是动作、符号、量、价格、类型和偏差;;常见的行动价值观是前三类;类型参数的常见值是前四个类别。
1.3多空单仓开仓示例:

2.MqlTradeResult
结果的基本结构如下:
从参数描述可以看出,结果结构中的所有结果都是计费执行结果。与MQL4相比,返回的信息不仅包括订单编号,还包括计费单价、手数、计费时间点ASK、出价等信息,为程序根据计费结果操作订单提供了更多的信息。
综上所述,相比MQL4,MQL5的计费功能更强大,信息反馈更详细,但使用难度也略有增加。从量化交易的角度来说,还是比较方便的。
以上,仅为个人观点,欢迎批评指正,谢谢。


