以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 后台撤单重发异常求解 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=15363) |
-- 作者:hqf123 -- 发布时间:2012/8/21 14:57:16 -- 后台撤单重发异常求解 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; DK:=MM=1 AND REF(MM,1)<>1; TSELL(KK,3,LMT,DYNAINFO(54)); TBUY(DK,3,LMT,DYNAINFO(55)); TBUYSHORT(KK,3,LMT,DYNAINFO(54)); IF TISREMAIN(0)>0 THEN 用涨跌停形成挂单,10s后进行撤单再重发试验
撤单是成功的,但是发单的时候就只发开仓的单,平仓的单没有补发,后台的预警里面是有发平仓单动作的,求解~~~~~~···
账户中都是有持仓的
|
-- 作者:hqf123 -- 发布时间:2012/8/21 14:58:08 -- 此主题相关图片如下:1.jpg 此主题相关图片如下:2.jpg |
-- 作者:王锋 -- 发布时间:2012/8/21 17:50:29 -- 请教如何运行自定义数据 楼主看你的后台代码这么多,没有一句调试代码。 建议你仔细看看 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 问题4中后台的调试技巧,使用DEBUGFILE输出关键的变量,自行调试看看到底问题出在什么位置。 |
-- 作者:hqf123 -- 发布时间:2012/8/22 9:10:34 -- 我有试过用debugfile输出,在那个撤单的位置把方向和手数读取输出,是没有问题的 |
-- 作者:王锋 -- 发布时间:2012/8/22 9:12:45 -- 将增加DEBUFILE后的代码,及你经过运行调试后的记录日志发过来我们帮你分析看看 |
-- 作者:hqf123 -- 发布时间:2012/8/22 9:27:30 -- 好 |
-- 作者:hqf123 -- 发布时间:2012/8/22 10:12:57 -- 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 运行结束 |
-- 作者:hqf123 -- 发布时间:2012/8/22 10:13:52 -- 此主题相关图片如下:1.jpg |
-- 作者:王锋 -- 发布时间:2012/8/22 10:38:16 -- 老师能不能介绍一下画线预警功能 你的语法有问题,金字塔的IF THEN语句, IF后面的条件是不加括号的,试试去掉 |
-- 作者:hqf123 -- 发布时间:2012/8/22 10:50:20 -- 好
|