打印本文打印本文 关闭窗口关闭窗口

全局变量赋值后,怎么被恢复为初始值呢?

作者:金字塔 来源:cxh99.com 发布时间:2015年07月25日
  • 咨询内容:  GLOBALVARIABLE:kcss=0,kg=1;

      if TISPRVREMAIN(1) then
       BEGIN
        TBUYSHORT(1,1,MKT,0,0,'',jq);
     MSGOUT(1,'jq开空');
        kcss=kcss+1;
     MSGOUT(1,NUMTOSTR(kcss,0));
        sleep(2080);
       end

    全局变量赋值后,怎么被恢复为初始值呢?

    这个kcss变量,刚加上1后,kcss=1,再轮询又发现kcss=0 
    到底怎么处理才好呢?

     

  • 金字塔客服: 不要用数据库全局变量来处理,否则多品种多周期组合时,数据库全局变量太多,不好管理。

     

  • 用户回复:

    如果你中间停止过后台程序化那么他会被重新赋值的,或者你中间就是有其他代码又重新赋值了,建议你用debugfile函数在kcss所有赋值的地方都加上跟踪一下

     

  • 网友回复: 我在代码中用了msgout监控啊,看到就是刚赋值+1,kcss=1,下一轮询又发生kcss=0了

     

  • 网友回复: 没有其它代码会对kcss赋值,只有在平仓代码里会-1,别的地方都没有对kcss操作,监控里也没看到平仓提示的:
      if kg=1 then   BEGIN    TSELLSHORT(1,1,LMT,c,0,'',yq);    kg:=0;     MSGOUT(1,'yq平空');   end  if TISPRVREMAIN(4) then   BEGIN    TSELL(1,1,MKT,0,0,'',jq); MSGOUT(1,'jq平多');    kcss:=kcss-1; MSGOUT(1,NUMTOSTR(kcss,0));    sleep(2080);   end
打印本文打印本文 关闭窗口关闭窗口