收藏 分享(赏)

MQL4命令中文详解手册.doc

上传人:精品资料 文档编号:8379595 上传时间:2019-06-23 格式:DOC 页数:266 大小:190.28KB
下载 相关 举报
MQL4命令中文详解手册.doc_第1页
第1页 / 共266页
MQL4命令中文详解手册.doc_第2页
第2页 / 共266页
MQL4命令中文详解手册.doc_第3页
第3页 / 共266页
MQL4命令中文详解手册.doc_第4页
第4页 / 共266页
MQL4命令中文详解手册.doc_第5页
第5页 / 共266页
点击查看更多>>
资源描述

1、1MQL4 ReferenceMQL4 命令手册(本手册采用 Office2007 编写)2010 年 2 月2目录MQL4 Reference.1MQL4 命令手册 .1Basics 基础 .12Syntax 语法 12Comments 注释 12Identifiers 标识符 .12Reserved words 保留字 13Data types 数据类型 13Type casting 类型转换 .14Integer constants 整数常量 .14Literal constants 字面常量 .14Boolean constants 布尔常量 15Floating-point numb

2、er constants (double)浮点数常量(双精度) .15String constants 字符串常量 .15Color constants 颜色常数 16Datetime constants 日期时间常数 16Operations 没有 条件 表达式 1:表达式 2 语句; 没有复合数据类型 (结构 ); 复合负值是不允许的,例如:val1=val2=0; arri+=val; cond=(cnt=OrdersTotal)0; 等等; 逻辑表达式的计算完成前不可以提前终止。Comments 注释多行注释使用 /* 作为开始到 */ 结束,在这之间不能够嵌套。单行注释使用 / 作为

3、开始到新的一行结束,可以被嵌套到多行注释之中。示例:/ 单独注解/* multi-line / 嵌入单独注解comment*/20Identifiers 标识符标识符用来给变量、函数和数据类型进行命名,长度不能超过 31 个字节,你可以使用数字0-9、拉丁字母大写 A-Z 和小写 a-z(大小写有区分的) 还有下划线(_)。此外首字母不可以是数字,标识符不能和保留字冲突. 示例:NAME1 namel Total_5 PaperReserved words 保留字下面列出的是固定的保留字。不能使用以下任何保留字进行命名。数据类型 储存类型 操作符 其他bool 布尔数据 extern brea

4、k falsecolor 颜色数据 static case truedatetime 日期时间数据continuedouble 浮点型数据 defaultint 整型数据 elsestring 字符串数据 forvoid if字符数据 (char) returnswitchwhile21Data types 数据类型所有的程序都依靠数据来运作,数据因目的不同可以有不同的类型 。比如,访问数组可以用整型数据,价格可以用双精度的浮点型数据。在 MQL 4 中没有专门用来标记货币值的数据类型。不同的数据类型有不同的处理速度,整型数据是最快的。 双精度的数据处理需要额外的处理器,所以处理浮点型数据比较

5、复杂, 比处理整型数据慢一些。字符串是处理速度最慢的,因为它要存取动态内存。主要的数据类型如下: 整型数据 (int) 布尔数据 (bool) 字符数据 (char) 字符串数据 (string) 浮点型数据 (double) 颜色数据 (color) 日期时间数据 (datetime) color 和 datetime 可以使我们更清楚的区分图表中的内容,在 expert advisor 和 indicator 中经常使用这些数据类型。颜色和日期时间数据用整数来表示。int 和 double 都属于数值(数字)型。在表达式运算中使用强制的类型转换。Type casting 类型转换表达式中使

6、用强制的数据转换,转换时类型的优先级如下:int (bool,color,datetime);double;string;在运算完成之前(除了数据已被定义的 ),数据会根据优先级被转换。当定义数据的操作完22成前 ,数据会转换成被定义的数据类型。示例:int i = 1 / 2; / 没有类型转换,结果为 0int i = 1 / 2.0; / 表达式中有浮点型数据,但会转换成整型数据,结果为 0double d = 1.0 / 2.0; / 没有类型转换,结果为 0.5double d = 1 / 2.0; / 表达式计算的结果是浮点型数据,和定义的类型一样,结果为 0.5double d

