打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MT4智能交易编程教程- 从 MQL4 到 MQL5
MT4智能交易编程教程-  从 MQL4 到 MQL5
MQL5是前任MQL4语言的发展,其中编辑进去许多指标,脚本和EA交易。尽管事实上,新的程序语言最大化的与前一代相匹配,但在这些语言之间,仍有区别,当转换程序时,这些区别应该标注出来。
对于了解MQL4的程序员来说,新的MQL5语言,该章节涵盖了促进代码改编进化的所有信息。
首先应该标明的是:
·新语言不包括函数start(), init() 和 deinit();
·指标缓冲区数量不限制;
·在下载EA程序后(或者其他MQL5程序),dll立即被加载;
·检测缩写的逻辑条件;
·当数组超过限制时,结束当前操作(紧急的-错误输出);
·像C++一样运算符优先;
·该语言提供隐式类型(甚至从字符串到数字);
·局部变量不能自动初始化(除了字符串);
·普通本地数组自动删除。
特殊函数 init, start and deinit
MQL4语言只包括3个预定函数可以操作指标,脚本或者EA交易(不包括files *.mqh和数据库文件)。在MQL5中没有那样的函数,但有与之相类似的函数,图表表明了近似函数。
MQL4
MQL5
init
OnInit
start
OnStart
deinit
OnDeinit
在MQL4中,函数 OnInit 和 OnDeinit 在 init 和 deinit 程序中执行了相同的任务-他们是为本地代码设计的,一定在MQL5程序的初始化过程中执行,可以因此重命名函数,或者以他们本身的形式呈现,但是在类似位置这些函数可以添加调用。
示例:
void OnInit()
{
//--- 调用函数去初始化
init();
}
void OnDeinit(const int reason)
{
//--- 调用无法初始化函数
deinit();
//---
}
开始函数只在脚本中被OnStart代替,在EA交易和指标中应该分别重命名成OnTick和OnCalculate。在MQL5程序操作过程中,这些代码可以执行,并保存3个函数中:
mql5程序
主函数
脚本
OnStart
指标
OnCalculate
EA交易
OnTick
如果指标或者代码不包括主函数,或者函数名称与要求的不相符,该函数的调用就不能执行。这表示了,如果脚本的资源代码不包括OnStart,该代码会以一个EA交易编辑。
如果指标代码不包括OnCalculate函数,该指标的编辑不能完成。
预定义变量
在MQL5中有诸如Ask, Bid, Bars的预定义变量,变量点和数字的拼写有稍许不同:
MQL4
MQL5
数字
_Digits
_Point
_LastError
_Period
_Symbol
_StopFlag
_UninitReason
访问时间序列
MQL5中没有像Open [], High [], Low [], Close [], Volume [] and Time []这样预定义的时间序列。时间序列必要的深度能用相关访问时间序列函数来设定。
EA交易
MQL5的EA交易不需要强制存在处理新订单号收据事件的函数-OnTick,如在MQL4中一样(当接收新订单时执行MQL4的启动函数),因为在MQL5中EA交易可以包含几种类型的预定义处理器函数。
·OnTick – 新订单号收据;
·OnTimer –时间数据;
·OnTrade - 交易事件;
·OnChartEvent – 键盘鼠标输入事件,图解物件移动事件,完成文本编辑事件输入LabelEdit物件领域中的;
·OnBookEvent – 市场深度状态更改事件。
自定义指标
在MQL4中,指标缓冲区的数量是有限的,不能超过8。而在MQL5中则没有这个限制,但是要记得每个指标缓冲区需要在程序端分配部分内存,所以,这个新功能也不能滥用。
MQL4只提供了6种自定义指标绘图;而MQL5现在提供了18种绘画类型 。绘画类型的名称不变,但是指标的图解表示意义却显著变化。
指标缓冲区中索引趋势也并不相同。默认情况下,在MQL5中,所有指标缓冲区都有常用数组行为,例如0索引元素是历史记录中最古老的一个,随着指数增加,数据也从旧的换成新的。
受MQL4保护的工作自定义指标的唯一函数是SetIndexBuffer 。但是调用改变;现在应该指定存储在数组中的数据类型,连接指标缓冲区。
自定义指标属性也已更改并发展。添加了访问时间序列的新函数,所以全部算法需要重新审议。
图解物件
在MQL5中图解物件的数量显著增加。此外,图解物件现在可以及时置于时间表的图表中且可精确到秒-现在物件定位点不会四舍五入到当前价格图表开盘时间柱上。对于箭头物件,可以指定文本和标签绑定方式 ,并且对于标签,可以设置按钮,图表,位图标签和编辑定位定位物件的图表角 。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
EA交易:脚本程序和指标的同步- MQL4文章
(8)MQL4程序
[转载]MQL4 开始动手写自己的外汇智能交易系统
初识EA编程及语言
一篇关于mql5自动交易语法开发(第一篇)
在 MQL5 中寻找趋势的几种方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服