以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]计算误差的BUG~  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=4192)

--  作者:bbking
--  发布时间:2010/11/29 11:49:12
--  [求助]计算误差的BUG~

zx:=(o+c+h+l);

kk:zx-ref(zx,1),linethick0;

x3:kk>0,linethick0;

x4:=intpart(kk*10)=0,noaxis;
x5:x3 and x4,noaxis;
drawicon(x5,l,1);

test:kk*100,linethick0;

 

大家随意新建一个指标~把我这个代码代入进去~

在画出小图标的位置注意看~

kk等于0

但是KK>0的条件同样成立~..(某些KK=0与kk<0的条件也可以同时成立)

造成这样的原因可以看看test是什么数字...

由于这个数字输出有小数造成了计算误差

我的开仓条件用到kk<0之类的条件

但是有些地方开仓非常诡异~

请金字塔人员解释一下为啥后面会有小数?

我知道可以用intpart函数解决~但是我想知道为啥后面会有小数...

 


--  作者:bbking
--  发布时间:2010/11/29 12:23:23
--  
我做的是股指~大家可以看下股指为啥老出现很多小数位
--  作者:BNF
--  发布时间:2010/11/29 12:30:15
--  

不是吧,大哥。你别吓我~


--  作者:fly
--  发布时间:2010/11/29 14:33:23
--  

楼主使用的基本数据就是

 

zx:(o+c+h+l),linethick0;//数据1---ZX

rzx:(o+c+h+l),linethick0;//数据2---RZX

 

kk:zx-ref(zx,1),linethick0;

 

这些基本的数据输出都是很正常的,整数或者1位小数

 


--  作者:fly
--  发布时间:2010/11/29 14:46:07
--  

是CPU的浮点数计算误差引起的,任何电脑都会有的.

 

楼主用的解决办法就很好


--  作者:bbking
--  发布时间:2010/11/29 15:27:43
--  
以下是引用BNF在2010-11-29 12:30:15的发言:

不是吧,大哥。你别吓我~

不是吓你~而是我实盘的时候有几次开仓都开在不符合我条件的位置(有的位置包含了ZX=0的情况)~

开仓条件有一条是zx>ref(zx,1)

这是个微小误差~可以自己控制的