7、= 1 / 2; / 表达式是整型数据的计算,然后被定义为浮点型数据,结果为 0.0类型转换不但运用在常量中,还被运用在相应的变量中。Integer constants 整数常量十进制: 数字 0 - 9 ,包括负数。示例:12, 111, -956 1007十六进制: 数字 0 - 9 , 字面 a - f 或者 A - F 代表 10 - 15; 以 0x 或者 0X 开头。示例:0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7整型数据占用 4 字节的空间,其数值范围介于 -2147483648 2147483647 之间。如果超出这个范围,则视为无效。L

8、iteral constants 字面常量任何带单引号的单一字符或者十六进制的 ASCII 码如 x10 都是字符数据。一些特殊的字符如单引号()、双引号(“) 、问号(?)、反斜线()和控制符必须以反斜线开头(), 组合表达原来的意思,如下表所示:换行 NL (LF) n制表符 HT t23回车 CR r反斜线 单引号 双引号 “ “十六进制 ASCII hh xhh如果上述字符不使用反斜线,结果将不被定义:int a = A;int b = $;int c = ; / 代码 0xA9int d = xAE; /货币对代码 字符数据占用 4 字节的空间。其数值范围介于 0 255 之间。如果

9、超出这个范围,则视为无效。Boolean constants 布尔常量Boolean 用来表示 是 和 否, 还可以用数字 1 和 0 进行表示。True 和 Flase 可以忽略大小写。示例:bool a = true;bool b = false;bool c = 1;它的十进制表示一个长度为 4-byte 的整数值。Boolean 常数可以表示 0 或 1 值。Floating-point number constants (double)浮点数常量(双精度)浮点型数据由整数部分、小数点(.)和小数部分组成,其中整数部分和小数部分为一系列十进制数字。24示例:double a = 12.

10、111;double b = -956.1007;double c = 0.0001;double d = 16;浮点型数据 (双精度)占用 4 字节的空间。其数值范围介于 -1.7 * e-308 1.7 * e308 之间。如果超出这个范围,则视为无效。String constants 字符串常量字符串数据是带有双引号的一连串 ASCII 字符 ,如: “Character constant“。字符串数据是引号里的一组字符,如果字符串中需要插入一个双引号(“) 必须在它前面使用反斜线()。任何特殊字符都必须有前置的反斜线() 才能在字符串中使用。 字符串可以容纳 0 到 255 个字符,如

11、果超过这个长度,右边多余的字符将被忽略,编译器也会有相应的警示。 示例 s:“This is a character string“Copyright symbol txA9“this line contains a line feed symbol n“C:Program FilesMetaTrader 4“A“ “1234567890“ “0“ “$“字符串数据占用 8 个字节的空间。其中第一部分为长的整型存储字符串缓冲区分布的长度。第二部分是 32 位的存储字符串缓冲区的地址。Color constants 颜色常数颜色数据可以用三种方法表示: 字符数据、整型数据或者是颜色名 (只能是

12、Web colors 中已命名的).字符数据的表达方法是用三个数字来表示三种主要颜色:红、绿、蓝的比例。 以 C 开头,25用单引号括住。数字的值在 0 255 之间按比例选取。整数数据的表达方法使用十六进制或十进制数字。十六进制数字如 0x00BBGGRR, 其中 RR 是红色的比例, GG 是绿色的比例,BB 是蓝色的比例。十进制数不能直接体现红绿蓝的比例 ,而是十六进制数字的十进制表示方式。特殊的颜色名可以参考 Web colors set 表。示例:/ 字符数据C128,128,128 / 灰色C0x00,0x00,0xFF / 蓝色/ 颜色名RedYellowBlack/ 整型数据0

13、xFFFFFF / 白色16777215 / 白色0x008000 / 绿色32768 / 绿色颜色数据占用 4 字节的空间。第一个字节一般被忽略,后三个字节包含了红绿蓝的组成信息。Datetime constants 日期时间常数日期时间数据由 6 个部分的字符组成:年、月、日、时、分、秒,以 D 开头, 用单引号括起。日期(年、月、日)或者时间(时、分、秒) 甚至两者一起都可以不用填写。 日期时间数据开始于 1. 1. 1970 截止到 12.31. 2037 示例:26D2004.01.01 00:00 / 新年D1980.07.19 12:30:27D19.07.1980 12:30:

