下面的公式用在03合约上找最大值的,fc用最高价,最低价,收盘价,开盘价等都得出正确结果.
可是,若把下面的小于符号改为大于符号,理应是找出最小值的,可为什么找不到?显示的结果
是mm为0?为什么?
请帮忙找出错误的地方.或写出找最小值的公式.
//用于序列模式下运行的公式:
RUNMODE:1; //运行于序列模式
VARIABLE:I=0, mm=0 ;//变量申明
fc:h;
FOR i=1 TO DATACOUNT DO BEGIN
IF mm<fc[i] THEN mm:=fc[i];
END;
DRAWNUMBER(date=1110222 ,3400,mm ,1);
VARIABLE:I=0, mm=0 ;//变量申明
目前新版的金字塔,VARIABLE声明的变量在序列模式进行改进,VARIABLE主要将用于逐K线模式下的全局变量声明,用在序列模式下VARIABLE声明的变量将只能以常数形式存放,如果是数组,请不要加这个声明。
VARIABLE:I=0,;
mm=0 ;
这样改进
多谢上面朋友们的回复.
但还是得不到结果.
请你把我的公式复进去检验下好吗?
我用的是2.34未注册的.普通本的.
若把小于符号改为大于号时按理应得出最小的每日最高价的,可显示为0,为什么?
就是把下面的代替:
IF mm>fc[i] THEN mm:=fc[i];
问题是你 你MM初始化为0 , low永远不可能等于或者小于0 ,所以你如果改成小于号,那么结构都是你的初始值,也就是 0
小于符号改为大于符号,逻辑就会有问题.原因:开高低收都不可能小于0