【EA编程教程】第一讲 MQL语法
小明学外汇EA编程 2019-09-08 15:30:27 交流微信号:FX263cn EA编程教程 MQL语法
什么是MQL?MetaQuotes Language 4 (MQL4)语言是MT4软件为了编写出执行交易策略的内置编程语言。我们可以通过编写EA(Expert Advisors)来控制MT4客户端按照我们的预先定义好的交易策略来执行外汇交易。另外,我们可以使用mql来编写技术分析指标,脚本和库。
1)MQL的语法
MQL的语法与我们平时见到的C语言语法极其类似,但仍然有以下不一致的地方:
一:没有地址运算符。
二:没有do while操作语句
三:没有goto语句。
四:没有?::语句。
五:没有结构体。
六:不支持复杂的赋值语句,比如 val1=val2=0; arr[i++]=val; cond=(cnt=OrdersTotal)>0;这种复杂语句不被支持。
2)注释
多行注释从/*开始并以*/结束。注释符不能嵌套,只能头尾各一个。单行注释符为//,仅注释一行。我们写程序的时候要养成注释的习惯,可以让程序更好理解,同时MQL编译器自动忽略掉注释的内容。注释的内容只给我们人看,不是给机器看的。比如:
// 这个是单行注释
/* 这个是多行注释
int i = 0;
注释里面爱写什么都行
*/
3)标识符
标识符是程序里面变量,函数,数据类型的名称,长度不能超过31个字符,标识符可以由数字,大小写字母a到z和A到Z,下划线(_),其中第一个符号不能是数字,并且标识符不能与保留字一样。什么是保留字请看下文。
4)保留字
保留字是MQL语言定义好的单词,每个单词都有这特殊的意义。
保留字如下:
数据类型:bool,color,datetime,double,int,string,void
存储类型: extern,static
操作符:break,case,continue,default,else,for,if,return,switch,while
其他:false,true
【全球外汇中文网Fx263.com ,阅读更多请登录www.Fx263.com】
1)MQL的语法
MQL的语法与我们平时见到的C语言语法极其类似,但仍然有以下不一致的地方:
一:没有地址运算符。
二:没有do while操作语句
三:没有goto语句。
四:没有?::语句。
五:没有结构体。
六:不支持复杂的赋值语句,比如 val1=val2=0; arr[i++]=val; cond=(cnt=OrdersTotal)>0;这种复杂语句不被支持。
2)注释
多行注释从/*开始并以*/结束。注释符不能嵌套,只能头尾各一个。单行注释符为//,仅注释一行。我们写程序的时候要养成注释的习惯,可以让程序更好理解,同时MQL编译器自动忽略掉注释的内容。注释的内容只给我们人看,不是给机器看的。比如:
// 这个是单行注释
/* 这个是多行注释
int i = 0;
注释里面爱写什么都行
*/
3)标识符
标识符是程序里面变量,函数,数据类型的名称,长度不能超过31个字符,标识符可以由数字,大小写字母a到z和A到Z,下划线(_),其中第一个符号不能是数字,并且标识符不能与保留字一样。什么是保留字请看下文。
4)保留字
保留字是MQL语言定义好的单词,每个单词都有这特殊的意义。
保留字如下:
数据类型:bool,color,datetime,double,int,string,void
存储类型: extern,static
操作符:break,case,continue,default,else,for,if,return,switch,while
其他:false,true
【全球外汇中文网Fx263.com ,阅读更多请登录www.Fx263.com】
【版权声明】
本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。
【风险提示】
请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。