14、27D19.07.1980 12 /等于 D1980.07.19 12:00:00D01.01.2004 /等于 D01.01.2004 00:00:00D12:30:27 /等于 D编译日期 12:30:27D /等于 D编译日期 00:00:00日期时间数据占用 4 字节空间长度的整型数值。其值从 1970 年 1 月 00:00 开始以秒的形式显示总数。Operations b = 10;x = (y * z) /(w + 2) + 127;27一个表达式的最后一个分号(;) 操作符。Arithmetical operations 算术运算算术运算符包括加法和乘法运算:求和 i = j

15、+ 2;求差 i = j - 3;改变运算符 x = - x;求积 z = 3 * x;求商 i = j / 5;求模 minutes = time % 60;自加 1 i+;自减 1 k-;添加 1 的运算符不能使用在表达式中。示例:int a=3;a+; / 有效表达式int b=(a+)*3; / 无效表达式Assignment operation 赋值操作表达式的值包括左边值给出的赋值运算符。把变量 x 的值赋予变量 y y = x;下列表达式中赋值运算符结合了算术运算符或位运算符:在 y 值上加上 x y += x;在 y 值上减去 x y -= x;在 y 值上乘以 x y *=

16、x;28在 y 值上除以 x y /= x;在 y 值上求 x 的模 y %= x;把 y 值向右做 x 位逻辑移位 y = x;把 y 值向左做 x 位逻辑移位 y b;小于等于 b a = b;2 个不规范的浮点型数据不能用 = 或 != 运算符比较,但是我们可以把 2 者相减, 正常化后和 null 进行比较。Boolean operations 布尔运算否定运算符(!),用来表示真假的反面的结果。如果运算值是 FALSE (0) 结果为 TRUE (1);如果运算不同于 FALSE (0)等于 FALSE (0) 。29if(!a) Print(“不是 a“);x 和 y 值的逻辑运算

17、符或 OR (|)用来表示两个表达式只要有一个成立即可。如果 x 和 y 值为真的,表达式值为 TRUE (1)。否则,值为 FALSE (0)。逻辑表达式被完全计算。if(x=max_bars) Print(“超出范围“);x 和 y 值的逻辑运算符 AND (Bitwise operations 位运算运算符对操作数执行按位求补操作。表达式的数字值中包含 1,其中 n 包含 0 和数字值中包含 0 ,其中 n 包含 1。b = n;运算符 x 向右移动到数字 y 代表二进制代码。向右移动是逻辑运算,即左侧将被零填满。x = x y;运算符 x 向右移动到数字 y 代表二进制代码。左侧将被零

18、填满x = x y;二进制的 x 和 y 代表位逻辑运算符 AND 。在所有数组中 x 和 y 的值都不含有零表达式的值包含 1 (TRUE);在所有其他数字中包含 0 (FALSE)。b = (x 二进制的 x 和 y 代表位逻辑运算符 OR。在所有数字中 x 和 y 的值都不等于零表达值包含 1 并且在所有其他数字中包含 0。b = x | y;二进制的 x 和 y 代表位逻辑运算符 EXCLUSIVE 。在所有数字中 x 和 y 的值都不同于二进制值表达值包含 1 并且在所有其他数字中包含 0 。 b = x y;位逻辑运算符只作用于 Integers 类型。30Other operat

19、ions 其他运算指数在数组第一元素的位置,表达式值为 i 的系列数变量值。 示例:arrayi = 3; /数组的 3 的计算值到第 i 个元素。只有整数能够成为数组指数。四维以下的数组是禁止的。每组的检测是从 0 到 测量大小-1。 特定情况下,对于维数组由 50 个元素组成,参照的第一个数组将为0,这样最后一个数组将是49。 获取超出数组,将会发生常规错误 ERR_ARRAY_INDEX_OUT_OF_RANGE, 可以调用 GetLastError() 函数。调用 x1,x2,.,xn 自变数函数每一个自变数可以显示一个常数,一个变量和相应类型表达式。自变数的通过必须根据通道命令。用此函数返回表达式值。如果返回的表达式值为空,一些函数不能进行中转。请确认表达式 x1,x2,.,xn 是按照命令执行的。示例:double SL=Bid-25*Point;int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,Ask+25*Point,“My comment“,123,0,Red);标点操作符从左到右的表达式用标点分开。所有表达式的计算是从左至右的。结果类型和值相互吻合,说明表达式是正确的。参量列表可以作为范例被通过。 示例:for(i=0,j=99; i100; i+,j-) Print(数组ij);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报