以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=156685) |
-- 作者:滚雪球 -- 发布时间:2017/8/10 9:12:44 -- 早上开盘时在昨日有持仓的情况下出现重复开仓 开平仓的代码如下: 平空1:TSELLSHORT(平空条件1 AND TSELLHOLDING(1)>0 ,手数,LMT,CLOSE+2*MINDIFF),ORDERQUEUE; 平空2:TSELLSHORT(平空条件2 AND TSELLHOLDING(1)>0 ,手数,LMT,CLOSE+2*MINDIFF),ORDERQUEUE; 平多1:TSELL(平多条件1 AND TBUYHOLDING(1)>0,手数,LMT,CLOSE-2*MINDIFF),ORDERQUEUE; 平多2:TSELL(平多条件2 AND TBUYHOLDING(1)>0,手数,LMT,CLOSE-2*MINDIFF),ORDERQUEUE; 开多1:TBUY(开多条件1 AND THOLDING2=0 AND TISREMAIN(1)=0,手数,LMT,CLOSE+2*MINDIFF),ORDERQUEUE; 开多2:TBUY(开多条件2 AND THOLDING2=0 AND TISREMAIN(1)=0,手数,LMT,CLOSE+2*MINDIFF),ORDERQUEUE; 开空1:TBUYSHORT(开空条件1 AND THOLDING2=0 AND TISREMAIN(1)=0,手数,LMT,CLOSE-2*MINDIFF),ORDERQUEUE; 开空2:TBUYSHORT(开空条件2 AND THOLDING2=0 AND TISREMAIN(1)=0,手数,LMT,CLOSE-2*MINDIFF),ORDERQUEUE; 昨天有隔夜仓,今天早上开盘部分品种重复开仓,本来一个品种限定做一单,现在变成了两单,但并不是所有品种都重复开,开盘时间过后也没有见到重复开 会不会和未成交自动撤单追单有关?怎么解决? |
-- 作者:滚雪球 -- 发布时间:2017/8/10 9:15:59 -- 发现了一个小问题,前几天TSELLHOLDING(0)改成TSELLHOLDING(1)的时候把TISREMAIN(0)也改成TISREMAIN(1)了,这两个数字含义完全不同,先改回看看 |
-- 作者:滚雪球 -- 发布时间:2017/8/10 9:53:42 -- 改了以后发现还是有重复下单的问题,而且和是否是开盘时间无关,应该是自动撤单追单造成的,我把下单设置那里改成只撤不追了,看看效果先 |
-- 作者:gxx978 -- 发布时间:2017/8/10 9:55:57 -- tholding2表示的是实际持仓,会考虑未成交单的情况,你前面开仓1手,未成交,tholding2还是等于0,还会触发后面的开仓条件的。 另外你可以使用debugout输出tholding2的值,看下开仓时的值是多少。 [此贴子已经被作者于2017/8/10 9:58:19编辑过]
|
-- 作者:滚雪球 -- 发布时间:2017/8/10 10:24:13 -- 但是我设置了TISREMAIN(1)=0了,必须是tholding2和TISREMAIN(1)同时为0啊 我把那个ORDERQUEUE去了,这个指令根据以前的经验问题比较多,同时把撤单追单设置成只撤不追,让程序自己下, 等下午开盘再看看。 我感觉是开盘收盘这种行情波动剧烈成交量大的时候容易出问题,并不是总有问题, 所以从根本上讲是函数本身的问题,而不是哪里写错了
|
-- 作者:滚雪球 -- 发布时间:2017/8/10 10:35:59 -- 不行,怎么改都不行,下面是开平仓代码,条件可以用 平空开多条件:=C>MA(C,10); 平多开空条件:=C<MA(C,10); 类似这样的条件来代替测试,挂了34个品种,30分钟周期,1秒轮询,软件是阿里云windows 2008 32位+金字塔4.22 32位,你们试试看能否重现故障 问题主要是出在开盘收盘,盘中好像偶尔也有 平空1:TSELLSHORT(平空条件1 AND TSELLHOLDING(1)>0 ,手数,LMT,CLOSE+2*MINDIFF); 平空2:TSELLSHORT(平空条件2 AND TSELLHOLDING(1)>0 ,手数,LMT,CLOSE+2*MINDIFF); 平多1:TSELL(平多条件1 AND TBUYHOLDING(1)>0,手数,LMT,CLOSE-2*MINDIFF); 平多2:TSELL(平多条件2 AND TBUYHOLDING(1)>0,手数,LMT,CLOSE-2*MINDIFF); 开多1:TBUY(开多条件1 AND THOLDING2=0 AND TISREMAIN(0)=0,手数,LMT,CLOSE+2*MINDIFF); 开多2:TBUY(开多条件2 AND THOLDING2=0 AND TISREMAIN(0)=0,手数,LMT,CLOSE+2*MINDIFF); 开空1:TBUYSHORT(开空条件1 AND THOLDING2=0 AND TISREMAIN(0)=0,手数,LMT,CLOSE-2*MINDIFF);
开空2:TBUYSHORT(开空条件2 AND THOLDING2=0 AND TISREMAIN(0)=0,手数,LMT,CLOSE-2*MINDIFF); [此贴子已经被作者于2017/8/10 10:37:17编辑过]
|
-- 作者:滚雪球 -- 发布时间:2017/8/10 11:27:47 -- 为避免过于频繁交易,我在平仓那里加了一个控制条件的,类似这样的,只限制平,不限制开 频繁交易限制条件:=TENTERBARS>0 OR LOST>5*MINDIFF;//下单后至少经历一个BAR或者亏损超过5跳 你们也可以加上,然后试一下
[此贴子已经被作者于2017/8/10 11:29:11编辑过]
|
-- 作者:wenarm -- 发布时间:2017/8/10 13:09:35 -- 软件版本是多少?重启后台程序化重复下单?,是的化在最新版中已经修复。 可以升级回到最新的在看 [此贴子已经被作者于2017/8/10 13:11:09编辑过]
|
-- 作者:滚雪球 -- 发布时间:2017/8/10 14:54:40 -- 软件版本4.22,好像不光是重启以后重复下单,在开盘收盘的时候特别严重,其他时候也有,我改成每3秒轮询一次后好像好了一点点,但没有彻底解决 我先升级再说
|