外汇智能交易MQL4语言教程(三)

楼主  收藏   举报   帖子创建时间:  2019-05-05 05:46 回复:0 关注量:824
4.2. metaQuotes 4 语言的指令结构
4.2.1. 变量宣告和语句
在计算过程中保存临时数据要求使用变量。变量在本程序的开头部分就用保留字、变量、排列和定义进行了叙述。他允许使用这些词语的负数形式,即 “ Variables, Arrays and Defines”。 这些词中间总有一个开始变量的宣告叙述。这些词语的差别如下: "variable" 语句简单变量,"array"语句排列, "define" 语句附加用户定义的变量,类似于预先界定的用户变量,均可以通过设置对话框进行修改,即从外部修改。然而,又不像预先界定的变量,用户变量可以在程序内部的计算过程中进行更改。

变量宣告语法:
变量:名称(初期值);这里名称就是变量的名字;“初期值”就是变量的起初值。初期值对变量的类型-数字、字串或逻辑值进行界定。
一个数字变量宣告的例子:
Variable : Counter( 0 );
一个字串变量宣告的例子:
Variable : String1( "任意字串" );
一个逻辑变量宣告的例子:
Variable : MyCondition( false );
数组声明语法:
Array : ArrayName[Array length]( 初始值 );其中,数组长度有一个或若干(多达4)个数字-数字 - number[, number [, number [, number]]].

在metaQuotes 4语言里, 数组可能是1-,2-,3-,4-个元素长度,一般情况下,数组就是一组可以用同一个名称查找到的、并按照相继成行定位数组且给定了数组元素的序列号(数)的变量。数组方便于对同样类型的数据排序。数组的一个典型例子就是交易终端的历史数据,比如,收盘、开盘、高点位、低点位、交易量。这些数据作为单一元素数组的。比如, Close[ 5 ] 指后退5个交易期间的收盘值。两个元素的数组可能是一个简单表格,其中第一个分量为行而第二个分量则为列。
Array: MyTable[ 10, 5 ]( 0 ); // 一个10行5列的表格。
...
print( MyTable[ 2, 4 ] ); // 打印第二行的第4个元素
数组可能包括任何类型的数值-数字、字串或逻辑值,但是应该为同一类型,其中的初期值在数组被宣告时为特定的。
附加用户定义变量宣告语法:
定义:名称(初期数);其中名称为变量名称;初期数为变量起初的数字值。

应该注意,附加用户定义变量可能只为数字类型。如上所述,用户定义变量可以在程序的计算过程中进行修改。这些修改只能运用到智能交易系统的当前时段,直到特殊的智能交易系统从图表中删除或客户终端的操作结束。当新的智能交易系统时段启动时,用户定义变量值将重新初始化。
4.2.2. 退出语句
退出报告中断智能系统软件的操作。也就是所谓的预先设定的程序终止。

打赏