电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

mt4编程入门教程

26页
  • 卖家[上传人]:suns****4568
  • 文档编号:60809392
  • 上传时间:2018-11-18
  • 文档格式:PDF
  • 文档大小:324.85KB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、MT4 编程入门教程编程入门教程 MT4 编程入门 1:MT4 自定义指标的基本操作.1 MT4 编程入门 2:指标源码中的常用符号说明7 MT4 编程入门 3:自定义变量8 MT4 编程入门 4:自定义函数9 MT4 编程入门 5:自定义数组10 MT4 编程入门 6:市场数据取值11 MT4 编程入门 7:判断语句14 MT4 编程入门 8:循环15 MT4 编程入门 9:MT4 自定义指标的结构.17 MT4 编程入门 10:画一条指标线19 MT4 编程入门 11:MT4 的报警.24 MT4 编程入门编程入门 1:MT4 自定义指标的基本操作自定义指标的基本操作 MT4 自定义指标的保存目录、指标编缉器与指标调用 一、MT4 自定义指标保存在 C:Program FilesMetaTrader 4expertsindicators 这个目录中, 该目录中主要有二种类型的文件,一种是 mq4 文件,这是 MT4 自定义指标的源码文件,是 一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在 MT4 启动时自动编译为 ex4 可执行文件。 另一种就是 ex4 文件, 这是

      2、 MT4 自定义指标的可执行文件,由 mq4 文件编译得到。 mq4文件必须编译为ex4文件才 能被 MT4 执行。但 ex4 文件是机器 码文件,人工不可修改 另 外 还 有 一 个 文 件 是 mqlcache.dat,它用来保存目录中的 文件信息, 如果 MT4 无法自动编译, 只要删除此文件即可解决问题。 mq4文件编译为ex4可执行文件 有两种方法: 1、MT4 启动时,会自动把此目 录中的 mq4 文件编译为 ex4 文件。 1 2、用 MQ 语言编辑器打开 mq4 文件,点一下“编写”按钮,即可生成 ex4 文件 二、下载保存 mq4 文件、ex4 文件 在论坛上我们经常看到有 mq4 文件、ex4 文件可供下载,我们只要把 它们保存到 C:Program FilesMetaTrader 4expertsindicators 这个目录, 也就是下面这个目录中, 就可以了。 如果下载的是 ex4 文件,那可以 直接调用;如果是 mq4 文件,则 需 要重启动 MT4,让系统自动 编译生成 ex4 可执行文件。如果 下载的是 rar、zip 等类型的压缩 文件,还必须下载后解

      3、压到此目 录才能使用。 三、将源码保存为源码文件 在论坛上,我们也经常能看到指标源码贴在网页上,但没有 mq4、ex4 等文件可以下载, 只能复制源码。此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单, 多点几下鼠标就搞定。 1、打开 MQ 语言编辑器 2、在 MQ 语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。 2 3 3、删除新文件里面的所有内容,成为一个空文件, 4、接着我们就可以将网页上源码复制粘贴进来 试着点一下“编写” ,如果左下角出现“0 错误,0 警告” ,那说明源码没问题,编译通过 了,成功生成了 ex4 可执行文件 4 5、还有很重要的一点,就是要把源码文件保存到正确的目录中 5 保存后,再点一下编写。 到此,源码保存完成。 当然,我们也还有另的办法: 可以打开一个原已存在的 mq4 文件,然后另存为你需要的文件名,再删除文件中的所有 内容成为空文件,把网页上的源贴到文件中保存即可 也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到 上面提到的目录,不过文件后缀必须输入 mq4,保存类型选择“所以文件” 四

      4、、mt4 程序调用自定义指标 这非常简单 6 MT4 编程入门编程入门 2:指标源码中的常用符号说明:指标源码中的常用符号说明 一、注释符:单行注释“/” 、多行注释“/* */” 程序不执行注释,注释内容仅供阅读或保留不用的语句 在 MQ 语言编辑器中,注释内容以灰色显示 二、分号“; ” 表示一个语句结束 三、逗号“, ” 表示一个语句内部间隔,不结束语句。 四、等于号“=” 赋值语句,把等号后面的值赋给等号前的变量中 五、加号“+” 整数或小数,则表示值相加;字符串,则表示前后连接。 六、加加“+” 表示把符号前的变量值加 1,例如: “i+;” 这实际上就是: “i=i+1;”的简写,表示 i 的值加 1 七、加等于“+=” 7 8 表示把符号后的值加到符号前的变量中。例如“i+=2;” ,实际上就是“i=i+2;”的简写, 表示 i 的值加 2 八、双等号“=” 等于号。用于逻辑判断,双等号前后值相等,则返回逻辑值“真 true” ;双等号前后值不 相等,则返回逻辑值“假 false” 九、叹号等号“!=” 不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值“真 tru

      5、e” ;不等号前后 值相等,则返回逻辑值“假 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); 二、函数类型与类型符 10 函数类型就是函数返回值(运算结果)的类型,与自定义变量类型差不多 有整型(

      6、int)、双精度型(double)、字符串型(string)、逻辑型(bool)等, 还有一种函数是以函数运行为目的,运行结束后不需要返回值也没有返回值的,则函数 类型可以写成 void(无值型) 三、函数中如果定义了自定义变量,那么此变量仅在本函数内部存在,函数运行结束时, 自定义变量也就自动注销。 上例中,有 x、y、temp 三个自定义变量,在函数运行时创建,在函数运行结束时自动消 失,仅在函数内部有效,与函数外部无关。 四、函数的调用 函数调用非常简单,只要函数名正确、参数个数一致、类型相同就能正确调用 如我们前面创建了 ft(x,y)函数,则别处我们可以用 ft(4,5)等样式来调用 ft(x,y)函数求值。 调用时,传递参数值给 ft(x,y)函数(按顺序把 4 传给 x,把 5 传给 y),返回结果 23 后继续 执行主程序。 MT4 编程入门编程入门 5:自定义数组:自定义数组 一、数组是一系列同类型变量的集合,可以同时存储多个数值。 例:int aa4=4,3,2,1; 这是一个数据名为 aa、包含了 4 个元素的整数型数组(即数组长度为 4),可以同时存储 4 个数

      7、值。 二、自定义数组也必须“先建立,后使用” 创建(定义)时,必须设定类型和名称。 创建(定义)时,数组的元素个数也可以设定,也可以不设定 数组中第一个元素的编号为 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 个元素赋初值 三、数组使用时的赋值 11 数组的赋值必须指定明确的赋值对象,除了新建数组时可以批量赋值外,数组元素必须 一个一个赋值 例如:dd2=1; 这是对数组 dd 的第 3 个元素 dd2(0是第 1 个,2表示第 3 个)重新赋值为 1 在这里,没有整数型变量定义符 int, 这

      8、样,数组 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 编程入门编程入门 6:市场数据取值:市场数据取值 一、预定义数组(MT4 已经定义好的,可以直接使用) 开盘价、最高价、最低价、收盘价、成交量等历史数据,每根 K 线蜡烛都各有一个,所 以必须用数组来解决问题,MT4 有几个预定义数组: 开盘价 Open、最高价 High、最低价 Low、收盘价 close、成交量 Volume、所属 时间 Time 类型为双精度 double 型(即精确小数) 这里有一个位置的问题, 右边第一根 K 线蜡烛(即最新的蜡烛)的编号为 0, 第二根蜡烛编 号 1,第三根蜡烛编号 2,也就是说从右向左倒着数过去。

      9、Open0、High0、Low0、Close0,表示最新的开盘价、最高价、最低价、收盘价 Open1、High1、Low1、close1,表示第 2 根 K 线蜡烛的开盘价、最高价、最低价、收 盘价 Open2、High2、Low2、close2,表示第 3 根 K 线蜡烛的开盘价、最高价、最低价、收 盘价 12 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

      《mt4编程入门教程》由会员suns****4568分享,可在线阅读,更多相关《mt4编程入门教程》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.