以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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的方式,才解决问题
|