欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    MT4编程学习入门详解.doc

    • 资源ID:630311       资源大小:247KB        全文页数:22页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MT4编程学习入门详解.doc

    -_目录目录 MT4 编程入门(一):编程入门(一):MT4 自定义指标的基本操作自定义指标的基本操作 MT4 编程入门(二编程入门(二):指标源码中的常用符号说明:指标源码中的常用符号说明 MT4 编程入门(三编程入门(三):自定义变量:自定义变量 MT4 编程入门(四编程入门(四):自定义函数:自定义函数 MT4 编程入门编程入门(五五):自定义数组:自定义数组 MT4 编程入门编程入门(六六):市场数据取值:市场数据取值 MT4 编程入门编程入门(七七):判断语句:判断语句 MT4 编程入门编程入门(八八):循环:循环 MT4 编程入门编程入门(九九):MT4 自定义指标的结构自定义指标的结构 MT4 编程入门编程入门(十十):画一条指标线:画一条指标线 MT4 编程入门编程入门(十一十一):MT4 的报警的报警MT4 编程入门(一):编程入门(一):MT4 自定义指标的基本操作自定义指标的基本操作 MT4 自定义指标的保存目录、指标编缉器与指标调用自定义指标的保存目录、指标编缉器与指标调用一、一、MT4 自定义指标保存在自定义指标保存在 C:Program FilesMetaTrader 4expertsindicators 这个目录中,这个目录中,该目录中主要有二种类型的文件,该目录中主要有二种类型的文件, 一种是一种是 mq4 文件,这是文件,这是 MT4 自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行, 但能在但能在 MT4 启动时自动编译为启动时自动编译为 ex4 可执行文件。可执行文件。 另一种就是另一种就是 ex4 文件,这是文件,这是 MT4 自定义指标的可执行文件,由自定义指标的可执行文件,由 mq4 文件编译得到。文件编译得到。 mq4 文件必须编译为文件必须编译为 ex4 文件才能被文件才能被 MT4 执行。执行。 但但 ex4 文件是机器码文件,人工不可修改文件是机器码文件,人工不可修改另外还有一个文件是另外还有一个文件是 mqlcache.dat,它用来保存目录中的文件信息,如果,它用来保存目录中的文件信息,如果 MT4 无法自动编译,只要删除此文件即可解无法自动编译,只要删除此文件即可解-_决问题决问题mq4 文件编译为文件编译为 ex4 可执行文件有两种方法:可执行文件有两种方法: 1、MT4 启动时,会自动把此目录中的启动时,会自动把此目录中的 mq4 文件编译为文件编译为 ex4 文件。文件。2、用、用 MQ 语言编辑器打开语言编辑器打开 mq4 文件,点一下文件,点一下“编写编写”按钮,即可生成按钮,即可生成 ex4 文件文件二、下载保存二、下载保存 mq4 文件、文件、ex4 文件文件在论坛上我们经常看到有在论坛上我们经常看到有 mq4 文件、文件、ex4 文件可供下载,我们只要把它们保存到文件可供下载,我们只要把它们保存到 C:Program FilesMetaTrader 4expertsindicators 这个目录,也就是下面这个目录中,就可以了。如果下载的是这个目录,也就是下面这个目录中,就可以了。如果下载的是 ex4 文件,那可以直接调用;如果文件,那可以直接调用;如果 是是 mq4 文件,则需要重启动文件,则需要重启动 MT4,让系统自动编译生成,让系统自动编译生成 ex4 可执行文件。如果下载的是可执行文件。如果下载的是 rar、zip 等类型的压缩文件,等类型的压缩文件, 还必须下载后解压到此目录才能使用。还必须下载后解压到此目录才能使用。三、将源码保存为源码文件三、将源码保存为源码文件在论坛上,我们也经常能看到指标源码贴在网页上,但没有在论坛上,我们也经常能看到指标源码贴在网页上,但没有 mq4、ex4 等文件可以下载,只能复制源码。此时需要我等文件可以下载,只能复制源码。此时需要我 们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。 1、打开、打开 MQ 语言编辑器语言编辑器-_2、在、在 MQ 语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。3、删除新文件里面的所有内容,成为一个空文件,、删除新文件里面的所有内容,成为一个空文件,-_4、接着我们就可以将网页上源码复制粘贴进来、接着我们就可以将网页上源码复制粘贴进来 试着点一下试着点一下“编写编写” ,如果左下角出现,如果左下角出现“0 错误,错误,0 警告警告” ,那说明源码没问题,编译通过了,成功生成了,那说明源码没问题,编译通过了,成功生成了 ex4 可执行可执行 文件文件5、还有很重要的一点,就是要把源码文件保存到正确的目录中、还有很重要的一点,就是要把源码文件保存到正确的目录中-_保存后,再点一下编写。保存后,再点一下编写。到此,源码保存完成。到此,源码保存完成。当然,我们也还有另的办法:当然,我们也还有另的办法:可以打开一个原已存在的可以打开一个原已存在的 mq4 文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上 的源贴到文件中保存即可的源贴到文件中保存即可也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后 缀必须输入缀必须输入 mq4,保存类型选择,保存类型选择“所以文件所以文件”四、四、mt4 程序调用自定义指标程序调用自定义指标这非常简单这非常简单-_MT4 编程入门(二编程入门(二):指标源码中的常用符号说明:指标源码中的常用符号说明 一、注释符:单行注释一、注释符:单行注释“/” 、多行注释、多行注释“/* */” 程序不执行注释,注释内容仅供阅读或保留不用的语句程序不执行注释,注释内容仅供阅读或保留不用的语句 在在 MQ 语言编辑器中,注释内容以灰色显示语言编辑器中,注释内容以灰色显示二、分号二、分号“;” 表示一个语句结束表示一个语句结束三、逗号三、逗号“, ” 表示一个语句内部间隔,不结束语句。表示一个语句内部间隔,不结束语句。四、等于号四、等于号“=” 赋值语句,把等号后面的值赋给等号前的变量中赋值语句,把等号后面的值赋给等号前的变量中五、加号五、加号“+” 整数或小数,则表示值相加;字符串,则表示前后连接。整数或小数,则表示值相加;字符串,则表示前后连接。六、加加六、加加“+” 表示把符号前的变量值加表示把符号前的变量值加 1,例如:,例如:“i+;” 这实际上就是:这实际上就是:“i=i+1;”的简写,表示的简写,表示 i 的值加的值加 1七、加等于七、加等于“+=” 表示把符号后的值加到符号前的变量中。例如表示把符号后的值加到符号前的变量中。例如“i+=2;” ,实际上就是,实际上就是“i=i+2;”的简写,表示的简写,表示 i 的值加的值加 2-_八、双等号八、双等号“=” 等于号。用于逻辑判断,双等号前后值相等,则返回逻辑值等于号。用于逻辑判断,双等号前后值相等,则返回逻辑值“真真 true” ;双等号前后值不相等,则返回逻辑值;双等号前后值不相等,则返回逻辑值“假假false”九、叹号等号九、叹号等号“!=” 不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值“真真 true” ;不等号前后值相等,则返回逻辑值;不等号前后值相等,则返回逻辑值“假假false”十、十、 “temp=3*x+2*y;return(temp);一、和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。一、和自定义变量一样,自定义函数在使用前,也必须先设立,以定义其类型、名称、参数和运算语句。 函数类型、名称、参数位于函数头部函数类型、名称、参数位于函数头部(参数间以逗号分隔参数间以逗号分隔), 大括号中的是运算语句,也就是函数体部分。大括号中的是运算语句,也就是函数体部分。 return 语句为函数结束语句,语句为函数结束语句,return 后面括号中的值为函数返回值,即函数运算结果。后面括号中的值为函数返回值,即函数运算结果。上例中,上例中,int 为函数类型,表示该函数的返回值为函数类型,表示该函数的返回值(运算结果运算结果)是整数;是整数; (x,y)为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词为参数,由于自定义变量使用之前都必须先创建,所以要加上类型定义词 int ft 为函数名,有了函数名,我们就可以在别处用为函数名,有了函数名,我们就可以在别处用 ft(2,1)的形式来调用此函数;的形式来调用此函数; 函数体部分有三句:函数体部分有三句: 第一句,定义一个整形变量第一句,定义一个整形变量 temp 第二句,计算第二句,计算 temp 的值的值 第三句,函数结束,返回调用点,以第三句,函数结束,返回调用点,以 temp 的值作为本函数返回值。的值作为本函数返回值。 此函数也可以简写为:此函数也可以简写为:int ft(int x,int y) return(3*x+2*y);二、函数类型与类型符二、函数类型与类型符 函数类型就是函数返回值函数类型就是函数返回值(运算结果运算结果)的类型,与自定义变量类型差不多的类型,与自定义变量类型差不多 有整型有整型(int)、双精度型、双精度型(double)、字符串型、字符串型(string)、逻辑型、逻辑型(bool)等,等, 还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以写成 void(无值型无值型)三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时,自定义变量也就自动注销。 上例中,有上例中,有 x、y、temp 三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与三个自定义变量,在函数运行时创建,在函数运行结束时自动消失,仅在函数内部有效,与 函数外部无关。函数外部无关。四、函数的调用四、函数的调用 函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用 如我们前面创建了如我们前面创建了 ft(x,y)函数,则别处我们可以用函数,则别处我们可以用 ft(4,5)等样式来调用等样式来调用 ft(x,y)函数求值。函数求值。 调用时,传递参数值给调用时,传递参数值给 ft(x,y)函数函数(按顺序把按顺序把 4 传给传给 x,把,把 5 传给传给 y),返回结果,返回结果 22 后继续执行主程序。后继续执行主程序。 MT4 编程入门编程入门(五五):自定义数组:自定义数组 一、数组是一系列同类型变量的集合,可以同时存储多个数值。一、数组是一系列同类型变量的集合,可以同时存储多个数值。 例:例:int aa4=4,3,2,1; 这是一个数据名为这是一个数据名为 aa、包含了、包含了 4 个元素的整数型数组个元素的整数型数组(即数组长度为即数组长度为 4),可以同时存储,可以同时存储 4 个数值。个数值。二、自定义数组也必须二、自定义数组也必须“先建立,后使用先建立,后使用” 创建创建(定义定义)时,必须设定类型和名称。时,必须设定类型和名称。 创建创建(定义定义)时,数组的元素个数也可以设定,也可以不设定时,数组的元素个数也可以设定,也可以不设定 数组中第一个元素的编号为数组中第一个元素的编号为 0,第二个为,第二个为 1,以此类推。编号使用方括号括起来,以此类推。编号使用方括号括起来-_在这上例中在这上例中 aa0的值为的值为 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 ee9=0,1,2,3; 创建数组创建数组 ee,设定数组元素为,设定数组元素为 9 个,但只给前个,但只给前 4 个元素赋初值个元素赋初值三、数组使用时的赋值三、数组使用时的赋值 数组的赋值必须指定明确的赋值对象,除了新建数组时可以批量赋值外,数组元素必须一个一个赋值数组的赋值必须指定明确的赋值对象,除了新建数组时可以批量赋值外,数组元素必须一个一个赋值 例如:例如:dd2=1; 这是对数组这是对数组 dd 的第的第 3 个元素个元素 dd2(0是第是第 1 个,个,2表示第表示第 3 个)重新赋值为个)重新赋值为 1 在这里,没有整数型变量定义符在这里,没有整数型变量定义符 int, 这样,数组这样,数组 dd 原有三个值原有三个值9,8,7就变为就变为9,8,1四、数组的引用四、数组的引用 数组只是一系列变量的集合,所以每次只能使用数组中的一个元素。数组只是一系列变量的集合,所以每次只能使用数组中的一个元素。 数组的引用必须指定明确的引用对象,一次只能引用一个。如果需要使用整列数组,则必须逐个使用。数组的引用必须指定明确的引用对象,一次只能引用一个。如果需要使用整列数组,则必须逐个使用。 例如:数组例如:数组 aa4的值为的值为4,3,2,1 我们用我们用 aa 来引用数组来引用数组 aa 中的值中的值 当当 i=0 时,时,aai的值为的值为 4 当当 i=1 时,时,aai的值为的值为 3 当当 i=2 时,时,aai的值为的值为 2 当当 i=3 时,时,aai的值为的值为 1 MT4 编程入门编程入门(六六):市场数据取值:市场数据取值 一、预定义数组(一、预定义数组(MT4 已经定义好的,可以直接使用)已经定义好的,可以直接使用) 开盘价、最高价、最低价、收盘价、成交量等历史数据,每根开盘价、最高价、最低价、收盘价、成交量等历史数据,每根 K 线蜡烛都各有一个,所以必须用数组来解决问题,线蜡烛都各有一个,所以必须用数组来解决问题, MT4 有几个预定义数组有几个预定义数组: 开盘价开盘价 Open、最高价、最高价 High、最低价、最低价 Low、收盘价、收盘价 close、成交量、成交量 Volume、所属时间、所属时间 Time 类型为双精度类型为双精度 double 型(即精确小数)型(即精确小数)这里有一个位置的问题,右边第一根这里有一个位置的问题,右边第一根 K 线蜡烛线蜡烛(即最新的蜡烛即最新的蜡烛)的编号为的编号为 0,第二根蜡烛编号,第二根蜡烛编号 1,第三根蜡烛编号,第三根蜡烛编号 2,也,也 就是说从右向左倒着数过去。就是说从右向左倒着数过去。Open0、High0、Low0、Close0,表示最新的开盘价、最高价、最低价、收盘价,表示最新的开盘价、最高价、最低价、收盘价 Open1、High1、Low1、close1,表示第,表示第 2 根根 K 线蜡烛的开盘价、最高价、最低价、收盘价线蜡烛的开盘价、最高价、最低价、收盘价 Open2、High2、Low2、close2,表示第,表示第 3 根根 K 线蜡烛的开盘价、最高价、最低价、收盘价线蜡烛的开盘价、最高价、最低价、收盘价 Open3、High3、Low3、close3,表示第,表示第 4 根根 K 线蜡烛的开盘价、最高价、最低价、收盘价线蜡烛的开盘价、最高价、最低价、收盘价 Open、High、Low、close,表示第,表示第 i+1 根根 K 线蜡烛的开盘价、最高价、最低价、收盘价线蜡烛的开盘价、最高价、最低价、收盘价 以此类推。以此类推。 。 。 。 。 。注意:这些是数组,用的是方括号。注意:这些是数组,用的是方括号。-_二、预定义变量二、预定义变量 买入价、卖出价是实时价格,买入价、卖出价是实时价格,MT4 用预定义变量用预定义变量 Ask 和和 Bid 表示,数值类型为表示,数值类型为 double 双精度双精度 还有一些预定义变量,如:还有一些预定义变量,如: Bars 表示图表中的蜡烛数,类型为表示图表中的蜡烛数,类型为 int 整数型整数型 Digits 表示当前货币对的小数位,类型为表示当前货币对的小数位,类型为 int 整数型,无日元币对为整数型,无日元币对为 4,有日元币对为,有日元币对为 2,黄金石油等一般也为,黄金石油等一般也为 2 Point 表示当前货币对的点值,类型为双精度表示当前货币对的点值,类型为双精度 double 型,无日元币对为型,无日元币对为 0.0001,有日元币对为,有日元币对为 0.01。与。与 Digits 正好相正好相 反。反。三、指标函数三、指标函数 1、价格、成交量、时间、价格、成交量、时间 它们都有三个参数:货币对名、它们都有三个参数:货币对名、K 线周期、位置序号线周期、位置序号 开盘价:开盘价:iOpen(symbol,timeframe,shift) 双精度双精度 double 型型 收盘价:收盘价:iClose(symbol,timeframe,shift) 双精度双精度 double 型型 最高价:最高价:iHigh(symbol,timeframe,shift) 双精度双精度 double 型型 最低价:最低价:iLow(symbol,timeframe,shift) 双精度双精度 double 型型 成交量:成交量:iVolume(symbol,timeframe,shift) 双精度双精度 double 型型 所属时间:所属时间:iTime(symbol,timeframe,shift) 日期时间日期时间 datetime 型型K 线周期为:线周期为:1 分钟图分钟图(PERIOD_M1)、5 分钟图分钟图(PERIOD_M5)、15 分钟图分钟图(PERIOD_M15)、30 分钟图分钟图(PERIOD_M30)、 1 小时图小时图(PERIOD_H1)、4 小时图小时图(PERIOD_H4)、日线图、日线图(PERIOD_D1)、周线图、周线图(PERIOD_W1)、周线图、周线图(PERIOD_W1)、月线、月线 图图(PERIOD_W1)例例: iOpen(“USDJPY“,PERIOD_H1,0) 表示美元兑日元表示美元兑日元 1 小时图最新小时图最新 K 线蜡烛的开盘价线蜡烛的开盘价 iClose(“EURUSD“,PERIOD_H4,2) 表示欧元兑美元表示欧元兑美元 4 小时图第小时图第 3 根根 K 线蜡烛的收盘价线蜡烛的收盘价 iClose(“GBPUSD“,PERIOD_H1,i) 表示英磅兑美元表示英磅兑美元 1 小时图第小时图第 i+1 根根 K 线蜡烛的收盘价线蜡烛的收盘价 iHigh(NULL,0,0) 既不指定商品既不指定商品,也不指定也不指定 K 线周期线周期,用在谁就是谁用在谁就是谁,用在哪就是哪用在哪就是哪2、移动平均值。双精度、移动平均值。双精度 double 型型 iMA(symbol, timeframe, period, ma_shift, ma_method, applied_price, shift)参数共参数共 7 个,分别为:商品名称、个,分别为:商品名称、K 线周期、均线周期、均线偏移、平均模式、价格种类、位置线周期、均线周期、均线偏移、平均模式、价格种类、位置 均线周期:均线周期:10 天平均线的均线周期为天平均线的均线周期为 10,20 天均线的均线周期为天均线的均线周期为 20 均线偏移:均线位置整体左右移动的位置偏移量均线偏移:均线位置整体左右移动的位置偏移量 平均模式:简单移动平均平均模式:简单移动平均(MODE_SMA)、指数移动平均、指数移动平均(MODE_EMA)、平滑移动平均线、平滑移动平均线(MODE_SMMA)、线性加权移动、线性加权移动 平均线平均线(MODE_LWMA) 价格种类:收盘价价格种类:收盘价(PRICE_CLOSE)、开盘价、开盘价(PRICE_OPEN)、最高价、最高价(PRICE_HIGH)、最低价、最低价(PRICE_LOW)、中值、中值 (PRICE_MEDIAN)、5(PRICE_TYPICAL)、6(PRICE_WEIGHTED)例例 1:iMA(“EURUSD“,PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,0) 表示:欧元表示:欧元 1 小时图上,以收盘价计算的,小时图上,以收盘价计算的,20 小时简单移动平均线,最新小时简单移动平均线,最新 K 线所对应位置的值线所对应位置的值 例例 2:iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,2) 表示:在当前商品、当前表示:在当前商品、当前 K 线周期图表上,以收盘价计算的,线周期图表上,以收盘价计算的,20(天天)指数移动平均线指数移动平均线 第第 3 根根 K 线所对应位置的值线所对应位置的值其他如其他如 MACD 指标、威廉指标、指标、威廉指标、RSI、SAR、布林线等指标取值都与移动平均线指标相类似、布林线等指标取值都与移动平均线指标相类似-_3、在数组中求元素的移动平均值。双精度、在数组中求元素的移动平均值。双精度 double 型型 iMAOnArray(数组名数组名, 总数总数, 平均周期平均周期, 均线偏移均线偏移, 平均模式平均模式, 位置位置) 这也与这也与 iMA 函数差不多,不过数据源变为数组函数差不多,不过数据源变为数组从数组中不但可以求得移动平均值,还可以求得从数组中不但可以求得移动平均值,还可以求得 RSI 等指标值等指标值4、求自定义指标的值、求自定义指标的值 我们经常自己编一些自定义指标,可用我们经常自己编一些自定义指标,可用 iCustom 函数来取得自定义函数的值函数来取得自定义函数的值 iCustom(商品名商品名,K 线周期线周期,自定义指标名称自定义指标名称,自定义指标参数自定义指标参数 1,参数参数 2,参数参数 3,自定义指标线编号自定义指标线编号,位置位置) 如果自定义指标只有一根指标线,则自定义指标线的编号为如果自定义指标只有一根指标线,则自定义指标线的编号为 0。 如果自定义指标有多根指标线,则第一条自定义指标线的编号为如果自定义指标有多根指标线,则第一条自定义指标线的编号为 0,第二条为,第二条为 1,第三条为,第三条为 2。 。 。 例如:例如:iCustom(NULL,0,“mymacd“,12,26,9,2,0) (12,26,9)为自定义指标为自定义指标 mymacd 的三个参数的三个参数 表示:求当前图表中,自定义指标表示:求当前图表中,自定义指标 mymacd(12,26,9)的第的第 3 条指标线在最新位置的值条指标线在最新位置的值抛砖引玉,这里只是有代表性地列了几个函数,详细请查阅抛砖引玉,这里只是有代表性地列了几个函数,详细请查阅MT4 编程手册编程手册 MT4 编程入门编程入门(七七):判断语句:判断语句 一、一、if 语句语句 if 语句很常用,也比较简单。语句很常用,也比较简单。规则:如果小括号中的条件成立,则执行大括号中的语句;如果不成立,则跳过大括号。规则:如果小括号中的条件成立,则执行大括号中的语句;如果不成立,则跳过大括号。 例如:例如: if(a=1)b=c+1;我们在编写报警指标的时候,就经常用到这一语句:我们在编写报警指标的时候,就经常用到这一语句: 如果如果“价格向上达到指定价位价格向上达到指定价位” ,则,则“报警报警” 如果如果“MACD 上穿上穿” ,则,则“报警报警” 如果如果“均线金叉均线金叉” ,则,则“报警报警” 。等等。等等例例:int mark=0;if( High1=1.0000 mark=1; if( Low1>1.0000 mark = 2;return(0); +-部分语句说明:部分语句说明:#property indicator_chart_window此句是把程序放在主图,当然这此例中放在副图也一样此句是把程序放在主图,当然这此例中放在副图也一样extern int 定义一个外部参数变量,整数型,允许外部值修改定义一个外部参数变量,整数型,允许外部值修改 int 定义一个整数型变量定义一个整数型变量 int start() 定义触发函数定义触发函数 if() 判断判断 iHigh() 最高价值函数最高价值函数 iLow() 最低价值函数最低价值函数 iMA() 移动平均线值函数移动平均线值函数 Alert() 报警函数报警函数 Symbol() 商品名称函数商品名称函数 && 逻辑运算符逻辑运算符“并且并且” != 逻辑运算符逻辑运算符“不等于不等于” MODE_SMA 简单移动平均模式简单移动平均模式 PRICE_CLOSE 以收盘价计算以收盘价计算再说一下自定义变量再说一下自定义变量 mark 的作用:的作用:mark 的初值是的初值是 0,当上穿报警时给,当上穿报警时给 mark 赋值赋值 1,当下穿报警时给,当下穿报警时给 mark 赋值赋值 2。这样当这样当 mark 的值为的值为 1 时,说明已经对上穿报过警了,就不能再次对上穿报警;时,说明已经对上穿报过警了,就不能再次对上穿报警;当当 mark 的值为的值为 2 时,说明已经对下穿报过警了,就不能再次对下穿报警。时,说明已经对下穿报过警了,就不能再次对下穿报警。这样就起到了消除重复报警的作用。这样就起到了消除重复报警的作用。

    注意事项

    本文(MT4编程学习入门详解.doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开