MT4智能交易系统编程语言语法规则.pdf
《MT4智能交易系统编程语言语法规则.pdf》由会员分享,可在线阅读,更多相关《MT4智能交易系统编程语言语法规则.pdf(99页珍藏版)》请在三一文库上搜索。
1、MT4 智能交易系统编程语法规则 外汇智能工具网 Http:/BBS.FX-SmartT 语法语法 Syntax 代码格式代码格式 空格建、Tab 键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加你带骂得可读性。 注释注释 多行注释使用 /* 作为开始到 */ 结束,在这之间不能够嵌套。单行注释使用 / 作为开始到新的一行结束,可以被嵌套到多 行注释之中。 示例: / 单行注释 /* 多行 注释 / 嵌套的单行注释 注释结束 */ 标识符标识符 标识符用来给变量、函数和数据类型进行命名,长度不能超过 31 一个字节 你可以使用数字 0- 9、拉丁字母大写 A- Z 和小写
2、a- z(大小写有区分的)还有下划线(_)。此外首字母不可以是数字,标识符不能 和保留字冲突. 示例: / NAME1 namel Total_5 Paper 保留字保留字 下面列出的是固定的保留字。不能使用以下任何保留字进行命名。 数据类型数据类型 存储类型存储类型 操作符操作符 其它其它 bool extern break false color static case true datetime continue double default int else string for void if return switch while 数据类型数据类型 Data types 数据类型概
3、述数据类型概述 主要数据类型有: Integer (int) Boolean (bool) 第 1 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT Char (char) String (string) Floating- point number (double) Color (color) Datetime (datetime) 我们用 Integer 类型数据来作为 DateTime 和 Color 数据的存储。 使用以下方式可以进行类型站换: int (b
4、ool,color,datetime); double; string; Integer 类型类型 十进制十进制: 数字 0- 9;0 不能作为第一个字母 示例: 12, 111, - 956 1007 十六进制十六进制: 数字 0- 9;拉丁字母 a- f 或 A- F 用来表示 10- 15;使用 0 x 或者 0X 作为开始。 示例: 0 x0A, 0 x12, 0X12, 0 x2f, 0 xA3, 0Xa3, 0X7C7 Integer 变量的取值范围为- 2147483648 到 2147483647。 Literal 类型类型 任意在单引号中的字符或十六进制的任意 ASCII 码
5、例如x10都是被看作为一个字符, 一些字符例如单引号(),双引号(),问号(?),反斜杠()和一些控制符都需要在之前加一个反斜杠()进行转意后表示出来: line feed NL (LF) n horizontal tab HT t carriage return CR r reverse slash single quote double quote hexadecimal ASCII- code hh xhh 以上字符如果不经过反斜杠进行转意将不能被使用 示例: int a = A; int b = $; int c = ; / code 0 xA9 int d = xAE; / symb
6、ol code Boolean 类型类型 Boolean 用来表示 是 和 否, 还可以用数字 1 和 0 进行表示。True 和 Flase 可以忽略大小写。 示例: MT4 智能交易系统编程语法规则 第 2 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT bool a = true; bool b = false; bool c = 1; Floating-point number 类型类型 浮点型变量在整数型后面加一个点(.)用来更精确的表示十进制数字。 示
7、例: double a = 12.111; double b = - 956.1007; double c = 0.0001; double d = 16; 浮点型的取值范围从 2.2e- 308 到 1.8e308. String 类型类型 字符串型是用来表示连续的 ASCII 码字符的使用连续的两个双引号来包括需要表示的内容如:Character constant. 示例: This is a character string Copyright symbol txA9 this line with LF symbol n A 1234567890 0 $ Color 类型类型 颜色类型可
8、以使用以下示例里的几种方式进行定义。 示例: / symbol constants C128,128,128 / gray C0 x00,0 x00,0 xFF / blue / named color Red Yellow Black / integer- valued representation 0 xFFFFFF / white 16777215 / white 0 x008000 / green 32768 / green Datetime 类型类型 时间类型使用年、月、日、时、分、秒来进行定义,你可以使用以下示例中的方式来定义变量。 示例: D2004.01.01 00:00 /
9、New Year D1980.07.19 12:30:27 MT4 智能交易系统编程语法规则 第 3 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT D19.07.1980 12:30:27 D19.07.1980 12 /equal to D1980.07.19 12:00:00 D01.01.2004 /equal to D01.01.2004 00:00:00 D12:30:27 /equal to Dcompilation date 12:30:27 D
10、/equal to Dcompilation date 00:00:00 运算符和表达式运算符和表达式 Operations b = 10; x = (y*z)/w; 注:分号(;)是表达式的结束符。 算术运算符算术运算符 Sum of values i = j + 2; Difference of values i = j - 3; Changing the operation sign x = - x; Product of values z = 3 * x; Division quotient i = j / 5; Division remainder minutes = time %
11、60; Adding 1 to the variable value i+; Subtracting 1 from the variable value k- - ; 加减 1 的运算符不能被嵌套在表达式中 int a=3; a+; / 可行的表达式 int b=(a+)*3; / 不可行的表达式 赋值运算符赋值运算符 注:将右侧的结果赋值给左侧的变量 将 x 的值赋值给 y y = x; 将 x 的值加到 y 上面 y += x; 在 y 上面减去 x 的值 y - = x; 得到 y 的 x 倍的值 y *= x; 得到 y 除以 x 的值 y /= x; 取 y 除以 x 后的余数 y
12、%= x; y 向右位移 x 位 y = x; y 向左位移 x 位 y = x; 得到逻辑 AND 的值 y 得到逻辑 OR 的值 y |= x; 得到逻辑非 OR 的值 y = x; 注:一个表达式只能有一个赋值运算符. 关系运算符关系运算符 MT4 智能交易系统编程语法规则 第 4 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT 用返回 0(False)或 1(True)来表示两个量之间的关系。 a 是否等于 b a = b; a 是否不等于 b a !=
13、b; a 是否小于 b a b; a 是否小于等于 b a = b; 真假运算符真假运算符 否定运算符(!),用来表示真假的反面的结果。 / 如果 a 不是真的 if(!a) Print(not a); 逻辑运算符或(|)用来表示两个表达式只要有一个成立即可。 示例: if(xl) Print(out of range); 逻辑运算符和( n+; 位逻辑运算符位逻辑运算符 运算符对操作数执行按位求补操作。 b = n; 运算符对操作数执行向右位移操作。 x = x y; 运算符对操作数执行向左位移操作。 x = x y; 一元 二进制 | 运算符是为整型和 bool 类型预定义的。对于整型,|
14、 对操作数进行按位“或”运算。对于 bool 操作数,| 对操作 数进行逻辑“或”计算,也就是说,当且仅当两个操作数均为 false 时,其结果才为 false。 b = x | y; 为整型和 bool 类型预定义了 二进制操作数。对于整型, 计算操作数的按位“异或” 。对于 bool 操作数, 计算操作 MT4 智能交易系统编程语法规则 第 5 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT 数的逻辑“异或” ;也就是说,当且仅当只有一个操作数为 true 时
15、,其结果才为 true。 b = x y; 注:位逻辑运算符只作用于 Integers 类型 其它运算符其它运算符 索引。定位在数组中 i 位置的值。 arrayi = 3; /将 3 负值到 array 数组第 i 位置上 使用 x1,x2,.,xn 这样的方法将各种值传送到 function 中进行运算。 示例: double SL=Ask- 25*Point; double TP=Ask+25*Point; int ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP, My comment,123,0,Red); 优先级规则优先级规则 下面是从上
16、到下的运算优先规则,优先级高的将先被运算。 () Function call From left to right Array element selection ! Negation From left to right Bitwise negation - Sign changing operation * Multiplication From left to right / Division % Module division + Addition From left to right - Subtraction Right shift Less than From left to r
17、ight Greater than = Greater than or equals = Equals From left to right != Not equal ) 示例: if(x=0) x=1; y=2; z=3; 表达式操作符表达式操作符 任何以分号(;)结束的表达式都被视为是一个操作符。 Assignment operator. Identifier=expression; 标识符=表达式; 示例: x=3; y=x=3; / 这是错误的 一个操作符中只能有一个表达式。 调用函数操作符调用函数操作符 Function_name(argument1,., argumentN); 函
18、数名称(参数1,.,参数N); 示例: fclose(file); 空操作符空操作符 只有一个分号组成(;).我们用它来表示没有任何表达式的空操作符. MT4 智能交易系统编程语法规则 MT4 智能交易系统编程语法规则 第 7 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT 停止操作符停止操作符 一个 break; , 我们将其放在嵌套内的指定位置,用来在指定情况下跳出循环操作. 示例: / 从 0 开始搜索数组 for(i=0;i1) if(y=2) z=5;
19、else z=6; if(xl) if(y=2) z=5; else z=6; / 多项选择 if(x=a) y=1; else if(x=b) y=2; z=3; else if(x=c) y = 4; else Print(ERROR); 选择操作符选择操作符 switch switch (expression) case constant1: operators; break; case constant2: operators; break; . default: operators; break; 当表达式 expression 的值等于结果之一时,执行其结果下的操作。不管结果如何都
20、将执行 default 中的操作。 示例: case 3+4: /正确的 MT4 智能交易系统编程语法规则 第 9 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT case X+Y: /错误的 被选择的结果只可以是常数,不可为变量或表达式。 示例: switch(x) case A: Print(CASE An); break; case B: case C: Print(CASE B or Cn); break; default: Print(NOT A, B
21、or Cn); break; 循环操作符循环操作符 while while (expression) operator; 只要表达式 expression 为真就执行操作 operator 示例: while(kN) y=y*x; k+; 循环操作符循环操作符 for for (expression1; expression2; expression3) operator; 用表达式 1(expression1)来定义初始变量,当表达式 2(expression2)为真的时候执行操作 operator,在每次循环结束后执行 表达式 3(expression3) 用 while 可以表示为这样:
22、 expression1; while (expression2) operator; expression3; ; 示例: for(x=1;x=7;x+) Print(MathPower(x,2); 使用 for(;)可以造成一个死循环如同 while(true)一样. MT4 智能交易系统编程语法规则 第 10 页,共 99 页 外汇智能工具论坛 h t t p :/w w w .Fx -Sm a r t To o l .c o m 外汇智能工具网 Http:/BBS.FX-SmartT 表达式 1 和表达式 3 都可以内嵌多个用逗号(,)分割的表达式。 示例: for(i=0,j=n-
23、l;iN;I+,J- - ) ai=aj; 函数函数 Function 函数定义函数定义 一个函数是由返回值、输入参数、内嵌操作所组成的。 示例: double / 返回值类型 linfunc (double x, double a, double b) / 函数名和输入参数 / 内嵌的操作 return (a*x + b); / 返回值 如果没有返回值那么返回值的类型可以写为 void 示例: void errmesg(string s) Print(error: +s); 函数调用函数调用 function_name (x1,x2,.,xn) 示例: int somefunc() doub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MT4 智能 交易系统 编程 语言 语法 规则
![提示](https://www.31doc.com/images/bang_tan.gif)
链接地址:https://www.31doc.com/p-6064545.html