BEGIN
IF CLOSE>REF(CLOSE,1) then
x:=1;
ELSE
x:=0;
result:example1(x);
END
以上这一段从“BEGIN”到“END”的代码是主程序部分。在执行代码时,仍然是从主程序的第一行开始逐行执行的。一开始的IF语句判断当前收盘价是否前一周期的收盘价高,然后根据结果分别设置X的值。这个值作为自定义函数“example1”参数进行计算。
如同可以用“spj:close;”这样一条语句调用close函数一样,这里,“result:example1(x);”这条语句就调用了自定义函数“example1”。
FUNCTION example1
INPUT:
x;
VARIABLE:
y(0);
BEGIN
IF x=1 then
BEGIN
y:=x+1;
return y;
END
ELSE return x;END
在用“FUNCTION”声明函数名“example1”后,就可以像写一般的公式一样,声明参数和变量。然后在“BEGIN”到“END”之间写函数主体。最后,如果需要返回值,则可以在需要的地方用“return A”来将“A”作为函数的运算结果返回给主程序。
以上的例子就是判断参数X的值,然后根据结果返回不同的数值。