globalvariable:mm1=0,MM2=0,MM3=0,MM4=0,mm10=0,MM20=0,MM30=0,MM40=0,MM=0;
IF (MOD(TIME/100,10)=1 OR MOD(TIME/100,10)=5) THEN MM:=1;
IF (MOD(TIME/100,10)=3 OR MOD(TIME/100,10)=7) THEN MM:=-1;
DK:=MM=1 AND REF(MM,1)<>1;
KK:=MM=-1 AND REF(MM,1)<>-1;
if not(islastbar) then exit;
TSELL(KK,3,LMT,DYNAINFO(54));
IF (KK AND MM20<>BARPOS) THEN
BEGIN
MM2:=TIMETOT0(CURRENTTIME);
MM20:=BARPOS;
END;
TSELLSHORT(DK,3,LMT,DYNAINFO(55));
IF (KK AND MM40<>BARPOS) THEN
BEGIN
MM4:=TIMETOT0(CURRENTTIME);
MM40:=BARPOS;
END;
TBUY(DK,3,LMT,DYNAINFO(55));
IF (DK AND MM10<>BARPOS) THEN
BEGIN
MM1:=TIMETOT0(CURRENTTIME);
MM10:=BARPOS;
END;
TBUYSHORT(KK,3,LMT,DYNAINFO(54));
IF (KK AND MM30<>BARPOS) THEN
BEGIN
MM30:=BARPOS;
MM3:=TIMETOT0(CURRENTTIME);
END;
IF TISREMAIN(0)>0 THEN
BEGIN
if (TISREMAIN(2)>0 AND TIMETOT0(CURRENTTIME)-MM2>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(2,'801616',STKNAME);
TCANCELEX(TRUE,2,'801616',STKNAME);
TSELL(TRUE,NN,MKT);
END;
if (TISREMAIN(4)>0 AND TIMETOT0(CURRENTTIME)-MM4>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(4,'801616',STKNAME);
TCANCELEX(TRUE,4,'801616',STKNAME);
TSELLSHORT(TRUE,NN,MKT);
END;
if (TISREMAIN(1)>0 AND TIMETOT0(CURRENTTIME)-MM1>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(1,'801616',STKNAME);
TCANCELEX(TRUE,1,'801616',STKNAME);
TBUY(TRUE,NN,MKT);
END;
if (TISREMAIN(3)>0 AND TIMETOT0(CURRENTTIME)-MM3>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(3,'801616',STKNAME);
TCANCELEX(TRUE,3,'801616',STKNAME);
TBUYSHORT(TRUE,NN,MKT);
END;
END;
简单的1,5多单,3,7分钟空仓,转势进单
用涨跌停形成挂单,10s后进行撤单再重发试验
撤单是成功的,但是发单的时候就只发开仓的单,平仓的单没有补发,后台的预警里面是有发平仓单动作的,求解~~~~~~···
账户中都是有持仓的
我有试过用debugfile输出,在那个撤单的位置把方向和手数读取输出,是没有问题的
将增加DEBUFILE后的代码,及你经过运行调试后的记录日志发过来我们帮你分析看看
globalvariable:mm1=0,MM2=0,MM3=0,MM4=0,mm10=0,MM20=0,MM30=0,MM40=0,MM=0;
IF (MOD(TIME/100,10)=1 OR MOD(TIME/100,10)=5) THEN MM:=1;
IF (MOD(TIME/100,10)=3 OR MOD(TIME/100,10)=7) THEN MM:=-1;
DK:=MM=1 AND REF(MM,1)<>1;
KK:=MM=-1 AND REF(MM,1)<>-1;
if not(islastbar) then exit;
TSELL(KK,3,LMT,DYNAINFO(54));
IF (KK AND MM20<>BARPOS) THEN
BEGIN
MM2:=TIMETOT0(CURRENTTIME);
MM20:=BARPOS;
END;
TSELLSHORT(DK,3,LMT,DYNAINFO(55));
IF (KK AND MM40<>BARPOS) THEN
BEGIN
MM4:=TIMETOT0(CURRENTTIME);
MM40:=BARPOS;
END;
TBUY(DK,3,LMT,DYNAINFO(55));
IF (DK AND MM10<>BARPOS) THEN
BEGIN
MM1:=TIMETOT0(CURRENTTIME);
MM10:=BARPOS;
END;
TBUYSHORT(KK,3,LMT,DYNAINFO(54));
IF (KK AND MM30<>BARPOS) THEN
BEGIN
MM30:=BARPOS;
MM3:=TIMETOT0(CURRENTTIME);
END;
{
DebugFile('e:\20120821.TXT','1:'&NUMTOSTR(TIMETOT0(CURRENTTIME)-MM1,0),0);
DebugFile('e:\20120821.TXT','2:'&NUMTOSTR(TIMETOT0(CURRENTTIME)-MM2,0),0);
DebugFile('e:\20120821.TXT','3:'&NUMTOSTR(TIMETOT0(CURRENTTIME)-MM3,0),0);
DebugFile('e:\20120821.TXT','4:'&NUMTOSTR(TIMETOT0(CURRENTTIME)-MM4,0),0);}
IF TISREMAIN(0)>0 THEN
BEGIN
if (TISREMAIN(2)>0 AND TIMETOT0(CURRENTTIME)-MM2>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(2,'801616',STKNAME);
DebugFile('e:\20120821.TXT','追单 '&STKLABEL&'DP:'&numtostr(NN,0),0);
TCANCELEX(TRUE,2,'801616',STKNAME);
TSELL(TRUE,NN,MKT);
MM2:=TIMETOT0(CURRENTTIME);
END;
if (TISREMAIN(4)>0 AND TIMETOT0(CURRENTTIME)-MM4>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(4,'801616',STKNAME);
DebugFile('e:\20120821.TXT','追单 '&STKLABEL&'KP:'&numtostr(NN,0),0);
TCANCELEX(TRUE,4,'801616',STKNAME);
TSELLSHORT(TRUE,NN,MKT);
MM4:=TIMETOT0(CURRENTTIME);
END;
if (TISREMAIN(1)>0 AND TIMETOT0(CURRENTTIME)-MM1>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(1,'801616',STKNAME);
DebugFile('e:\20120821.TXT','追单 '&STKLABEL&'DK:'&numtostr(NN,0),0);
TCANCELEX(TRUE,1,'801616',STKNAME);
TBUY(TRUE,NN,MKT);
MM1:=TIMETOT0(CURRENTTIME);
END;
if (TISREMAIN(3)>0 AND TIMETOT0(CURRENTTIME)-MM3>10) THEN//超过10s,市价追单
BEGIN
NN:=TREMAINQTY(3,'801616',STKNAME);
DebugFile('e:\20120821.TXT','追单 '&STKLABEL&'KK:'&numtostr(NN,0),0);
TCANCELEX(TRUE,3,'801616',STKNAME);
TBUYSHORT(TRUE,NN,MKT);
MM3:=TIMETOT0(CURRENTTIME);
END;
END;
10:06平多空,转势做空的指令
跟踪到的文件输出
2012-08-22 10:06:11.650 追单 IF00DP:3
2012-08-22 10:06:11.666 追单 IF00KK:3
下单日志记录:
012-08-22 10:05:57.557 【后台】IF00 运行结束
2012-08-22 10:05:58.557 【后台】IF00 运行结束
2012-08-22 10:05:59.635 【后台】IF00 运行结束
2012-08-22 10:06:00.557 【后台】IF00 TSell 出现信号
2012-08-22 10:06:00.557 【后台】IF00 TSell 已成功触发下单操作 价格:2556.000000 数量:3 类型:0 账户: 品种:IF00
2012-08-22 10:06:00.557 【后台】实际账户持仓 3
2012-08-22 10:06:00.557 【后台】下单已发送
2012-08-22 10:06:00.588 【后台】IF00 TBuyShort 出现信号
2012-08-22 10:06:00.588 【后台】IF00 TBuyShort 已成功触发下单操作 价格:2556.000000 数量:3 类型:0 账户: 品种:IF00
2012-08-22 10:06:00.588 【后台】下单已发送
2012-08-22 10:06:00.604 【后台】IF00 运行结束
2012-08-22 10:06:00.604 【下单】IF09 价2556.000000 量3 买卖1 类型0 开平1 账户801616 Formula 1
2012-08-22 10:06:00.604 【下单】IF09 价2556.000000 量3 买卖1 类型0 开平0 账户801616 Formula 1
2012-08-22 10:06:00.604 当前尚有未处理完事件 - 6021
2012-08-22 10:06:00.822 【平仓委托计量】0 - 3
2012-08-22 10:06:00.822 【回报】801616 : IF09 - 正在申报 3 价格:2556.00 平仓 卖出
2012-08-22 10:06:00.869 【回报】801616 : IF09 - 正在申报 3 价格:2556.00 开仓 卖出
2012-08-22 10:06:01.572 【后台】IF00 运行结束
2012-08-22 10:06:02.729 【后台】IF00 运行结束
2012-08-22 10:06:03.557 【后台】IF00 运行结束
2012-08-22 10:06:04.572 【后台】IF00 运行结束
2012-08-22 10:06:05.682 【后台】IF00 运行结束
2012-08-22 10:06:06.557 【后台】IF00 运行结束
2012-08-22 10:06:07.557 【后台】IF00 运行结束
2012-08-22 10:06:08.697 【后台】IF00 运行结束
2012-08-22 10:06:09.557 【后台】IF00 运行结束
2012-08-22 10:06:10.572 【后台】IF00 运行结束
2012-08-22 10:06:11.650 【后台】IF00 TCANCELEX 出现信号 类型:2 帐号:801616
2012-08-22 10:06:11.666 【后台】IF00 TSell 出现信号
2012-08-22 10:06:11.666 【后台】IF00 TSell 已成功触发下单操作 价格:0.000000 数量:3 类型:1 账户: 品种:IF00
2012-08-22 10:06:11.666 【后台】实际账户持仓 0
2012-08-22 10:06:11.697 【后台】IF00 TCANCELEX 出现信号 类型:3 帐号:801616
2012-08-22 10:06:11.697 【后台】IF00 TBuyShort 出现信号
2012-08-22 10:06:11.697 【后台】IF00 TBuyShort 已成功触发下单操作 价格:0.000000 数量:3 类型:1 账户: 品种:IF00
2012-08-22 10:06:11.713 【后台】下单已发送
2012-08-22 10:06:11.760 【后台】IF00 运行结束
2012-08-22 10:06:11.760 【下单】IF09 价0.000000 量3 买卖1 类型1 开平0 账户801616 Formula 1
2012-08-22 10:06:11.775 当前尚有未处理完事件 - 6022
2012-08-22 10:06:11.932 【回报】801616 : 撤单已经递交
2012-08-22 10:06:11.979 【回报】801616 : IF1209 已经撤单 量:3
2012-08-22 10:06:11.979 【回报】801616 : 撤单已经递交
2012-08-22 10:06:12.010 【回报】801616 : IF1209 已经撤单 量:3
2012-08-22 10:06:12.041 【回报】801616 : IF09 - 正在申报 3 价格:2317.60 开仓 卖出
2012-08-22 10:06:12.307 【回报】801616 : IF09 全部成交 3 价格:2318.4 开 卖
2012-08-22 10:06:12.588 【后台】IF00 运行结束
2012-08-22 10:06:13.572 【后台】IF00 运行结束
你的语法有问题,金字塔的IF THEN语句, IF后面的条件是不加括号的,试试去掉