ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:23.82KB ,
资源ID:1718719      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1718719.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MT4编程初级手册课件doc.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MT4编程初级手册课件doc.docx

1、MT4编程初级手册课件docMT4 编程初级手册 (2):指标源码中常用符号的说明一、注释符:行注释:单行的注释使用“ /”;块注释:多行的注释使用“ /* */ ”程序不执行注释,注释内容仅供阅读或保留不用的语句,编译时不进行编译。在 MQ 语言编辑器中,注释内容以灰色显示。二、分号“; ”语句结束符,表示一个语句结束。三、逗号“, ”分隔符,表示一个语句内部间隔,不结束语句,通常用于变量与变量之间,参数之间。四、等于号“ =”赋值运算符,作用为把等号后面的值赋给等号前的变量中。五、加号“ +”运算符。对于整数或小数,则表示值相加;对于字符串,则表示前后连接。六、加加“ +”自增运算符, 表

2、示把符号前的变量值加 1,例如:“i+; ” 实际上进行的运算就是: “i=i+1; ”的简写,表示把 i 的值加 1。七、加等于“ +=”表示把符号后的值加到符号前的变量中。例如“ i+=2; ”,实际进行的运算就是“ i=i+2; ”的简写,表示 i 的值加 2。八、双等号“ =”逻辑判断符,等于号。用于逻辑判断,双等号两边值相等,则返回布尔值“真 -true”;双等号两边值不相等,则返回布尔值“假 -false”。九、叹号等号“ !=”逻辑判断符,不等于号。用于逻辑判断,不等号两边值不相等,则返回布尔值“真 -true”;不等号两边值相等,则返回布尔值“假 -false”。十、“& ”逻

3、辑判断符“与” ,“并且”。十一、“|”逻辑判断符“或者” 。十二、大括号“ ”用以表示函数体,在其中写函数的语句。 内部为函数体语句。MT4 编程初级手册 (3):自定义变量一、自定义变量在使用前,必须先声明 (定义),向系统声明变量的类型和名称。创建时可同时进行赋值(赋默认值) ,也可以不赋值。 MQ 语法中自定义变量的名称可以使用中文字符。例子:int flag; 创建一个整型变量,变量名为“ flag”。bool 是否报警 =flase; 创建一个布尔型变量, 变量名为 “是否报警” ,同时,赋初值“flase”二、变量类型和类型定义关键词自定义变量的基本类型有:1、整形 (int)

4、:就是整数,包括负整数;2、双精度浮点数 (double):可以简单地理解为带小数位的数;3、字符串型 (string) ;4、布尔型 (bool) :其值分别为“ true、false”,即“真、假” ,也可以写成“ 1、0”(1 真,0假)。类型定义词仅在创建和声明变量时时候使用,后面使用再变量时,如进行运算时,就不能再加这些类型定义词了。三、附加变量(参数)附加变量就是在程序完善后投入使用时,变量值允许用户自由更改的变量,一般用作程序参数。一般指标,例如 MACD(12,26,9) 参数输入就是通过附加变量实现的, (12,26,9)分别为三个附加变量值。定义附加变量只需在变量定义语句前

5、加“ extern”例:extern int 时间框架 =9; 创建一个整型附加变量,变量名为“时间框架” ,默认值为 9,允许用户在程序外部修改参数值,或进行参数优化。MT4 编程初级手册 (4):自定义函数大家可以将自定义函数与数学函数在本质上看作是是一致的, 在程序中需要用到的地方直接以函数名来调用。例如:数学函数 fuc(x,y)=5x+6y (x,y 为正整数 ) 写成程序语句就是:double fuc(double x,double y)double temp;temp=5*x+6*y;return(temp);一、同自定义变量一样, 自定义函数在付诸使用前,也必须先声明设立,应定

6、义其返回值类型、名称、参数和函数体(运算处理语句) 。函数返回值类型、名称、参数位于的函数头部 (参数间以逗号分隔 ),大括号中的是运算语句或者处理语句,也就是函数体部分。return 语句为函数结束语句, return 后面的括号中的值为函数返回值, 即函数运算处理结果。在上面例子中, double 为函数类型,表示该函数的返回值 (运算结果 )是小数;x,y 为参数, 由于自定义变量使用之前都必须先声明, 否则函数不知道参数的类型, 所以要加上类型定义关键词 double;fa 为函数名,有了函数名,我们就可以在需要使用的地方用 fa(2,1)的格式来调用此函数;函数体部分有三个语句:第一

7、句,定义一个整形变量 temp(函数内部使用的变量) ;第二句,用我们设定的规则计算 temp 的值;第三句,函数结束,返回调用点,以 temp 的值作为本函数返回值。此函数也可以简写为: double fa(double x,double y) return(5*x+6*y);二、函数的类型与类型符函数的类型就是函数返回值 (运算结果 )的类型,与自定义变量类型一致。包括整型 (int) 、双精度浮点型 (double)、字符串型 (string)、布尔型 (bool) 等,还有一种函数是以函数运行或进行一定的处理为目的,运行结束后不需要返回值也没有返回值的,则函数类型可以在声明中写成 vo

