以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  帮忙看看哪里错了  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=10256)

--  作者:睿
--  发布时间:2012/2/21 15:11:12
--  帮忙看看哪里错了
a:o,linethick0;
b:ref(c,1)+slidepts,linethick0;
cond:a<=b,linethick0;

测试数据为IF00 2012年2月13日 下午14:41分 slidepts默认是0.6 逐K模式 1分钟K线
根据计算两个都显示2526,但是为什么2526<=2526 显示的确实0

刚开始我还以为是忘记加括号,但是如上所写为什么还是得出了0

a1:1
b1:1
cond1:a1<=b1 显示的是1

很困惑!
[此贴子已经被作者于2012-2-21 15:39:42编辑过]

--  作者:睿
--  发布时间:2012/2/21 15:18:39
--  
 版本2.8
--  作者:jinzhe
--  发布时间:2012/2/21 15:48:11
--  

看走眼了

[此贴子已经被作者于2012-2-21 16:10:06编辑过]

--  作者:阿火
--  发布时间:2012/2/21 16:03:41
--  

if00 2月13日 14:41分  1分钟K线

ref(c,1) = 2525.4

o := 2526.0

所以,理论上,a=b

但是金字塔采用的是浮点计算,应该是这个问题造成的

 

可以这样处理 cond:a-b<0.1 应为他们之间的差距要么0.0001以内,要么一定大于0.1

 

至于为什么会这样,我不是计算机专业的,我也不懂

看哪位大侠懂的给大家解释解释

[此贴子已经被作者于2012-2-21 16:04:18编辑过]

--  作者:睿
--  发布时间:2012/2/21 16:08:03
--  
 浮点问题吗?我在ref(c,1)+slidepts加0.01就可以了

这个问题很隐蔽
--  作者:睿
--  发布时间:2012/2/21 16:12:18
--  
以下是引用jinzhe在2012-2-21 15:48:11的发言:
如果按照slidepts是0.6的话,a为2561.6,b为2562.2
[此贴子已经被作者于2012-2-21 15:50:53编辑过]

你确定是正确的数据吗?我和leevolvo的数据是一样的
--  作者:睿
--  发布时间:2012/2/21 16:16:22
--  
 这个问题虽然不严重,但是我开始担心我已近写完的程序 所有=地方是否都需要做修改

这个才是麻烦的地方

--  作者:jinzhe
--  发布时间:2012/2/21 16:17:32
--  


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.png
图片点击可在新窗口打开查看

我的值


--  作者:睿
--  发布时间:2012/2/21 16:19:31
--  
这个怎么可能呢?股指期货最小点位就是0.2 怎么会加出来。9999呢

--  作者:王锋
--  发布时间:2012/2/21 16:22:36
--  
金字塔的数据计算都是浮点形式的,当需要精确判断时,需要进行处理,参考 INTPART 取整函数,和ROUNDS将小数点整理到指定位数后再来判断