以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  成交金额的数据类型是long型的?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=64084)

--  作者:FT
--  发布时间:2014/4/18 0:18:47
--  成交金额的数据类型是long型的?
金字塔的成交金额的数据类型好像是LONG型的,股指期货的成交金额每天有几千亿,建议能改一下数据类型。
--  作者:yukizzc
--  发布时间:2014/4/18 8:55:04
--  
您好,有什么问题吗,long类型的范围有2的63次方可以支持这个量极的成交额啊。
--  作者:FT
--  发布时间:2014/4/18 10:07:23
--  
VB的LONG范围是范围从 -2,147,483,648 到 2,147,483,647
软件里的成交金额,最后几位是不对的。 比如股指的成交金额,个位还有不是的0,股指合约的乘数300,价格是一位小数,成交金额的个位都应该是0.


--  作者:lichenghu
--  发布时间:2014/4/18 10:16:16
--  

这是因为数据经过多次转化计算产生的计算机浮点误差。导致后面不是0

 


--  作者:FT
--  发布时间:2014/4/18 10:27:07
--  
我用VBA直接取的成交额就是不对的。 成交金额小的品种结果是对的,大于十几亿开始就不对了,我觉得是数据类型的原因,能解决一下吗?
--  作者:lichenghu
--  发布时间:2014/4/18 10:31:09
--  
 计算浮点误差,用vba取下c。不是2100.2这样的数值,而是有很多个小数浮点的。无法避免
--  作者:FT
--  发布时间:2014/4/18 10:42:51
--  
交易所给的数据是对的,直接把交易所的数据读到就行了。快期里的成交额数据也是对的。不可能是没有办法的。
就算有误差,精度够了,在小数点很多位以后的误差也可以忽略的。

--  作者:lichenghu
--  发布时间:2014/4/18 10:47:16
--  
计算机浮点误差,目前无法避免