在公式中,我们可以申明一个数组,一个数组就像是一个有很多抽屉的柜子,可以在每个抽屉里放置不同的内容。例如ABC[5]就申明了一个长度为5的数组,以后就可以对这10个位置进行赋值,例如:
ABC[0]:=REF(CLOSE,1);
ABC[1]:=REF(CLOSE,2);
ABC[2]:=REF(CLOSE,3);
ABC[3]:=REF(CLOSE,4);
ABC[4]:=REF(CLOSE,5);
需要注意的是,数组下标是从0开始的,即长度为5的数组ABC,范围是从ABC[0]到ABC[4]。注意不要数组下标越界,例如写出ABC[5]。这会引起错误。
我们看到,如果需要大量重复性的操作的时候,这样一条条语句的写是很笨的。如果是一千条呢?显然手工完成是不现实的。对于这种情况,可以用for语句来实现。
别名:无
所属类别:控制语句
参数数量:0
FOR循环语句
用法:
语法:
FOR var=n1 TO n2 DO expr;
从 var=n1 开始到 var=n2 开始循环执行 expr 语句,每执行一次var加1
FOR var=n1 DOWNTO n2 DO expr2;
从 var=n1 开始到 var=n2 开始循环执行 expr 语句,每执行一次var减1
当程序执行到FOR 语句时,只要条件满足,则会重复执行FOR语句里的内容。例如刚才的例子就可以写做:
For i=0 to 4 do
Begin
ABC[i]:=REF(CLOSE,i+1);
End
语句第一次执行时,i=0,因此,ABC[i]:=REF(CLOSE,i+1);就是ABC[0]:=REF(CLOSE,1);然后重复执行for语句,第二次执行时,i自动加1,变成1,则ABC[i]:=REF(CLOSE,i+1);就是ABC[1]:=REF(CLOSE,2);以此类推,直到i=4为止。这个也可以设置为不同的条件。以此达到我们批量处理的目的。但需要注意的是,一定要让for循环可以终止,否则,如果条件一直不满足终止条件(此处是i=4),则for语句会一直循环执行下去,造成死循环,严重浪费系统资源,程序也会因此死机。