Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:分时黄线的值有时计算不出来

1楼
滚雪球 发表于:2018/3/22 15:14:25
N1:=OPENMINUTES(TIME); 
YL:=IF(SUM(VOL,N1)=0,C,SUM(C*VOL,N1)/SUM(VOL,N1));
DEBUGFILE('D:\KK.LOG',NAME &' 跌↓ '& OI &' '& BIGTREND &' '& YLFLAG &' '&NUMTOSTR(仓单数量,0)&' '&NUMTOSTR(CLOSE,3)&' '&NUMTOSTR(YL,3),0);

前面两行是求分时黄线的值,然后用debugfile打印出来,但有时打印出来的值是-1.#QO
尤其是铅,镍这种6位数的出问题多,但铅,镍的close打印出来是正确的
感觉是YL有时不能正确的计算出来,在前台没发现问题,但是后台经常出现,其他品种多数正常,偶尔出现同样的问题
2楼
banzhuan 发表于:2018/3/22 15:32:09
明天盘中本地核实一下您说的问题,是输出镍的YL值出现无效值是吧? 
3楼
滚雪球 发表于:2018/3/22 15:47:14
镍,铅,其他的品种有时也会出现
4楼
banzhuan 发表于:2018/3/22 15:50:01
好的,明天核实后在本帖给您跟帖答复
5楼
滚雪球 发表于:2018/3/22 15:56:51
使用1分钟1秒后台轮询,代码大致可以简化成这样:

GLOBALVARIABLE:T:=-1;
NAME:=STRLEFT(STKNAME,STRLEN(STKNAME)-4);
N1:=OPENMINUTES(TIME);
YL:=IF(SUM(VOL,N1)=0,C,SUM(C*VOL,N1)/SUM(VOL,N1));
//使用全局变量控制1分钟只输出一次
IF  OPENMINUTES(TIME)>T THEN BEGIN 
     DEBUGFILE('D:\KK.LOG',NAME &NUMTOSTR(CLOSE,3)&' '&NUMTOSTR(YL,3),0);
     T:=OPENMINUTES(TIME);
END
6楼
banzhuan 发表于:2018/3/22 16:44:42
本地核实了下,和品种没有关系,是SUM函数的问题,如使用SUM函数,后台刷新K线数量必须要大于N1的数量,图表也是这样。如果K线数量小于N1的值,会求不出SUM的值,建议K线刷新数量修改为560根,您再试试
7楼
滚雪球 发表于:2018/3/22 19:32:07
果然如此,之前设置为360根,改了看上去正常了,夜盘再看一下,谢谢
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 2 queries.