等级: 专业版
- 注册:
- 2021-5-20
- 曾用名:
|
IF TBUYHOLDINGex(AC,STKLABEL,1)=0 AND TREMAINQTY(1,AC,STKLABEL)=0 AND BCON1 THEN
BEGIN
TSELLSHORT(TSELLHOLDINGEX(AC,STKLABEL,1)>0,TSELLHOLDINGEX(AC,STKLABEL,1),LMT,CLOSE);
TBUY(1 ,TN,LMT,CLOSE);
END
IF TBUYHOLDINGex(AC,STKLABEL,1)=0 AND TREMAINQTY(1,AC,STKLABEL)=0 AND BCON2 THEN
BEGIN
TSELLSHORT(TSELLHOLDINGEX(AC,STKLABEL,1)>0,TSELLHOLDINGEX(AC,STKLABEL,1),LMT,CLOSE);
TBUY(1 ,TN,LMT,CLOSE);
END
问题如下:
1、基本情况:同时交易50个品种,1分钟周期,一个交易日大约有800次左右的交易;
2、现在大部分的交易都正常,但总是有几笔重复发单的交易,且是在同一时间同一价格发单的交易。详见委托记录和后台监控记录(重复发单的记录已在序号前用****标示出);
(1)BargainList文件。序号825、826的硅铁,880-883的橡胶,886-888的轧卷板。
(2)AccountExecList文件。序号193-194,139-141,132-134
在上述文件中可以看到,每笔交易都是一开一平对应的,就是上述异常中出现不对应,一平两开或直接两开。
3、在上面的代码中,当前价格是有可能同时既满足BCON1又满足BCON2的,但是发单前已用BUYHOLDINGex(AC,STKLABEL,1)=0 AND TREMAINQTY(1,AC,STKLABEL)=0做了限制,按道理BCON1触发后,BCON2就不会被触发;
4、由于是在同一时间和同一价格同时发单的,有没可能是BCON1自身被重复触发了?
5、请帮我检查UYHOLDINGex(AC,STKLABEL,1)=0 AND TREMAINQTY(1,AC,STKLABEL)=0这样用来限制开仓的写法有没问题?是不是这样检查持仓的方法不正确而导致开仓指令被重复触发的?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?
x
|