QQ1554830979 发表于 2011-9-26 06:04:38

[转帖][排版重发]mql4 的一些基础语法知识(初学者适用)

第一节 语法
代码格式
空格建、Tab键、换行键和换页符都可以成为代码排版的分隔符,你能使用各种符号来增加代码的可读性。
注释
多行注释使用 /* 作为开始到 */ 结束,在这之间不能够嵌套。单行注释使用 // 作为开始到新的一行结束,可以被嵌套到多行注释之中。
示例:
// 单行注释
/* 多行
注释 // 嵌套的单行注释
注释结束 */


标识符
标识符用来给变量、函数和数据类型进行命名,长度不能超过31个字节
你可以使用数字0-9、拉丁字母大写A-Z和小写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




第二节 数据类型
数据类型概述
主要数据类型有:

* Integer (int)
* Boolean (bool)
* ?èò?eà?? (char)
* String (string)
* Floating-point number (double)
* Color (color)
* Datetime (datetime)

我们用Integer类型数据来作为DateTime和Color数据的存储。
使用以下方式可以进行类型站换:
int (bool,color,datetime);
double;
string;


Integer 类型
十进制: 数字0-9;0不能作为第一个字母
示例:
12, 111, -956 1007

十六进制: 数字0-9;拉丁字母a-f或A-F用来表示10-15;使用0x或者0X作为开始。
示例:
0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7

Integer 变量的取值范围为-2147483648到2147483647。

Literal 类型
任意在单引号中的字符或十六进制的任意ASCII码例如\'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 0xA9
int d = \'xAE\'; // symbol code ?


Boolean 类型
Boolean 用来表示


否, 还可以用数字 1 和 0 进行表示。True和Flase可以忽略大小写。
示例:
bool a = true;
bool b = false;
bool c = 1;


Floating-point number 类型
浮点型变量在整数型后面加一个点(.)用来更精确的表示十进制数字。
示例:
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 类型
颜色类型可以使用以下示例里的几种方式进行定义。
示例:
// symbol constants
C\'128,128,128\' // gray
C\'0x00,0x00,0xFF\' // blue
// named color
Red
Yellow
Black
// integer-valued representation
0xFFFFFF // white
16777215 // white
0x008000 // green
32768 // green


Datetime 类型
时间类型使用年、月、日、时、分、秒来进行定义,你可以使用以下示例中的方式来定义变量。
示例:
D\'2004.01.01 00:00\' // New Year
D\'1980.07.19 12:30:27\'
D\'19.07.1980 12:30:27\'
D\'19.07.1980 12\' //equal to D\'1980.07.19 12:00:00\'
D\'01.01.2004\' //equal to D\'01.01.2004 00:00:00\'
D\'12:30:27\' //equal to D\' 12:30:27\'
D\'\' //equal to D\' 00:00:00\'

第三节 运算符和表达式
表达式
一个表达式可以拥有多个字符和操作符,一个表达式可以写在几行里面。
示例:
a++; b = 10; x = (y*z)/w;

注:分号(;)是表达式的结束符。
算术运算符
Sum of values i = j + 2;
Difference of values i = j - 3;
Changing the operation sign x = - x;
roduct of values z = 3 * x;
Division quotient i = j / 5;
Division remainder minutes = time % 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 %= x;
y向右位移x位 y >>= x;
y向左位移x位 y y)
rint(\"true\");
n++;


位逻辑运算符
~ 运算符对操作数执行按位求补操作。
b = ~n;

>> 运算符对操作数执行向右位移操作。
x = x >> y;

= Greater than or equals
== Equals From left to right
!= Not equal
& Bitwise AND operation From left to right
^ Bitwise exclusive OR From left to right
| Bitwise OR operation From left to right
&& Logical AND From left to right
|| Logical OR From left to right
= Assignment From right to left
+= Assignment addition
-= Assignment subtraction
*= Assignment multiplication
/= Assignment division
%= Assignment module
>>= Assignment right shift

xiwa2012 发表于 2012-11-21 23:00:23

呵呵 高高实在是高~~~~~

q543777345 发表于 2012-11-21 23:00:23

先看看怎么样!

xiaodong 发表于 2012-11-22 02:18:00

好困啊

oxp 发表于 2012-11-22 02:18:00

这个贴不错!!!!!

bjsam68 发表于 2012-11-22 02:18:00

(*^__^*) 嘻嘻……   

ea流氓 发表于 2012-11-22 02:18:00

真的有么

后山俗人 发表于 2012-11-22 02:18:00

顶下再看

香港第一金 发表于 2012-11-22 02:18:00

必须顶

wilf528 发表于 2012-11-22 02:18:00

抢座位来了
页: [1] 2 3
查看完整版本: [转帖][排版重发]mql4 的一些基础语法知识(初学者适用)