2.2 麦语言的常量与变量

2.2 麦语言的常量与变量


在麦语言编程中,数据可以以常量的形式出现,也可以以变量的形式出现。常量在程序执行期间不发生变化,而变量的值是可变的,它代表内存中指定的存储单元。

2.2.1 常量

麦语言的常里可分两种,分别是直接常量和数据常量。

1. 直接常量

直接常量是指在程序代码中以直接明显的开式给出的数,如1、5 、30 、0.10.75 、100 、1024 等。

2. 数据常量

数据常量来惊于每日行情数据,这些数据由历史数据引用函数从数据库中按照一定的方式提取。例如,高开低收(HIGH 、OPE N 、LOW 、CLOSE) ,成交量( VOL ) ,持仓量(OPI) ,昨收盘(YCLOSE) ,买1 (BID1 ),结算(SETTLE) 等。

2.2.2 变量

变量是擂程序执行过程中其值可以变化的量,系统为程序中的每一个变垦分配一个存储单元。变量名实质上就是计算机内存单元的命名。因此,借助变量名就可以访问内存中的数据了。每个变量都有一个名字,通过名字就可以引用变旦了。

1. 命名规则

变量是一个名字,支持汉字、字母、数字、下划线格式命名, 长度控制在31 字符内。

需要注意的是,变量名不能和己存在的公式名称重复。变量名不能相互重复,也不能与参数名重复, 更不能与函数名重复。

2. 定义变量操作符

定义变量操作符, 一共有四个, 分别是:"、":="、"^^"和".."。

赋值i吾句和中间语句用到了":"和":="两个定义变量操作符。

另外两个定义变量操作符"^^"和".."分别表示定义以主图附加坐标方式显示和以独立坐标方式显示的指标线,如表2.1 所示。

下面通过具体实例来说明一下。

打开赢智程序化交易软件,单击导航栏左侧的"模型",然后在空白处单击右键,在弹出菜单中单击"新建公式",弹出"My Language (麦语言)趋势跟踪模型编写平台一新建趋势跟踪模型"对话眶。然后编写代码如下:

//定义均线,并显示

MA5:MA(CLOSE, 5); //定义5 日均线并显示

MA10:MA(CLOSE , lO); //定义10 日均线并显示

第一句代码的意思是5 日均线的定义,即先定义变量MA5 ,然后利用":"为变量赋值。赋值日才引用了MA( )函数,即均线函数。均线函数的语法及注意事项如下:

MA(X, N) ,求X 在N 个周期内的简单移动平均。

算1去: MA(X, 5)=(X1+X2+X3+X4+X5)÷5

注意:

(1) N 包含当前K 钱。

(2) 简单移动平均线沿用最简单的统计学方式,将过去某特定时间内的价格取其平均值。

(3) 当N 为有效值,但当前的K 线数不足N 根, 函数返回空值。

(4) N 为0 或空值的情况下,函数返回空值。

(5) N 可以为变量。

第二句代码的意思与第一句代码的意思几乎一样,只是10 日均线的定义。

代码编写完毕后,然后单击菜单栏中的"检测/语法检测"命令,就可以看到"恭喜您,测试成功1" ,如图2.1 所示。

保存代码。单击菜单程中的"文件/保存"命令,保存文件为" MYMA1" 。

下面来加载程序模型文件。首先打开沪铜指数的日K 线图,如图2.2所示。

选择沪铜指数的日K 线图中的均线,然后单击右键,在弹出菜单中单击"删除指标"命令,就可以删除均线,如图2.3 所示。

下面利用刚才编写的程序模型文件,来加载5 日和10 日均线。双击"MYMA1" 文件,就在沪铜指数的日K 线图中显示5 日和10 日均线,如图2.4所示。

下面来修改代码,只显示5 日均线。定义10 日均线变量,只做为中间变量,不显示,具体代码如下:

MA5 : MA(CLOSE, 5) ; //定义5 日均线并显示

MA10 :=MA(CLOSE, 10); //定义10 日均线不显示

修改代码后,接下键盘上的"Ctrl+S"键,保存文件,然后再双击"MYMA1"文件,就在沪铜指数的日K 线图中只显示5 日,10 日均线不再显示,如图2.5所示。