以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请朋友们帮忙找错在哪?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=5318)

--  作者:liboyi
--  发布时间:2011/2/28 7:35:11
--  请朋友们帮忙找错在哪?

下面的公式用在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);

 

 

 

 


--  作者:王锋
--  发布时间:2011/2/28 8:09:03
--  

VARIABLE:I=0, mm=0 ;//变量申明
目前新版的金字塔,VARIABLE声明的变量在序列模式进行改进,VARIABLE主要将用于逐K线模式下的全局变量声明,用在序列模式下VARIABLE声明的变量将只能以常数形式存放,如果是数组,请不要加这个声明。

 

VARIABLE:I=0,;

mm=0 ;

 

这样改进


--  作者:liboyi
--  发布时间:2011/2/28 8:52:38
--  

多谢上面朋友们的回复.

但还是得不到结果.

 

请你把我的公式复进去检验下好吗?

我用的是2.34未注册的.普通本的.

若把小于符号改为大于号时按理应得出最小的每日最高价的,可显示为0,为什么?

就是把下面的代替:

 

 IF mm>fc[i]   THEN mm:=fc[i];


--  作者:董小球
--  发布时间:2011/2/28 8:57:47
--  

问题是你 你MM初始化为0 , low永远不可能等于或者小于0  ,所以你如果改成小于号,那么结构都是你的初始值,也就是  0 


--  作者:liboyi
--  发布时间:2011/2/28 9:05:44
--  
多谢大哥.很低级的问题.多谢你的提醒.就是错在这,解决了.
--  作者:fly
--  发布时间:2011/2/28 9:18:22
--  

小于符号改为大于符号,逻辑就会有问题.原因:开高低收都不可能小于0