8、id( 无值型 )三、函数中如果需要定义自定义变量, 那么此变量作用域仅在本函数内部, 函数运行结束时,这个自定义变量也就自动注销了。上例中,有 x、y、temp 三个自定义变量,在函数运行时被声明创建,在函数运行结束的时侯自动消失,仅在函数内部有效,与函数外部无关,外部不可使用这些变量,需要注意的是外部可以使用与内部同名的变量但不影响内部的变量, 不过为了程序的清晰性, 不建议大家这么做。四、函数的调用函数调用非常便捷,只要函数名正确,参数个数一致,类型相同就能够正确的调用。如我们前面创建了一个 fa(x,y) 函数,在程序的别处我们可以用 ft(4,5) 等样式来调用 fa(x,y)函数运

9、算求值。调用时,传递参数值给 fa(x,y) 函数(按次序把 4 传给 x,把 5 传给 y),返回结果 22 后继续向下执行主程序。MT4 编程初级手册 (5):自定义数组一、数组是一组同类型变量的集合, 可以以一个名称同时存储多个数值,由索引来调用,在实现我们 EA 的算法时是一个非常重要的工具。例:int arrai5=5,4,3,2,1;这是一个数组名为 arrai、包含了 5 个元素的整数型数组 (即数组长度 length 为 5),可以同时存储 5 个数据。二、自定义数组也必须遵循“先声明,后使用”原则声明(创建)时,必须设置类型与名称;声明(创建)时,数组的数据元素个数可以设定也

10、可以不设定;数组中第一个元素的索引编号为 0,第二个为 1,以此类推。 编号使用方括号跟在数组的后面;在这上例中 arrai0 的值为 5、aa1的值为 4、aa2的值为 3、aa3的值为 2、aa4的值为1.声明(创建)数组的同时,可以赋初始值,也可以不赋初始值。例:int aa; 创建数组 aa,不指定数据元素的个数;int bb10; 创建数组 bb,设定数据元素为 10 个,不赋给这些数据元素初始值;int cc3=3,4,5; 创建数组 cc,设定数组元素为 2 个,并赋给初始值;赋值后, cc0 的值为 3、cc1 的值为 4、cc2的值为 5;int dd7=5,6,7; 创建数

11、组 dd,设定数组元素为 7 个,但只给前 3 个元素赋初始值。三、数组使用时的赋值数组的赋值必须指定明确的将要赋值对象的索引,除新建数组时可以批量赋值以外,数组元素必须一个一个地赋值。例如: cc1=5 ;这个是对数组 cc 的第 2 个元素 cc1 (0是第 1 个,1表示第 2 个)重新赋值为 5。在这里,不需要整数型变量定义符 int,这样,数组 cc 原有三个值 3,4,5 就变为 3,5,5四、数组的引用数组是一系列相同类型的变量的集合,所以每次只能使用数组中的一个元素。数组的引用必须指定明确的引用对象索引值, 一次只能引用一个。 如果需要使用整列数组,则必须逐个使用。在程序中经常

12、使用循环与数组相互配合来完成相应的功能。例如:数组 arrai5 的值为 5,4,3,2,1我们用数组名称 arrai 加索引值来引用数组 arrai 中的值:当 i=0 时,aai的值为 5;当 i=1 时,aai的值为 4;当 i=2 时,aai的值为 3;当 i=3 时,aai的值为 2;当 i=4 时,aai的值为 1;MT4 编程初级手册 (6):市场数据取值一、预定义数组( MT4 已经预先定义好了的,可直接调用)开盘价、 最高价、 最低价、 收盘价、 成交量等市场历史数据, 每根 K 线实体都各自有一个,所以必须使用数组来调用, MT4 有几个预定义数组,预定义的意思就是这些数据

13、都是被准备好了的, EA 的开发者可以直接使用 :预定义数组: 开盘价 Open 、最高价 High 、最低价 Low 、收盘价 close 、成交量 Volume 、K 线所属时间 Time类型为双精度浮点 double 型(即精确小数)这里有一个引用顺序或位置的问题,从右边起第一根 K 线实体 (即最新的 K 线)的索引为 0,第二根 K 线索引 1,第三根 K 线索引 3,以此类推,也就是说从右向左倒着数过去,最近的数值小,而越远的数值越大。Open0 、High0 、Low0 、Close0 ,表示最新的开盘价、最高价、最低价、收盘价;Open1 、High1 、Low1 、close

14、1 ,表示第 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 双精度

15、浮点类型。还有一些预定义变量,如:Bars 表示图表中的 K 线数,类型为 int 整数型;Digits 表示当前货币对的小数位数,类型为 int 整数型,无日元币对为 4(位),有日元币对为 2(位),黄金石油等一般也为 2(位);Point 表示当前货币对的点值(相当于最小变动价位) ,类型为双精度浮点 double 型,无日元币对为 0.0001,有日元币对为 0.01。与 Digits 正好相反。三、指标函数1、价格、成交量、时间它们都有三个参数:货币对名(相当于品种名) 、K 线时间框架、位置序号。开盘价: iOpen(symbol,timeframe,shift) 双精度浮点 double 型;收盘价: iClose(symbol,timeframe,shift) 双

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1