以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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; 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) 这是个微小误差~可以自己控制的 |