欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 帮忙看看哪里错了

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有8687人关注过本帖树形打印复制链接

主题:帮忙看看哪里错了

帅哥哟,离线,有人找我吗?
王锋
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/21 16:22:36    Post IP:58.246.57.26[显示全部帖子]

金字塔的数据计算都是浮点形式的,当需要精确判断时,需要进行处理,参考 INTPART 取整函数,和ROUNDS将小数点整理到指定位数后再来判断


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/21 16:27:46    Post IP:58.246.57.26[显示全部帖子]

a1:1
b1:1
cond1:INTPART(a1)<=INTPART(b1)

 

计算机的浮点计算是有误差的,即便你在金字塔中看到的价格比如是 2580.2,但实际上内部有可能是 2580.199999等这种,金字塔只是给你按照合约的小数位给你整理显示了。

浮点数一般在进行乘除之后都会有误差,因此如果需要相等等精确判断,就一定要进行小数位强行整理,将其整理成一个规范的数值。

上面的例子,其实不用整理,因为浮点数在赋值时不会产生浮点错误,只有在进行了数值计算之后。



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/21 16:40:42    Post IP:58.246.57.26[显示全部帖子]

ROUNDS(o,1)<=ROUNDS((ref(c,1)+slidepts),1)


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/21 16:42:06    Post IP:58.246.57.26[显示全部帖子]

通常浮点错误都发生在乘除后,加减也会小概率出现,处于安全考虑,需要精确判断的地方,你都需要用ROUNDS函数将数值进行小数位整理



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/21 21:21:34    Post IP:180.172.63.95[显示全部帖子]

需要精确判断时,建议全部使用Rounds,因为系统数据,也不能确保小数点精确


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2012/2/21 23:34:21    Post IP:180.172.63.95[显示全部帖子]

金字塔拿到的数据就是这样的。

因为交易所发布的行情数据,都要经过很多中间环节,难眠出现误差



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部