7评论

0收藏

MQL4(数据类型)“DATA TYPES”

avatar alizee | 5975 人阅读 | 7 人评论 | 2012-12-03

欢迎来到MQL4课程的第三课。
回顾下上一课的内容:
n 你可以使用什么格式来书写MQL4代码?
n 怎样通过注释使你的程序更加完善?
n 什么是标识符?选择他们有什么规则?
n 什么是MQL4的保留字?
现在,让我们享受本课的乐趣“DATA TYPES”(数据类型)
数据类型是什么意思?
任何程序语言都有一套数据的内存表示的名称。
例如,如果内存保留一个-2147483648 到 2147483647之间的数,那么大多数的程序语言将命名这个数据为“整型数据”(Integer)。
变量?
变量是被提交到内存中的数据的名称。
你可以设想内存是连续的、大小不同的盒子。
l 为了使用一个盒子存储数据,这个盒子必须被赋予一个名称,这个过程被称为“声明”。
l 在“声明”过程,你用一个词告诉计算机你想使用的盒子类型和大小,这个词被称为“关键字”。
l 你还可以给这个盒子起一个好记的或者跟存储数据有关系的名字,这可以方便你以后找到这个数据。这个名字就叫“变量名”。
l 通过“赋值”,可以把数据放进盒子里。
l 我们可以在“声明”变量的同时就给它一个值,这个过程被称为“初始化”。
例如下面的这行代码:
int  MyVaraible=0;
int ß 关键字
int ß 整型数据类型
int ß 声明
MyVaraible ß 变量名
=0 ß初始化
MQL4包括以下数据类型:
■整型数据 (int)
十进制: 数字 0 - 9 ,包括负数。
十六进制: 数字 0 - 9 , 字面 a - f 或者 A - F 代表 10 - 15; 0x 或者 0X 开头。
整型数据占用 4 字节的空间,其数值范围介于 -2147483648 2147483647 之间。如果超出这个范围,则视为无效。
例如:
int intInteger = 0;
int intAnotherIntger = -100;
int intHexIntger=0x12;
■布尔数据 (bool)
Boolean 用来表示 是 和 否, 还可以用数字 1 0 进行表示。TrueFlase可以忽略大小写。
例如:
bool I = true;
bool bFlag = 1;
bool bBool=FALSE;
■字符数据 (char)
任何带单引号的单一字符或者十六进制的 ASCII 码如 '\x10' 都是字符数据。
例如:
'a' , '$' , 'Z'
一些特殊的字符如单引号(')、双引号(")、问号(?)、反斜线(\)和控制符必须以反斜线开头(\), 组合表达原来的意思,如下表所示:
换行             NL (LF)  \n
制表符           HT       \t
回车             CR       \r
反斜线           \        \\
单引号           '        \'
双引号           "        \"
十六进制ASCII    hh       \xhh
我们使用关键字INT创建字符类型。例如:
int chrA = 'A';
int chrB = '$';
int c = '©';      // 代码0xA9
int d = '\xAE';   //货币对代码
■字符串数据 (string)
字符串数据是带有双引号的一连串 ASCII 字符 ,如: "Character constant"
字符串可以容纳 0 255 个字符,如果超过这个长度,右边多余的字符将被忽略,编译器也会有相应的警示。
如果字符串中需要插入一个双引号(") 必须在它前面使用反斜线(\)。(参见字符数据部分)
我们使用关键字STRING来创建字符串数据,例如:
string str1 = "Hello world1, with you coders guru”;
string str2 = "Copyright © 2005, \"Forex-tsd forum\".";  //注意双引号的使用.
string str3 = "1234567890";
■浮点型数据 (double)
浮点型数据由整数部分、小数点(.)和小数部分组成,其中整数部分和小数部分为一系列十进制数字。
浮点型数据 (双精度)占用 4 字节的空间。其数值范围介于 -1.7 * e-308 1.7 * e308 之间。如果超出这个范围,则视为无效。
我们使用关键字double来创建浮点型数据,例如:
double a = 12.111;
double b = -956.1007;
double c = 0.0001;
double d = 16;
double dblNumber3 = 1/4;
■颜色数据 (color)
颜色数据可以用三种方法表示: 字符数据、整型数据或者是颜色名(只能是 Web colors 中已命名的).
字符数据的表达方法是用三个数字来表示三种主要颜色:红、绿、蓝的比例。 以 C 开头,用单引号括住。数字的值在 0 255 之间按比例选取。
整数数据的表达方法使用十六进制或十进制数字。十六进制数字如 0x00BBGGRR, 其中 RR 是红色的比例,GG 是绿色的比例,BB 是蓝色的比例。十进制数不能直接体现红绿蓝的比例 ,而是十六进制数字的十进制表示方式。
特殊的颜色名可以参考Web colors set表。
示例:
// 字符数据
C'128,128,128'    // 灰色
C'0x00,0x00,0xFF' // 蓝色
// 颜色名
Red
Yellow
Black
// 整型数据
0xFFFFFF          // 白色
16777215          // 白色
0x008000          // 绿色
32768             // 绿色
颜色数据占用 4 字节的空间。第一个字节一般被忽略,后三个字节包含了红绿蓝的组成信息。
我们使用color关键字来创建颜色数据,例如:
color clr1= Red;
color clr1= C'128,128,128' ;
color clr1=32768;
Web colors set
TM截图未命名.jpg


■ 日期时间数据 (datetime)
日期时间数据由 6 个部分的字符组成:年、月、日、时、分、秒,以 D 开头, 用单引号括起。
日期(年、月、日)或者时间(时、分、秒)甚至两者一起都可以不用填写。
日期时间数据开始于 1. 1. 1970 截止到12.31. 2037
D'2004.01.01 00:00'     // 新年
D'1980.07.19 12:30:27'
D'19.07.1980 12:30:27'
D'19.07.1980 12'        //等于  D'1980.07.19 12:00:00'
D'01.01.2004'           //等于  D'01.01.2004 00:00:00'
D'12:30:27'             //等于 D'[编译日期] 12:30:27'
D''                     //等于 D'[编译日期] 00:00:00'
我们使用关键字datatime来创建日期时间数据,例如:
datetime dtMyBirthDay= D'1972.10.19 12:00:00';
datetime dt1= D'2005.10.22 04:30:00';

""
还没有人打赏,支持一下

评论|共 7 个

默默盒饭

发表于 2013-1-6 21:07:30 | 显示全部楼层

感谢楼主分享,学习了

竹乐居士

发表于 2013-12-30 21:52:05 | 显示全部楼层

[s:143][s:143]

划接韩国号

发表于 2014-10-30 14:09:23 | 显示全部楼层

感谢分享

FXSIN外汇

发表于 2014-10-31 05:18:59 | 显示全部楼层

多谢分享 看看是什么

点差

发表于 2014-10-31 11:39:36 | 显示全部楼层

看看吧,谢谢分享

丫丫宝贝

发表于 2014-11-2 02:35:38 | 显示全部楼层

回复看看

自强不息

发表于 2014-11-3 03:34:51 | 显示全部楼层

赚钱,赚积分。顶....

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则