我现在可以确定了,咱们新版本的撤单命令,在返回后,就是不执行下面的语句。这个我个人认为就是软件的BUG。
if c>=(tENTERPRICe+2*a) and tenterbars>2
and not(ddbbtj1) and not(ddbbtj2) and c<=(tENTERPRICe+3*a) and tholding2>0 then
begin
if tisprvremain(2) and TSUBMIT(2)>120 then
begin
tcancel(TISPRVREMAIN(2),2);
sleep(250);
end
tsell(c>tenterprice and tholding2>0,0,lmt,(tENTERPRICe+2*a));
end
好多次了。这个撤单后,下面的TSELL命令就是不执行,我原先不执行,我去找有冲突的地方。现在冲突的地方都撤掉了,这个还是偶尔有不执行的时候。这个应该就是咱们软件的问题了。
tsell的条件肯定满足吗?用debugfile输出下条件值看下呢
或者条件写1,肯定成立看下呢。
[此贴子已经被作者于2015/6/8 14:47:46编辑过]
这个真的有问题,因为我在5月份就发过一个这样的帖子,我的代码都交给JINZHE了。但是可能他太忙,也没仔细去研究吧。
当时我所有的撤单语句后面都会跟上再开仓的命令,结果就是有不执行的。
[此贴子已经被作者于2015/6/8 18:39:59编辑过]
你这个tsell在撤单后的条件能一定满足吗?和2楼说的改为1呢?
我随便写的代码测试,是没有问题的。
tsell(c>=o,1,lmt,c-3,0),ORDERQUEUE;
tbuy(c<o,1,MKT),ORDERQUEUE;
if c>=o then
begin
if tisprvremain(2) then
begin
tcancel(TISPRVREMAIN(2),2);
DEBUGFILE('D:\TEST.TXT','开始撤单',1234);
end
tsell(tholding2>0,1,lmt,c+1);
DEBUGFILE('D:\TEST.TXT','开始平多',11111);
end
那这个必须得满足条件啊,我就怕满足不了,特意设置的钳制性的条件。如果有时间,请到这个帖子看下,里面从第2页开始就有讨论,并且有图。
另外再提有一下,咱们新版本总是崩溃,不是太稳定,我运行运行的时候就崩溃关掉了。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=79030&authorid=0&page=0&star=2
[此贴子已经被作者于2015/6/9 8:42:16编辑过]
还有,这个不是每次都不执行的,而是偶尔有不执行的情况,如果一直不执行,那到好办了。
您看下你原帖里自己的条件,对于5分钟周期,tenterbars>1这至少是后2根k才满足条件(也就是10分钟)。
if B1<=LL and LL<(tENTERPRICe-m*a) && c>=b4 and tenterbars>1 && tholding2<0 then
begin
if tisprvremain(4) and TSUBMIT(4)>120 then
end
你这种情况很多都是条件不满足,自己把条件打包做个输出看下。