以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  为什么撤单不成功。  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=79530)

--  作者:xhair
--  发布时间:2015/6/9 9:09:51
--  为什么撤单不成功。
 金字塔3.6正式版  金字塔模拟环境 K线模式

TCANCEL(1,1);
SLEEP(250);
TCANCEL(1,3);
SLEEP(250);
DEBUGFILE(ORDERLOGFILENAME,\'----对于未成交的开仓,无条件撤单--------------------\',\'\');

这样的代码为什么撤开仓单不成功。


同时咨询一下,怎么样判断一个品种当前是可以交易的?

谢谢~

--  作者:yukizzc
--  发布时间:2015/6/9 9:22:27
--  

这个依赖后台交易记录的,你代码里有开仓吗。

什么叫当前品种是可以交易的,您是指??


--  作者:十世
--  发布时间:2015/6/9 9:25:05
--  

1、TCANCEL只能在后台使用有效,您是后台吗?未成交委托中有开仓单吗?

2、市场有品种合约都可以交易


--  作者:xhair
--  发布时间:2015/6/9 9:31:32
--  
 当然有开仓,并有未成交的委托单。


同时咨询一下,怎么样判断一个品种当前是可以交易的?

注意,我说的不是当前品种;我的问题是如何知道指定的品种已开盘并没有收盘。



--  作者:xhair
--  发布时间:2015/6/9 9:32:44
--  
更正,应该是:当然有开仓代码,并有未成交的委托单。

--  作者:yukizzc
--  发布时间:2015/6/9 9:43:02
--  

后天监控记录那边有委托的??你测试的代码怎么样的,就写个tbuy和tcancel很容易测试的。

指定品种是否开盘,这个你自己直接通过时间time判断下。


--  作者:xhair
--  发布时间:2015/6/9 9:45:02
--  
 1 是后台交易;

2 请教如何在金字塔的代码中判断指定的品种已开盘并没有收盘
--  作者:yukizzc
--  发布时间:2015/6/9 9:52:04
--  

看下你的代码,我这边就写了两条语句然后没有问题。就是用time判断下,或者自己新建一个公式里面写closetime,然后去调用指定品种的closetime收盘时间

2015-06-09 09:48:34.315    【后台】IF00 TBuy 第 0 行出现信号
2015-06-09 09:48:34.331    【后台】IF00 TBuy 已成功触发下单操作 价格:4900.000000 数量:1 类型:0 账户: 品种:IF00
2015-06-09 09:48:34.331    【后台】下单已发送
2015-06-09 09:48:34.347    【后台】IF00 TCancel 出现信号 类型:1
2015-06-09 09:48:34.347    【后台】IF00 运行结束
2015-06-09 09:48:34.362    【下单】IF06 价4900.000000 量1 买卖0 类型0 开平0 账户1 Formula 1
2015-06-09 09:48:34.362    【指令】收到回报指令 ID = 501981175
2015-06-09 09:48:34.393    【回报】1 : IF1506 - 已报单 1 价格:4900.0 开 买
2015-06-09 09:48:34.409    【指令】收到回报指令 ID = 501981175
2015-06-09 09:48:39.925    【后台】IF00 TCancel 出现信号 类型:1
2015-06-09 09:48:39.925    【后台】IF00 运行结束
2015-06-09 09:48:39.972    【指令】收到回报指令 ID = 501981175
2015-06-09 09:48:40.003    【回报】1 : IF06 300股指1506 - 已撤单 量:1
2015-06-09 09:48:40.019    【指令】收到回报指令 ID = 501981175


--  作者:xhair
--  发布时间:2015/6/9 10:12:44
--  
我是在每次开仓前,就会把所有未成交的委托撤单,然后重新发开仓指令。

现在因为我没有办法检查是否有未成交的委托,所以只能用先撤单,再开仓。但是还是不行,还是会出现以前的没有撤,导致开仓的手数累加。

能否把你的代码发给我看一下,学习一下,谢谢~

--  作者:yukizzc
--  发布时间:2015/6/9 10:21:53
--  

就是一个最简单的两条语句,另外建议你勾上交易日志看下具体情况。还有可以判断是否有未成交单的看下TISPRVREMAIN(N)这个函数

tbuy(1,1,lmt,4900);
TCANCEL(1,1)