代码如下(DEBUGOUTFILE, 交易日志,预警日志 见附件),时间发生在9:30分,PD满足成交条件,要平多,可是出现信号,下平多单,可是出现反复撤单好多次,延迟了2秒才成交。这种情况该如何避免?
MINDIFFIC0:=0.2;
KD1:= CURRENTTIME<145700 AND C>=(JIZHUN-MINDIFFIC0) AND CURRENTTIME>092905; //开多条件1
KD2:= CURRENTTIME>=145950 AND MODELBUY; //开多条件2
PD1: = CURRENTTIME<145700 AND C<=(ZHISUN+MINDIFFIC0) AND CURRENTTIME>092905; //平多条件
KD:= THOLDING=0 AND (KD1 OR KD2); //开多信号
PD:= THOLDING>0 AND PD1; //平多信号
TBUY(KD,CW,MKT),ALLOWREPEAT; //开多信号
TSELL(PD,0,MKT),ALLOWREPEAT; //平多信号
CWSS:=THOLDING; //持仓手数
程序没有撤单语句,成交部分的代码都在上面,观察了几天,都是在开盘9:30时间发生,其他时间没有这种情况。
23号的日志昨天附件里有,24号9:30的见附件
下载信息 [文件大小: 下载次数: ] | |
![]() |
下载信息 [文件大小: 下载次数: ] | |
![]() |
你的意思是 这个期间模拟盘还没有开盘,会晚个1- 2秒后就会恢复?如果上实盘,9:30准时开盘,就不会出现这种情况?
比如 KD条件成立,THOLDING=0,发生开多信号,产生信号到发出委托,这个短暂瞬间,THOLDING的值还是原来的值=0,没有更新,tick级别刷新会出现多次下单。这种要怎么避免?
MINDIFFIC0:=0.2;
KD1:= CURRENTTIME<145700 AND C>=(JIZHUN-MINDIFFIC0) AND CURRENTTIME>092905; //开多条件1
KD2:= CURRENTTIME>=145950 AND MODELBUY; //开多条件2
PD1: = CURRENTTIME<145700 AND C<=(ZHISUN+MINDIFFIC0) AND CURRENTTIME>092905; //平多条件
KD:= THOLDING=0 AND (KD1 OR KD2); //开多信号
PD:= THOLDING>0 AND PD1; //平多信号
TBUY(KD,CW,MKT),ALLOWREPEAT; //开多信号
TSELL(PD,0,MKT),ALLOWREPEAT; //平多信号
CWSS:=THOLDING; //持仓手数
怎么加未成交单判断? 有举例不