⑴ 如何编写简单的EA 交易和自定义指标
要编写程序(“EA 交易”、“指标”或“脚本”),您可以启动 MetaTrader 5 客户端,从 Tools(工具)菜单选择MetaQuotes Language Editor(MetaQuotes 语言编辑器),或按 F4 键。
在 MetaEditor 5 窗口中,从 File(文件)菜单选择 New(新建),或按 Ctrl+N。
在 MQL5 Wizard(MQL5 向导)窗口中选择您想要创建的程序类型:
接下来您可以指定程序名称、作者信息,以及在启动程序后向用户要求的参数。
随后,系统将创建程序模板(“EA 交易”、“指标”或“脚本”),您可以对其进行编辑或填入代码:
程序就绪后,必须对其进行编译。要编译程序,从 File(文件)菜单选择 Compile(编译),或按 F7 键:
如果程序代码没有错误,系统将创建扩展名为 .ex5 的文件。之后,您可以将此新的“EA 交易”、“指标”或“脚本”附加至 MetaTrader 5 客户端的图表进行执行。
MQL5 程序是一个运算符序列。每个运算符以分号 ";" 结束。为您方便起见,您可以为代码添加注释,注释位于符号 "/*" 和 "*/" 之中,或在代码行末尾的 "//" 后。MQL5 是“面向事件”的编程语言。这表示当特定事件(程序启动或终止、新的报价到来等)发生时,客户端启动用户编写的相应函数(子程序),以执行指定的操作。客户端具有以下预定义事件:
Start 事件在“脚本”运行时发生(仅用于“脚本”)。它将会引起 OnStart 函数的执行。MQL4 对应物 -“脚本”中的 start 函数。
Init 事件在“EA 交易”或“指标”启动时发生。它将会引起 OnInit 函数的执行。MQL4 等价物 - init 函数。
Deinit 事件在“EA 交易”或“指标”终止时发生(例如,从图表分离后、关闭客户端等)。它将会引起OnDeinit 函数的执行。MQL4 等价物 - deinit 函数。
NewTick 事件在当前金融工具有新的报价到来时发生(仅用于“EA 交易”)。它将会引起 OnTick 函数的执行。MQL4 对应物 -“EA 交易”中的 start 函数。
Calculate 事件在指标启动(在 OnInit 函数执行后)以及当前金融工具有新报价到来时发生(仅用于“指标”)。它将会引起 OnCalculate 函数的执行。MQL4 对应物 -“指标”中的 start 函数。
Trade 事件在订单执行、修改或删除,以及在开仓、持仓修改或平仓时发生(仅用于“EA 交易”)。它将会引起 OnTrade 函数的执行。MQL4 中没有该事件和函数的对应物。
BookEvent 事件在“市场深度”改变时发生(仅用于“EA 交易”)。它将会引起 OnBookEvent 函数的执行。MQL4 中没有该事件和函数以及“市场深度”的对应物。
ChartEvent 事件在用户使用图表时发生:在图表窗口处于焦点状态时点击鼠标和按下按键。该事件也会在创建、移动或删除图形对象等时发生(用于“EA 交易”和“指标”)。它将会引起 OnChartEvent 函数的执行。MQL4 中没有该事件和函数的对应物。
Timer 事件在计时器触发时定期发生,如果计时器已使用 EventSetTimer 函数激活的话。它将会引起OnTimer 函数的执行。MQL4 中没有该事件和函数以及计时器的对应物。
使用变量前,必须指定每个变量的数据类型。相比 MQL4,MQL 5 支持更多的数据类型:
bool 用于存储逻辑值(true 或 false)。该数据类型占用 1 字节内存。
char 用于存储从 -128 到 127 的整数值。该数据类型占用 1 字节内存。
uchar 用于存储从 0 到 255 的无符号整数值。该数据类型占用 1 字节内存。
short 用于存储从 -32,768 到 32,767 的整数值。该数据类型占用 2 字节内存。
ushort 用于存储从 0 到 65,535 的无符号整数值。该数据类型占用 2 字节内存。
int 用于存储从 -2,147,483,648 到 2,147,483,647 的整数值。该数据类型占用 4 字节内存。
uint 用于存储从 0 到 4,294,967,295 的无符号整数值。该数据类型占用 4 字节内存。
long 用于存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数值。该数据类型占用 8 字节内存。
ulong 用于存储从 0 到 18,446,744,073,709,551,615 的无符号整数值。该数据类型占用 8 字节内存。
float 用于存储浮点值。该数据类型占用 4 字节内存。
double 用于存储浮点值,通常为价格数据。该数据类型占用 8 字节内存。
datetime 用于存储日期和时间值,它是从 01.01.1970 00:00:00 开始流逝的秒数。该数据类型占用 8 字节内存。
color 用于存储颜色信息,它包含三种颜色分量的特性 - 红色、绿色和蓝色。该数据类型占用 4 字节内存。
enum 代表枚举。它允许指定某种限制类型的数据集。该数据类型占用 4 字节内存。
string 用于存储文本字符串。它的内部表示为 8 字节结构,包括含字符串的缓冲区大小以及指向该缓冲区的指针。
选择合适的数据类型对于获得最佳性能及合理的内存使用十分必要。在 MQL5 中有个称之为结构的新概念。结构将逻辑相关的数据结合在一起。
⑵ MT4和MT5什么区别哪个更好用
目前主要用MT4,最近几年MT5用的人也多起来了,不管是MT4还是MT5,其实都是俄罗斯迈达克公司开发的,从诞生时间上看,毫无疑问MT5是MT4的升级版,可能大家的疑问就来了,既然MT5是MT4的升级版,那为什么现在无论是平台方还是交易者用的都是MT4居多?接下来,我就从5个方面,详细给大家讲讲MT4和MT5的主要不同。
第一点,是支持范围不同。
像MT4,在迈达克官网上的介绍,MT4的核心标语是“最受欢迎的外汇交易平台”主要以外汇交易为主。而MT5支持的品种就大多了,包括股票、大宗商品和债券等等。
那第二点呢,就是市场深度报价不同。
外汇交易者可以通过MT5的市场深度报价去了解到市场流动性,有更高的透明度和直观性;而MT4则不具备这点。
第三点,就是订单处理的不同。
像MT4,就可以同一品种开相反方向的订单,每一笔单都是独立的,比如做多1手和做空2手,这两笔单都是单独显示的。
而MT5就会将这两笔订单合并起来变成一笔,也就是只显示空1手。这样当我们去查看历史记录的时候,就没办法核对了,这一点我个人认为是非常不方便的,已经影响到单子的复盘了
而第四点,就是挂单方式的不同了。
MT4常见的挂单方式有4种,也就是买入止损、卖出止损和限价买进、限价卖出;而MT5则在这4种挂单方式上又增加了突破限价买单和突破限价卖单,这两种新增的挂单方式简单点来说就是做到突破回踩买入和突破回踩卖出。也就是设置好一个突破价格,一旦价格突破设置的价位后,设置的另一个回踩价格的挂单就会生效。这一点是比MT4方便的地方
最后的第五点,就是内置技术指标的不同
MT4技术分析工具包括了30个内置指标,提供了24种分析对象。而MT5就在MT4的基础上新增了8种技术指标,但说实话,像我作为一个裸K交易者来说,我觉得这些指标其实用处不大,指标越多并不代表着更加利于交易。所以指标这东西,只要精通那么一两种用来辅助交易就完全够用了。
以上我所说的呢,就是MT4和MT5的五大不同点,从上面这几点可以看出,MT5的功能总体上比MT4要强大。回到前面的问题,为什么现在无论是平台方还是交易者还是更为推崇MT4?主要原因还是因为它们的定位有较大的差异。那么问题来了!在MT4与MT5之间,我们到底应该怎么选呢?
如果需要线下进行大量回溯测试、或想要交易股票和大宗商品市场,那么就选MT5,这是更好的选择。MT4的话有优点是运行流、稳定。各种功能和图表简单易用,如果你是一个纯粹的外汇交易者,那MT4是更好的选择。而毫无疑问绝大部分普通交易者在无论是品种选择还是功能应用MT4已经完全足够了,MT5功能虽然强大,但是这些强大的功能对于绝大部分普通的交易者来说根本用不上,正所谓杀鸡焉用牛刀。
当然了,不管是MT4还是MT5,对大家来说,永远还是那句话,适合自己的交易软件才是最好的,根据自己的需求去选择即可。
⑶ mt5交易平台是做什么的
MT5是MetaTrade 5的英文缩写。它是由MetaQuotes platform(迈达克)公司编写的一款金融交易软件,旨在向金融中介机构对他们的客户提供在外汇、差价合约、股票和期货等金融配察产品交易的姿芦交易平台。
包括各种交易执行功能、无限量图表、大量技术指标和曲线、自定义指标及脚本,并且MT5平台提供内置的自动交易市场、自由职业者的策略开发人员数据库、复制交易和虚拟主机(Forex VPS)服务。
(3)mql5平台怎么交易扩展阅读:
多资产交易平台MT5在迅猛发展,本次更新也是应众多交易者的要求,为了进一步改进产品,为平台新增了许多新的工具和服务。此外,迈达克还特别强调,而这种功能性的革新今后将永远不会出现在MT4平台。此外,这只是迈达克大规模新动作的第一步,旨在为交易者扩展MT5的功能。
MT5平台新版本培册茄具有创建合成金融工具的功能。这一特性的激活需要为基于一个或多个可用工具的计算报价设置公式。平台将生成它的分钟报价。所有后续报价都将实时自动构建。
⑷ 外汇EA的EA的开发
外汇EA在MT4平台上进行开发,采用MQL4语言编写交易策略,EA的文件形式是mq4文件或ex4文件,其中mq4文件是源码文件。 这种语言可以创建你自己的智能交易,使自己的交易策略能够完全自动地执行。而且,MQL4 还能自定义客户指标,脚本和数据库。内包含了大量可以分析当前及历史报价所必须的函数,以及一些基本的运算和逻辑操作。并内置了一些基本的指标和操作命令。
打开MT4软件的MetaEditor编辑器,选择新建-智能交易系统,就可以开始开发自己的EA了。MQL4语言的基本语法类似于C语言,MetaEditor内含详细的帮助文件,可以帮助开发者正确地使用各种交易函数和操作指令。开发完成后需要进行编译和历史回测,并对EA的参数设置等进行不断优化,对EA的风险进行准确的评估之后再用于实盘账户运行。