以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- [求助]为啥开空后止损语句不起作用 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=84180) |
|
-- 作者:jason123 -- 发布时间:2015/8/19 13:36:03 -- [求助]为啥开空后止损语句不起作用 止损代码如下 IF (TAVGENTERPRICEEX(AC,PZ)<>0) AND (DYNAINFO(7)-TAVGENTERPRICEEX(AC,PZ)>=ZSJJ) AND (DYNAINFO(7)-TAVGENTERPRICEEX(AC,PZ)<ZSJX) THEN BEGIN //空损:=SELLSHORT(1,B04,LIMITR,TAVGENTERPRICEEX(AC,PZ)+ZSDS,1); TCANCELEX(1,0,AC,PZ); 7883.0点在13:23分开空的 ZSJJ=20 可13:29分最高点到7908,还是没有发出止损信号,什么原因呢? debugfile代码和数据如下 if Islastbar then begin DEBUGFILE(\'D:\\TEST500.TXT\',\' 平空条件:\'&numtostr(DYNAINFO(7),2)&\' A00:\'&numtostr(A00,0)&\' KTLC:\'&numtostr(KTLC,2)&\' SHORTX1:\'&numtostr(SHORTX1,0)&\' SHORT:\'&numtostr(SHORT,0)&\' A14:\'&numtostr(A14,0)&\' LONG1:\'&numtostr(LONG1,0)&\' THOLDING:\'&numtostr(THOLDING,0)&\' B01:\'&numtostr(B01,0)&\' TISREMAIN:\'&numtostr(TISREMAIN(0),0)&\' THOLDING2:\'&numtostr(THOLDING2,0)&\' A43:\'&numtostr(A43,0)&\' B02:\'&numtostr(B02,0)&\' A15:\'&numtostr(A15,0)&\' A14:\'&numtostr(A14,0)&\' A15:\'&numtostr(A15,0),0); end 2015-08-19 13:29:59.938 平空条件:7887.00 A00:0 KTLC:7901.43 SHORTX1:0 SHORT:0 A14:0 LONG1:1 THOLDING:-1 B01:0 TISREMAIN:0 THOLDING2:-1 A43:-1 B02:0 A15:0 A14:0 A15:0 |
|
-- 作者:yukizzc -- 发布时间:2015/8/19 13:39:50 -- //空损:=SELLSHORT(1,B04,LIMITR,TAVGENTERPRICEEX(AC,PZ)+ZSDS,1);
你代码是这么写的??//是注释掉了,当然不执行。你这个变成条件满足去撤单而不是止损了
另外你debugfile输出下TAVGENTERPRICEEX(AC,PZ),DYNAINFO(7)这两个值就可以了,止损条件也就和这两个有关系 [此贴子已经被作者于2015/8/19 13:44:05编辑过]
|
|
-- 作者:jason123 -- 发布时间:2015/8/19 13:46:31 -- 空损是这样的,没有注释掉 空损:=TSELLSHORT((TISREMAIN(0)=0 AND (THOLDING = (-1))),B04,LMT,TAVGENTERPRICEEX(AC,PZ)+ZSDS,0,AC,PZ); 我来debugfile输出TAVGENTERPRICEEX(AC,PZ),DYNAINFO(7)
|
|
-- 作者:yukizzc -- 发布时间:2015/8/19 13:53:09 -- TISREMAIN(0)=0 AND (THOLDING = (-1))) 你这条件如果有挂单的话,就不会止损了,并且你持仓必须是1手空单才会去止损。。。。这是您的想法吗 其实这两个可以不加的,你没有仓位时自然是止损不了的。 |
|
-- 作者:jason123 -- 发布时间:2015/8/19 14:01:32 -- 是我的想法,我在触发止损条件的时候,用了TCANCELEX(1,0,AC,PZ); 确保
|
|
-- 作者:yukizzc -- 发布时间:2015/8/19 14:10:07 -- tholding如果你既有多又有空,他是相减的要 如果你只想取空仓数量,用TSELLHOLDING(N)这个 这种后台不执行的问题,您必须做好调试输出,然后分析是哪个条件没成立 [此贴子已经被作者于2015/8/19 14:10:40编辑过]
|
|
-- 作者:jason123 -- 发布时间:2015/8/19 14:42:51 -- 2015-08-19 14:41:40.958 平空条件DYNAINFO(7):8148.40 A00:0 TAVGENTERPRICEEX:8171.80 SHORTX1:0 SHORT:0 A14:0 LONG1:1 THOLDING:-1 B01:0 TISREMAIN:0 THOLDING2:-1 A43:-1 B02:1 A15:0 A14:0 A15:0 应该满足条件了啊,可是触发不了止损信号啊????
|
|
-- 作者:yukizzc -- 发布时间:2015/8/19 14:51:44 -- DYNAINFO(7)-TAVGENTERPRICEEX(AC,PZ)>=ZSJJ ZSJJ=20 DYNAINFO(7)-TAVGENTERPRICEEX(AC,PZ)<ZSJX
8148.4 - 8171.8 >=20 ????条件不满足啊 |
|
-- 作者:jason123 -- 发布时间:2015/8/19 18:31:41 -- 2015-08-19 14:10:45.045 开空后:7999.80 TAVGENTERPRICEEX(AC,PZ):0.00 TENTERPRICE:7852.00 SHORT1:1 A01:7993.27 THOLDING:0 SHORT:0 A14:0 THOLDING:0 A43:-1 B01:1 TISREMAIN:1 THOLDING2:0 A43:-1 B02:1 A15:0 A14:0 A15:0 奇怪啊 明明开空了,TAVGENTERPRICEEX(AC,PZ) 应该等于TENTERPRICE:7852.00 ,为啥TAVGENTERPRICEEX(AC,PZ) 会是0??? 看来不止损的原因在这里!!!!
|
|
-- 作者:jason123 -- 发布时间:2015/8/19 18:33:08 -- 2015-08-19 14:10:44.978 【后台】IC08 TBuyShort 第 217 行出现信号 2015-08-19 14:10:44.979 【后台】IC08 TBuyShort 已成功触发下单操作 价格:7993.267090 数量:1 类型:0 账户:512810491 品种:IC08 2015-08-19 14:10:44.980 【后台】多账户及策略系数 委托账户或者组: 512810491 2015-08-19 14:10:44.980 【后台】CTP登录账户 1 个 2015-08-19 14:10:44.981 【后台】CTP组 512810491 下单 2015-08-19 14:10:44.982 【后台】CTP账户 512810491 下单系数为1.000000 2015-08-19 14:10:44.982 【后台】账户 512810491 下单,系数调整后下单量:1 2015-08-19 14:10:44.983 【后台】下单已发送 2015-08-19 14:10:44.985 【后台】金仕达登录账户 0 个 2015-08-19 14:10:44.985 【后台】恒生登录账户 0 个 2015-08-19 14:10:44.986 【后台】子账户 登录账户 0 个 2015-08-19 14:10:44.986 【后台】扩展接口 登录账户 0 个 2015-08-19 14:10:44.987 【下单】IC08 价7993.267090 量1 买卖1 类型0 开平0 账户512810491 Formula 1 2015-08-19 14:10:44.988 【下单】确认报单已发送 ID=-701166831 RefID = 1680 2015-08-19 14:10:44.989 【后台】IC08 运行结束 2015-08-19 14:10:45.009 【指令】收到回报指令 ID = -701166831 RefID = 1680 2015-08-19 14:10:45.015 【回报】512810491 : IC1508 - 已报单 1 价格:7993.2 开 卖 2015-08-19 14:10:45.046 【指令】收到回报指令 ID = -701166831 RefID = 1680 2015-08-19 14:10:45.049 【指令】收到回报指令 ID = -701166831 RefID = 1680 2015-08-19 14:10:45.053 【后台】IC08 运行结束 2015-08-19 14:10:45.061 【指令】收到成交回报指令 REFID = 1680 vol = 1 2015-08-19 14:10:45.068 【回报】512810491 : IC1508 - 已成交 1 价格:8016.0 开 卖
|