以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  =、>=,<=三个运算符有问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=68382)

--  作者:phisherlong
--  发布时间:2014/8/5 21:11:20
--  =、>=,<=三个运算符有问题

我的模型有几次遇到=、>=,<=这三个运算符计算错误的情况

比如aa的值为2,bb的值为2,设cc:=aa>=bb;结果cc的值为0

 

我反复查证,确认aa、bb值是相等的,不知原因何在?

 

由于模型过长,我不方便将这个问题原文列出,并举例,还请技术部门对此解释

 

谢谢!

[此贴子已经被作者于2014/8/5 21:11:45编辑过]

--  作者:netfox
--  发布时间:2014/8/5 22:13:35
--  

aa=2

bb=2

a>=b 大于并且等于 自然是0  大于不等于自然是1

 

a>b  这样才会1 因为等于了 

 


--  作者:qwer123
--  发布时间:2014/8/6 8:11:54
--  
这个你在写程序是自己注意的,如果aa,bb最小的变化是0.1那么我认为:ABS(aa-bb)<0.05就是相等。


--  作者:phisherlong
--  发布时间:2014/8/6 21:58:27
--  

谢谢你的解释,但我修改成

cc:a>b or a=b

cc依然是0值


--  作者:phisherlong
--  发布时间:2014/8/6 22:05:58
--  

现在的问题是aa、bb本来相等,使用>=/<=比较两者却不相等

而不是你认为的aa、bb细微相差,比较缺相等的情况


--  作者:FexTel
--  发布时间:2014/8/7 8:52:17
--  
1,可能是小数点位的影响,图上值您可以只显示了几位小数点。ROUNDS( , )取下对应小数位看看
--  作者:phisherlong
--  发布时间:2014/8/7 19:40:15
--  

aa、bb都是价格的加减运算,比如股指,那么最小变动单位0.2,小数点后不存在2位数的情况。模型中,发生错误时的aa、bb均等于17.8。

 

我不得已,只有采取cc:=aa+0.01>bb的方式,才解决问题