MT4编程学习入门详解.doc
《MT4编程学习入门详解.doc》由会员分享,可在线阅读,更多相关《MT4编程学习入门详解.doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-_目录目录 MT4 编程入门(一):编程入门(一):MT4 自定义指标的基本操作自定义指标的基本操作 MT4 编程入门(二编程入门(二):指标源码中的常用符号说明:指标源码中的常用符号说明 MT4 编程入门(三编程入门(三):自定义变量:自定义变量 MT4 编程入门(四编程入门(四):自定义函数:自定义函数 MT4 编程入门编程入门(五五):自定义数组:自定义数组 MT4 编程入门编程入门(六六):市场数据取值:市场数据取值 MT4 编程入门编程入门(七七):判断语句:判断语句 MT4 编程入门编程入门(八八):循环:循环 MT4 编程入门编程入门(九九):MT4 自定义指标的结构自定义指标
2、的结构 MT4 编程入门编程入门(十十):画一条指标线:画一条指标线 MT4 编程入门编程入门(十一十一):MT4 的报警的报警MT4 编程入门(一):编程入门(一):MT4 自定义指标的基本操作自定义指标的基本操作 MT4 自定义指标的保存目录、指标编缉器与指标调用自定义指标的保存目录、指标编缉器与指标调用一、一、MT4 自定义指标保存在自定义指标保存在 C:Program FilesMetaTrader 4expertsindicators 这个目录中,这个目录中,该目录中主要有二种类型的文件,该目录中主要有二种类型的文件, 一种是一种是 mq4 文件,这是文件,这是 MT4 自定义指标的
3、源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行, 但能在但能在 MT4 启动时自动编译为启动时自动编译为 ex4 可执行文件。可执行文件。 另一种就是另一种就是 ex4 文件,这是文件,这是 MT4 自定义指标的可执行文件,由自定义指标的可执行文件,由 mq4 文件编译得到。文件编译得到。 mq4 文件必须编译为文件必须编译为 ex4 文件才能被文件才能被 MT4 执行。执行。 但但 ex4 文件是机器码文件,人工不可修改文件是机器码文件,人工不可修改另外还有一个文件是另外还有一个文件是 mqlca
4、che.dat,它用来保存目录中的文件信息,如果,它用来保存目录中的文件信息,如果 MT4 无法自动编译,只要删除此文件即可解无法自动编译,只要删除此文件即可解-_决问题决问题mq4 文件编译为文件编译为 ex4 可执行文件有两种方法:可执行文件有两种方法: 1、MT4 启动时,会自动把此目录中的启动时,会自动把此目录中的 mq4 文件编译为文件编译为 ex4 文件。文件。2、用、用 MQ 语言编辑器打开语言编辑器打开 mq4 文件,点一下文件,点一下“编写编写”按钮,即可生成按钮,即可生成 ex4 文件文件二、下载保存二、下载保存 mq4 文件、文件、ex4 文件文件在论坛上我们经常看到有在
5、论坛上我们经常看到有 mq4 文件、文件、ex4 文件可供下载,我们只要把它们保存到文件可供下载,我们只要把它们保存到 C:Program FilesMetaTrader 4expertsindicators 这个目录,也就是下面这个目录中,就可以了。如果下载的是这个目录,也就是下面这个目录中,就可以了。如果下载的是 ex4 文件,那可以直接调用;如果文件,那可以直接调用;如果 是是 mq4 文件,则需要重启动文件,则需要重启动 MT4,让系统自动编译生成,让系统自动编译生成 ex4 可执行文件。如果下载的是可执行文件。如果下载的是 rar、zip 等类型的压缩文件,等类型的压缩文件, 还必须
6、下载后解压到此目录才能使用。还必须下载后解压到此目录才能使用。三、将源码保存为源码文件三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有在论坛上,我们也经常能看到指标源码贴在网页上,但没有 mq4、ex4 等文件可以下载,只能复制源码。此时需要我等文件可以下载,只能复制源码。此时需要我 们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。 1、打开、打开 MQ 语言编辑器语言编辑器-_2、在、在 MQ 语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。语言
7、编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。3、删除新文件里面的所有内容,成为一个空文件,、删除新文件里面的所有内容,成为一个空文件,-_4、接着我们就可以将网页上源码复制粘贴进来、接着我们就可以将网页上源码复制粘贴进来 试着点一下试着点一下“编写编写” ,如果左下角出现,如果左下角出现“0 错误,错误,0 警告警告” ,那说明源码没问题,编译通过了,成功生成了,那说明源码没问题,编译通过了,成功生成了 ex4 可执行可执行 文件文件5、还有很重要的一点,就是要把源码文件保存到正确的目录中、还有很重要的一点,就是要把源码文件保存到正确的目录中-_保存后,再点一下编写。保存后,再
8、点一下编写。到此,源码保存完成。到此,源码保存完成。当然,我们也还有另的办法:当然,我们也还有另的办法:可以打开一个原已存在的可以打开一个原已存在的 mq4 文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上 的源贴到文件中保存即可的源贴到文件中保存即可也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后 缀必须输入缀必须输入 mq4,保存类型选择
9、,保存类型选择“所以文件所以文件”四、四、mt4 程序调用自定义指标程序调用自定义指标这非常简单这非常简单-_MT4 编程入门(二编程入门(二):指标源码中的常用符号说明:指标源码中的常用符号说明 一、注释符:单行注释一、注释符:单行注释“/” 、多行注释、多行注释“/* */” 程序不执行注释,注释内容仅供阅读或保留不用的语句程序不执行注释,注释内容仅供阅读或保留不用的语句 在在 MQ 语言编辑器中,注释内容以灰色显示语言编辑器中,注释内容以灰色显示二、分号二、分号“;” 表示一个语句结束表示一个语句结束三、逗号三、逗号“, ” 表示一个语句内部间隔,不结束语句。表示一个语句内部间隔,不结束
10、语句。四、等于号四、等于号“=” 赋值语句,把等号后面的值赋给等号前的变量中赋值语句,把等号后面的值赋给等号前的变量中五、加号五、加号“+” 整数或小数,则表示值相加;字符串,则表示前后连接。整数或小数,则表示值相加;字符串,则表示前后连接。六、加加六、加加“+” 表示把符号前的变量值加表示把符号前的变量值加 1,例如:,例如:“i+;” 这实际上就是:这实际上就是:“i=i+1;”的简写,表示的简写,表示 i 的值加的值加 1七、加等于七、加等于“+=” 表示把符号后的值加到符号前的变量中。例如表示把符号后的值加到符号前的变量中。例如“i+=2;” ,实际上就是,实际上就是“i=i+2;”的
11、简写,表示的简写,表示 i 的值加的值加 2-_八、双等号八、双等号“=” 等于号。用于逻辑判断,双等号前后值相等,则返回逻辑值等于号。用于逻辑判断,双等号前后值相等,则返回逻辑值“真真 true” ;双等号前后值不相等,则返回逻辑值;双等号前后值不相等,则返回逻辑值“假假false”九、叹号等号九、叹号等号“!=” 不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值“真真 true” ;不等号前后值相等,则返回逻辑值;不等号前后值相等,则返回逻辑值“假假false”十、十、 “temp=3*x+2*y;return(temp);一
12、、和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。一、和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。 函数类型、名称、参数位于函数头部函数类型、名称、参数位于函数头部(参数间以逗号分隔参数间以逗号分隔), 大括号中的是运算语句,也就是函数体部分。大括号中的是运算语句,也就是函数体部分。 return 语句为函数结束语句,语句为函数结束语句,return 后面括号中的值为函数返回值,即函数运算结果。后面括号中的值为函数返回值,即函数运算结果。上例中,上例中,int 为函数类型,表示该函数的返回值为函数类型,表示该函
13、数的返回值(运算结果运算结果)是整数;是整数; (x,y)为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词 int ft 为函数名,有了函数名,我们就可以在别处用为函数名,有了函数名,我们就可以在别处用 ft(2,1)的形式来调用此函数;的形式来调用此函数; 函数体部分有三句:函数体部分有三句: 第一句,定义一个整形变量第一句,定义一个整形变量 temp 第二句,计算第二句,计算 temp 的值的值 第三句,函数结束,返回调用点,以第三句,函数结束,返回调用点,以 temp 的值作为本函数返回值。的值作为本函数返回
14、值。 此函数也可以简写为:此函数也可以简写为:int ft(int x,int y) return(3*x+2*y);二、函数类型与类型符二、函数类型与类型符 函数类型就是函数返回值函数类型就是函数返回值(运算结果运算结果)的类型,与自定义变量类型差不多的类型,与自定义变量类型差不多 有整型有整型(int)、双精度型、双精度型(double)、字符串型、字符串型(string)、逻辑型、逻辑型(bool)等,等, 还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成 vo
15、id(无值型无值型)三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。 上例中,有上例中,有 x、y、temp 三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与 函数外部无关。函数外部无关。四、函数的调用四、函数的调用 函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用函数调用非常简单,只要函数名正确、参数个数一致
16、、类型相同就能正确调用 如我们前面创建了如我们前面创建了 ft(x,y)函数,则别处我们可以用函数,则别处我们可以用 ft(4,5)等样式来调用等样式来调用 ft(x,y)函数求值。函数求值。 调用时,传递参数值给调用时,传递参数值给 ft(x,y)函数函数(按顺序把按顺序把 4 传给传给 x,把,把 5 传给传给 y),返回结果,返回结果 22 后继续执行主程序。后继续执行主程序。 MT4 编程入门编程入门(五五):自定义数组:自定义数组 一、数组是一系列同类型变量的集合,可以同时存储多个数值。一、数组是一系列同类型变量的集合,可以同时存储多个数值。 例:例:int aa4=4,3,2,1;
17、 这是一个数据名为这是一个数据名为 aa、包含了、包含了 4 个元素的整数型数组个元素的整数型数组(即数组长度为即数组长度为 4),可以同时存储,可以同时存储 4 个数值。个数值。二、自定义数组也必须二、自定义数组也必须“先建立,后使用先建立,后使用” 创建创建(定义定义)时,必须设定类型和名称。时,必须设定类型和名称。 创建创建(定义定义)时,数组的元素个数也可以设定,也可以不设定时,数组的元素个数也可以设定,也可以不设定 数组中第一个元素的编号为数组中第一个元素的编号为 0,第二个为,第二个为 1,以此类推。编号使用方括号括起来,以此类推。编号使用方括号括起来-_在这上例中在这上例中 aa
18、0的值为的值为 4、aa1的值为的值为 3、aa2的值为的值为 2、aa3的值为的值为 1创建创建(定义定义)数组的同时,可以赋初值,也可以不赋初值。数组的同时,可以赋初值,也可以不赋初值。 例:例: int bb; 创建数组创建数组 bb,不设定数组元素个数,不设定数组元素个数 int cc8; 创建数组创建数组 cc,设定数组元素为,设定数组元素为 8 个,不赋初值个,不赋初值 int dd3=9,8,7; 创建数组创建数组 dd,设定数组元素为,设定数组元素为 4 个,并赋初值个,并赋初值 赋值后,赋值后,dd0的值为的值为 9、dd1的值为的值为 8、dd2的值为的值为 7 int e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MT4 编程 学习 入门 详解
限制150内