代码如下,逐K线,仅刷新最后一根
x1:=DYNAINFO2(28,'IF07');
x4:=DYNAINFO2(34,'IF08');
diff1:=x1-x4;
tmp1:=EXTGBDATA('AB02');
if diff1>=-7.4 then begin
debugfile('D:\test2.txt',numtostr(x1,1)+' '+numtostr(x4,1),1);
extgbdataset('AB02',tmp1+1);
end
应用在IF1207主图上时,一切正常,全局变量一直正常增长,应用到副图上时,全局变量之间跳到6000多,一会儿就到几万了,为什么呢?
后来发现加载到主图后全局变量也会莫名增加到几万
另外加入交易语句后,偶尔会触发,而不是一定触发
x1:=DYNAINFO2(28,'IF07');
x4:=DYNAINFO2(34,'IF08');
diff1:=x1-x4;
tmp1:=EXTGBDATA('AB02');
if diff1>=-7.4 then begin
buyshort(1,units,limitr,x1),IGNORECHECKPRICE;
debugfile('D:\test2.txt',numtostr(x1,1)+' '+numtostr(x4,1),1);
extgbdataset('AB02',tmp1+1);
end
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=1246&page=1&star=1
debugfile输出行数和全局变量的数值也不一样,不知道为什么
这个我当然知道,这段代码中EXTGBDATA 和debugfile是放在同一个if 。。。then里的,照理EXTGBDATA 的数值应该和输出的行数是相等的,当时实际不相等,EXTGBDATA 不一会就到几万,而输出只有几百行
有没有人愿意测试下看看是不是也是这样。。
给你个范例 INPUT:X(2423,1,100000); IF NOT(ISLASTBAR) THEN EXIT; //http://www.weistock.com/WeisoftHelp/quanjubianliang.htm if X=DYNAINFO( 7) then begin g8:=EXTGBDATA('A'); EXTGBDATASET('A',g8+1); END JS:EXTGBDATA('A'); 所以你要在最开始加上IF NOT(ISLASTBAR) THEN EXIT; 就可以避免了 |