Rss & SiteMap

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

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

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

1楼
ivan 发表于:2014/8/20 11:44:10
 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 

到底怎么处理才好呢?
2楼
Ivan 发表于:2014/8/20 11:57:35
不要用数据库全局变量来处理,否则多品种多周期组合时,数据库全局变量太多,不好管理。
3楼
admin 发表于:2014/8/20 11:59:51

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

4楼
Ivan 发表于:2014/8/20 12:24:51
我在代码中用了msgout监控啊,看到就是刚赋值+1,kcss=1,下一轮询又发生kcss=0了
5楼
Ivan 发表于:2014/8/20 12:29:47
没有其它代码会对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
6楼
yukizzc 发表于:2014/8/20 13:53:27

没有发现你这种情况,你用这段代码测试看,如果每次轮询kcss都重置的话他会重复去开多的,但事实没有。你应该是-1的操作触发了吧

GLOBALVARIABLE:kcss=0,kg=1;

  if kcss=0 then
   BEGIN
    tbuy(1,1,MKT,0,0,'',''),ALLOWREPEAT;
 msgout(1,'jq开空');
    kcss:=kcss+1;
 msgout(1,NUMTOSTR(kcss,0));
   
   end

7楼
Ivan 发表于:2014/8/20 16:16:28
  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;
    EXTGBDATASET('kcss',kcss1-1);
 MSGOUT(1,NUMTOSTR(kcss,0));
    sleep(2080);
   end

只有这个地方会-1操作,但如果进入这里的话,那么会输出‘jg平多'的,但从监控来看从来没有没看到这个输出结果。

会不会跟下面代码最后一行有关?

input:ss(3,1,10,1);
VARIABLE:kcss=0,kg=1;
kcss1:=EXTGBDATA('kcss');

//后台模式
if not(islastbar) or workmode<>1 then exit;
8楼
yukizzc 发表于:2014/8/20 16:20:39

你下面又用variable定义kcss??

variable定义的全局变量单根k中会重新初始化的,你用的GLOBALVARIABLE不会有这个情况。

9楼
RogarZ 发表于:2014/8/20 17:14:02
WRITEINIFILE
GETINIFILE

早就支持写文件了
直接写文件吧 怎么也不会乱 管理也简单
[此贴子已经被作者于2014/8/20 17:14:12编辑过]
10楼
Ivan 发表于:2014/8/21 14:08:06
写文件会不会影响速度啊?

另外TISPRVREMAIN(4)是指本策略下的上笔交易,还是包含所有后台交易其它下的单子呢?
共34 条记录, 每页显示 10 条, 页签: [1] [2][3][4]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 3 queries.