EA编程教程第二讲-数据类型

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EA编程教程第一讲-MQL语法

什么是MQL?MetaQuotes Language 4 (MQL4)语言是MT4软件为了编写出执行交易策略的内置编程语言。我们可以通过编写EA(Expert Advisors)来控制MT4客户端按照我们的预先定义好的交易策略来执行外汇交易。另外,我们可以使用mql来编写技术分析指标,脚本和库。

1)MQL的语法

MQL的语法与我们平时见到的C语言语法极其类似,但仍然有以下不一致的地方:

一:没有地址运算符。

二:没有do while操作语句

三:没有goto语句。

四:没有?::语句。

五:没有结构体。

六:不支持复杂的赋值语句,比如 val1=val2=0; arr[i++]=val; cond=(cnt=OrdersTotal)>0;这种复杂语句不被支持。

2)注释

多行注释从/*开始并以*/结束。注释符不能嵌套,只能头尾各一个。单行注释符为//,仅注释一行。我们写程序的时候要养成注释的习惯,可以让程序更好理解,同时MQL编译器自动忽略掉注释的内容。注释的内容只给我们人看,不是给机器看的。比如:

// 这个是单行注释

/* 这个是多行注释

int i = 0;

注释里面爱写什么都行

*/

3)标识符

标识符是程序里面变量,函数,数据类型的名称,长度不能超过31个字符,标识符可以由数字,大小写字母a到z和A到Z,下划线(_),其中第一个符号不能是数字,并且标识符

不能与保留字一样。什么是保留字请看下文。

4)保留字

保留字是MQL语言定义好的单词,每个单词都有这特殊的意义。

保留字如下:

数据类型:bool,color,datetime,double,int,string,void

存储类型: extern,static

操作符:break,case,continue,default,else,for,if,return,switch,while

其他:false,true

课程简介:

什么是MQL?MetaQuotes Language 4 (MQL4)语言是MT4软件为了编写出执行交易策略的内置编程语言。我们可以通过编写EA(Expert Advisors)来控制MT4客户端按照我们的预先定义好的交易策略来执行外汇交易。另外,我们可以使用mq

本课程知识点:

MT4:MT4是一个被广泛使用的外汇交易平台,内含4大类29种常用技术指标。我认为我们只需要了解这些指标就足够了,如果你精力过剩,也可以研究网上近千种技术指标。成交量类指标对外汇市场特点影响,判断趋势的效率不高。

EA:EA就是Expert Adviser的缩写,也就是我们俗称的智能交易,我们可以利用MQL语言来编写EA来实现机器自动交易的目的,它是外汇市场是唯一一个可以进行24小时交易的市场,以我们的作息时间来看我们无法做到24小时连续的交易,因此我们错过了很多好的进场机会。

技术分析:所谓技术分析,泛指利用某些历史资料来判断整个汇市或个别外汇币种价格未来变动的方向和程度的各种分析方法。汇市的基础因素分析和技术分析既相互联系,又相互独立,共同构成对外汇投资的完整的分析。

EA编程教程第二讲-数据类型

所有的程序就是对数据进行操作,我们根据不同的需求对数据定义不同的类型,比如数字类型的数据用于操作数组。价格数据使用浮点型类型数据,MQL本身没有货币类型的数据类型。

不同的数据类型有着不同的处理速度,其中整形处理的最快,double类型的需要特殊处理,所以比整形要慢,string也就是字符串类型处理起来最慢,因为处理字符串需要动态的分

配和释放内存,对内存的操作比较频繁。

以下是常用的数据类型

1)int,整型,它就是我们常见的整数,入1,-100,908等等。它的范围为

-2147483648 to 2147483647,如果超出这个范围,则会程序会提示异常。

2)bool,布尔型。它的值只有两个,true或false。Bool型其实就是个int类型,不过它的值被限定为1:true和0:false。例如:

bool a = true;

bool b = 0; //b的值为false

3)char, 字符型:它的内部也是int型,范围为0到255。如果超过这个范围,则程序会提示异常。我们不直接使用char,而是使用int,如:

int a = 'a';

int b = 'c';

4)string 字符型,字符型可以保存字符串如:

string a = "这是一个字符串";

5)double 浮点型,用于保存含有小数的数字如:

double a = "1.23";

double b = "-90.98";

6)color 颜色类型,颜色类型的内部实现,其实也是一个int型。

7)datetime 时间类型,时间类型的内部其实也是个int型,它的实际值为1970-1-1到指定时间的秒数。时间类型的赋值如:

datetime d = D'2010.1.1 12:3:4'

datetime c = D'2010.2.3 3:56';

课程简介:

所有的程序就是对数据进行操作,我们根据不同的需求对数据定义不同的类型,比如数字类型的数据用于操作数组。价格数据使用浮点型类型数据,MQL本身没有货币类型的数据类型。

本课程知识点:

MT4:MT4是一个被广泛使用的外汇交易平台,内含4大类29种常用技术指标。我认为我们只需要了解这些指标就足够了,如果你精力过剩,也可以研究网上近千种技术指标。成交量类指标对外汇市场特点影响,判断趋势的效率不高。

EA:EA就是Expert Adviser的缩写,也就是我们俗称的智能交易,我们可以利用MQL语言来编写EA来实现机器自动交易的目的,它是外汇市场是唯一一个可以进行24小时交易的市场,以我们的作息时间来看我们无法做到24小时连续的交易,因此我们错过了很多好的进场机会。

技术分析:所谓技术分析,泛指利用某些历史资料来判断整个汇市或个别外汇币种价格未来变动的方向和程度的各种分析方法。汇市的基础因素分析和技术分析既相互联系,又相互独立,共同构成对外汇投资的完整的分析

EA编程教程第三讲-数据类型转换

MQL语言目前仅支持隐式转换,MQL目前可以做一下数据类型自动转换。

int(bool, color, datetime) 可转换成 double 或 string

double 可转换成 string,除了以上两种转换外,不能进行其他的数据类型转换,如:

相关文档
最新文档