以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  将数值保持到全局变量中时出现异常  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=11399)

--  作者:moondrm
--  发布时间:2012/4/29 22:12:31
--  将数值保持到全局变量中时出现异常
将数值保持到全局变量中时出现数据内容为-1.#QNAN,请问这是怎么回事?有什么办法解决吗?多谢了。
--  作者:王锋
--  发布时间:2012/4/30 12:36:26
--  
-1.#QNAN 表示是无效数据,往全局变量写数据时,应该有一些过滤手段
--  作者:moondrm
--  发布时间:2012/5/2 9:21:22
--  -1.#QNAN问题

我在使用金字塔编程的时候使用了如下语句
BH:=BARSLAST(HIGH=15750);
extgbdataset(\'BH1\',BH);

关注商品是ZN1208合约,关注时间是2012.05.02
结果查看发现,全局变量BH1中保存的数值是-1.#QNAN,
这里说明两个问题,
1.当函数BARSLAST找不到符合条件的记录时,返回的不是周期数0,而是意想不到的数据-1.#QNAN。
2.有时候会出现当日最高点未被HIGH这个系统变量捕捉到。

这个问题估计是金字塔软件本身的小BUG,请予关注。


--  作者:moondrm
--  发布时间:2012/5/2 10:16:21
--  

上面的回复有点不对,更正一下,代码为以下三个语句。

 

我在使用金字塔编程的时候使用了如下语句
HH:=DYNAINFO(5);
BH:=BARSLAST(H=HH);
extgbdataset(\'BH1\',BH);
关注商品是ZN1208合约,关注时间是2012.05.02
结果查看发现,全局变量BH1中保存的数值是-1.#QNAN,
这里说明两个问题,
1.当函数BARSLAST找不到符合条件的记录时,返回的不是周期数0,而是意想不到的数据-1.#QNAN。
2.有时候会出现当日最高点未被HIGH这个系统变量捕捉到。

这个问题估计是金字塔软件本身的小BUG,请予关注。


--  作者:阿火
--  发布时间:2012/5/2 10:19:58
--  

1,当函数BARSLAST找不到符合条件的记录时,返回的是无效值。

2,有时候未捕捉到,是精度问题。有可能出现不相等的地方加个四舍五入 如:round(high)=15750