以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  市价委托也不能成交,是为什么?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=7342)

--  作者:zealot123
--  发布时间:2011/7/26 21:38:25
--  市价委托也不能成交,是为什么?

1秒固定轮询,

下单设置:20秒不成交主动撤单。未成交10秒后在5个变动价范围内主动追单,否则就主动撤单(勾选:市价追单)

 

 

程序大概是这样的:

......

 

If (time>=900 and currenttime<1453) then tradetime:=1; else tradetime:=0;

.......
if cond1 then begin

 

If (Tholding<0 or ttype(1)=3) then tSELLSHORT(1,0,MKT ),ORDERQUEUE;SLEEP(1000); //平空仓

 

if tradetime=1 then begin

tBUY(1,lots,MKT ),ORDERQUEUE;SLEEP(1000);//开多仓

Extgbdataset(\'CFBK2\',1) ;

DEBUGFILE(‘D:\\TEST.TXT’, ‘CFBK2  %.2f\', extgbdata(‘CFBK2\'));

Extgbdataset (\'CFbuySL\', low) ;

End;

Sleep(1000);

 

end;

..........

 

 

就是在满足开仓条件时候,也在调试文件中输出。

调试文件中显示满足开仓条件

 

(此刻有空单)

 

2011-07-26 09:42:25.353    CFBK2  1.00  //显示满足开多条件
2011-07-26 09:42:29.409    CFBK2  1.00
2011-07-26 09:42:33.465    CFBK2  1.00
2011-07-26 09:42:37.521    CFBK2  1.00
2011-07-26 09:42:41.562    CFBK2  1.00
2011-07-26 09:42:45.633    CFBK2  1.00
2011-07-26 09:42:49.705    CFBK2  1.00

。。。

2011-07-26 09:44:54.412    CFBK2  1.00
2011-07-26 09:44:58.483    CFBK2  1.00
2011-07-26 09:45:02.539    CFBK2  1.00
2011-07-26 09:45:06.595    CFBK2  1.00

 

一直到本根k线结束,也没有平开仓成功,结果是下根k线由另外的控制语句平掉空仓,开多单。

 

请教这是为什么,市价委托单不是能确保成交吗?

谢谢!

 

 


--  作者:zealot123
--  发布时间:2011/7/26 22:11:28
--  
而且前段时间这个语句都能比较好得开平仓,是语句有bug,不够严密,还是条件设定不合理?
--  作者:阿火
--  发布时间:2011/7/26 22:29:40
--  

是什么交易平台?金仕达还是ctp,交易棉花吗

如果是ctp且非上期所品种,市价是可以成交的(除非碰到涨跌停板)

如果是金仕达平台,市价单是以对手价+默认的点数报单,不保证可以成交


--  作者:zealot123
--  发布时间:2011/7/26 23:24:39
--  
以下是引用leevolvo在2011-7-26 22:29:40的发言:

是什么交易平台?金仕达还是ctp,交易棉花吗

如果是ctp且非上期所品种,市价是可以成交的(除非碰到涨跌停板)

如果是金仕达平台,市价单是以对手价+默认的点数报单,不保证可以成交

海通的綜合交易平台,交易棉花。


--  作者:fly
--  发布时间:2011/7/27 9:02:47
--  

记录当时的交易日志了吗?把当时的交易日志,也贴出来.看看


--  作者:王锋
--  发布时间:2011/7/27 9:14:26
--  
结合交易日志再看看下单委托情况,此外ORDERQUEUE;SLEEP(1000); 你这样的使用也不是很合理,使用了ORDERQUEUE顺序下单后,就不要再去用SLEEP了
--  作者:zealot123
--  发布时间:2011/7/27 23:10:08
--  
以下是引用fly在2011-7-27 9:02:47的发言:

记录当时的交易日志了吗?把当时的交易日志,也贴出来.看看

2011-07-26 09:42:10.143    【后台】CF00 运行结束
2011-07-26 09:42:14.199    【后台】CF00 运行结束
2011-07-26 09:42:18.271    【后台】CF00 运行结束
....
2011-07-26 09:44:59.497    【后台】CF00 运行结束
2011-07-26 09:45:03.553    【后台】CF00 运行结束
2011-07-26 09:45:07.609    【后台】CF00 运行结束

 

//一直没有给出信号,直到下一个轮询,由另外的控制语句给出下单信号,下单平空仓,并开多仓。

2011-07-26 09:45:08.608    【后台】CF00 TSellShort 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:CF00
2011-07-26 09:45:08.608    【后台】实际账户持仓 6
2011-07-26 09:45:08.608    【后台】队列下单
2011-07-26 09:45:08.608    【队列】当前队列准备处理数据:1条
2011-07-26 09:45:08.608    【队列】发送下单指令
2011-07-26 09:45:08.623    【下单】已经调整为 实际持仓为 6
2011-07-26 09:45:08.623    【下单】CF01 价0.000000 量6 买卖0 类型1 开平1 账户******** Formula 1
2011-07-26 09:45:08.748    【回报】84020437 : CF201 - 已报单 6 价格:0 平 买
2011-07-26 09:45:09.014    【回报】84020437 : CF201 - 已成交 6 价格:21480 平 买
2011-07-26 09:45:09.614    【后台】CF00 TBuy 已成功触发下单操作 价格:0.000000 数量:6 类型:1 账户: 品种:CF00
2011-07-26 09:45:09.614    【后台】队列下单
2011-07-26 09:45:09.634    【队列】当前队列准备处理数据:1条
2011-07-26 09:45:09.634    【队列】发送下单指令
2011-07-26 09:45:09.634    【下单】CF01 价0.000000 量6 买卖0 类型1 开平0 账户********** Formula 1
2011-07-26 09:45:09.664    【回报】84020437 : CF201 - 已报单 6 价格:0 开 买
2011-07-26 09:45:09.894    【回报】84020437 : CF201 - 已成交 2 价格:21480 开 买
2011-07-26 09:45:09.934    【回报】84020437 : CF201 - 已成交 4 价格:21480 开 买


--  作者:zealot123
--  发布时间:2011/7/27 23:13:07
--  
以下是引用王锋在2011-7-27 9:14:26的发言:
结合交易日志再看看下单委托情况,此外ORDERQUEUE;SLEEP(1000); 你这样的使用也不是很合理,使用了ORDERQUEUE顺序下单后,就不要再去用SLEEP了

我以前也不用sleep,但是发现只用orderqueue的话,有时候会发生还未平仓就开仓的情况,所以为了保险,设置了sleep。

而且,即使使用了sleep,应该也不会导致我开头说的这个的情况吧。


--  作者:阿火
--  发布时间:2011/7/28 8:30:53
--  

从日志上看,是没有发出指令。

 

未平仓就开仓的情况,可以参考我之前的帖子 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=7202&replyID=&skin=1

 

或者 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=7307&replyID=&skin=1

 

[此贴子已经被作者于2011-7-28 8:31:02编辑过]

--  作者:zealot123
--  发布时间:2011/7/28 18:16:04
--  
以下是引用leevolvo在2011-7-28 8:30:53的发言:

从日志上看,是没有发出指令。

 

未平仓就开仓的情况,可以参考我之前的帖子 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=7202&replyID=&skin=1

 

或者 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=7307&replyID=&skin=1

 

[此贴子已经被作者于2011-7-28 8:31:02编辑

谢谢你对开平仓的指导。

 

回到原来的主题,为什么调试时候显示应该已经执行开仓语句了,交易日志却显示没有给出开仓信号?