以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  怎么解决金字塔的误差的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=62605)

--  作者:zzxc75
--  发布时间:2014/3/12 14:13:28
--  怎么解决金字塔的误差的问题

2个问题
1、两个浮点数在比较大小的时候,如果图上显示是相等,实际结果不相等,是怎么处理的?
2、如果保留小数点2位,到底是怎么四舍五入的

浮点型数据比较大小,是计算机这个东西几十年前设计的时候 的固有问题,原理就是浮点型本身就是不精确的,会在小数点后面很多位出现误差,就是double型比较的时候,存在小数点多位后的误差,才会出问题,这个原理我很清楚,现在是要知道金字塔是怎么处理这个问题 ,

if x > y then
  sellshort(……);
end
图上显示x和y都是0.01,但实际还是平空了,请问是底层没有处理浮点型小数点后多位误差吗?数据指标在计算中肯定是浮点数我在金字塔里用ROUNDS(x,2)来限制了保留小数点后2位,金字塔到底是怎么四舍五入的,怎么感觉不是从第3位开始四舍五入的?


--  作者:王锋
--  发布时间:2014/3/12 14:16:43
--  

四舍五入整理小数到指定位数

用法:ROUNDS(A,B) 表示整理数字A的小数点位数到B。该函数可用以做浮点数的精确相等判断。
例如:ROUNDS(12.345,2)将返回 12.35
所属函数组:数学函数

 

你可以自己没事写几句话测试一下不就知道了


--  作者:zzxc75
--  发布时间:2014/3/12 14:24:37
--  
我在金字塔里用ROUNDS(x,2)来限制了保留小数点后2位,金字塔到底是怎么四舍五入的,怎么感觉不是从第3位开始四舍五入的?

--  作者:王锋
--  发布时间:2014/3/12 14:31:08
--  
不明白你的描述,你为什么觉得金字塔不是从第三位开始四舍五入的?