以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  平昨仓位不足  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=57817)

--  作者:sunni520
--  发布时间:2013/10/21 23:17:30
--  平昨仓位不足

Sell(Type,Vol,Price,StoplmtPrice,Code,Market,AccountID,Valid)


其中:VOL是指定的平仓数量


当前持仓7个(6个老仓,1个今仓)


平仓时,sell怎么区分老仓还是新仓?


如果平7个仓,会出现  “平昨仓位不足”


如果平1个仓,平掉的是老仓还是今仓?怎样指定平今仓或平老仓?


2013-10-21 14:40:37.479    【下单】RB05 价3656.000000 量7 买卖0 类型0 开平1 账户000000 Formula 1

2013-10-21 14:40:37.479    【下单】确认报单已发送 ID=1781334978 RefID = 887

2013-10-21 14:40:37.479    【回报】000000 : rb1405 - 综合交易平台:平昨仓位不足



--  作者:lichenghu
--  发布时间:2013/10/22 9:05:01
--  

交易日志上面的部分也贴出看下

1,全平系统会自动区分,我们本地测试下后回复

2,只平一手的话是平今仓


--  作者:sunni520
--  发布时间:2013/10/22 10:18:56
--  
我是通过VBA读取公式信号,直接用ORDER.SELL()下达交易指令
以下是RB01和RB05换仓交易日志记录:

2013-10-21 11:00:04.984    【下单】RB01 价3563.000000 量1 买卖0 类型0 开平2 账户000001 Formula 1
2013-10-21 11:00:04.984    【下单】确认报单已发送 ID=1781334966 RefID = 875
2013-10-21 11:00:05.140    【下单】RB05 价3635.000000 量1 买卖1 类型0 开平0 账户000001 Formula 1
2013-10-21 11:00:05.140    【下单】确认报单已发送 ID=1781334967 RefID = 876
2013-10-21 11:00:05.140    【指令】收到回报指令 ID = 1781334966 RefID = 875
2013-10-21 11:00:05.187    【指令】收到回报指令 ID = 1781334966 RefID = 875
2013-10-21 11:00:05.187    【指令】收到回报指令 ID = 1781334966 RefID = 875
2013-10-21 11:00:05.640    【指令】收到成交回报指令 REFID = 875
2013-10-21 11:00:05.655    【指令】收到回报指令 ID = 1781334967 RefID = 876
2013-10-21 11:00:05.655    【指令】收到回报指令 ID = 1781334967 RefID = 876
2013-10-21 11:00:05.655    【指令】收到回报指令 ID = 1781334967 RefID = 876
2013-10-21 11:00:06.155    【指令】收到成交回报指令 REFID = 876
2013-10-21 11:00:06.171    【回报】000001 : rb1401 - 已报单 1 价格:3563 平 买
2013-10-21 11:00:06.216    【回报】000001 : rb1401 - 已成交 1 价格:3562 平 买
2013-10-21 11:00:06.216    【回报】000001 : rb1405 - 已报单 1 价格:3635 开 卖
2013-10-21 11:00:06.219    【回报】000001 : rb1405 - 已成交 1 价格:3636 开 卖

问题1:ORDER.SELL() 中,如果同时存在今日仓和昨日仓是不是需要分别下单?如何实现平今优先?
问题2:日志中
             【下单】确认报单已发送      是不是可理解为金字塔已经向期货公司发送报单?
             【指令】收到回报指令         是不是指期货公司收到报单?  
             【指令】收到成交回报指令    是不是表示已经成交?
         



--  作者:董小球
--  发布时间:2013/10/22 16:12:05
--  
不用担心平今仓老仓的问题,因为交易所的规则是,当你平仓的时候会先将老仓平掉,所以如果你设置平仓一手,那么就会少一手老仓了。

当然了,如果你就非要平今天的仓位也可以,你下单的时候选择平今指令就可以只平今天的仓位咯。

--  作者:王锋
--  发布时间:2013/10/22 16:48:53
--  
楼主补充一下,您通过ORDER.SELL平仓是使用哪个交易接口的?金仕达,CTP,恒生?
--  作者:sunni520
--  发布时间:2013/10/22 22:24:53
--  
用的是CTP接口,实盘交易。

前面的问题还是不明白,请耐心解释一下,谢谢!

问题1:ORDER.SELL() 中,如果同时存在今日仓和昨日仓是不是需要分别下单(一起下单就会出现“平昨仓位不足”,论坛中搜索发现有人出现“平今仓位不足”)?如何实现平今优先(部分平仓时有可能节省手续费)?
问题2:日志中
             【下单】确认报单已发送      是不是可理解为金字塔已经向期货公司发送报单?
             【指令】收到回报指令         是不是指期货公司收到报单?  
             【指令】收到成交回报指令    是不是表示已经成交?

--  作者:sunni520
--  发布时间:2013/10/22 22:30:15
--  
接上
在总仓数量不大的情况下,目前用FOR循环连续下平仓单,每次平一个仓,克服了“平昨仓位不足”的问题,但这只是权宜之计。

--  作者:王锋
--  发布时间:2013/10/22 23:13:24
--  

检查了一下金字塔的代码,在你有老仓和今仓时,金字塔会自动为你平2次的。应该不会有什么问题。

你是不是总的持仓仓位计算的有问题了导致的?


--  作者:sunni520
--  发布时间:2013/10/23 9:03:17
--  md函数和我计算的结果不同

仓位计算不存在问题,这一现象在1016日也出现过一次,当时发现及时手工平仓。(猜测开平1应该是平老仓,开平2应该是平今仓)


9:55程序化交易下单: 

2013-10-16 09:54:58.374    【下单】RB01 3585.000000 12 买卖类型0 开平1 账户 Formula 1

2013-10-16 09:54:58.405    【下单】确认报单已发送 ID=-767687953 RefID = 707

2013-10-16 09:54:58.405    【下单】RB05 3705.000000 买卖类型开平账户 Formula 1

2013-10-16 09:54:58.405    【下单】确认报单已发送 ID=-767687952 RefID = 708

2013-10-16 09:54:58.421    【回报】 : rb1401 - 综合交易平台:平昨仓位不足

2013-10-16 09:54:58.437    【指令】收到回报指令 ID = -767687952 RefID = 708

2013-10-16 09:54:58.437    【指令】收到回报指令 ID = -767687952 RefID = 708

2013-10-16 09:54:58.437    【回报】 : rb1405 - 已报单 3 价格:3705  

2013-10-16 09:54:58.483    【指令】收到回报指令 ID = -767687952 RefID = 708

2013-10-16 09:54:58.781    【指令】收到成交回报指令 REFID = 708

2013-10-16 09:54:58.797    【回报】 : rb1405 - 已成交 3 价格:3705  

 



--  作者:sunni520
--  发布时间:2013/10/23 9:03:41
--  

958手工平仓:


2013-10-16 09:58:58.927    【下单】RB01 3585.000000 11 买卖类型0 开平1 账户 Formula 0

2013-10-16 09:59:00.615    【下单】确认报单已发送 ID=-767687923 RefID = 737

2013-10-16 09:59:00.661    【指令】收到回报指令 ID = -767687923 RefID = 737

2013-10-16 09:59:00.677    【指令】收到回报指令 ID = -767687923 RefID = 737

2013-10-16 09:59:00.677    【回报】 : rb1401 - 已报单 11 价格:3585  

2013-10-16 09:59:00.715    【指令】收到回报指令 ID = -767687923 RefID = 737

2013-10-16 09:59:00.715    【指令】收到成交回报指令 REFID = 737

2013-10-16 09:59:00.715    【指令】收到回报指令 ID = -767687923 RefID = 737

2013-10-16 09:59:00.715    【指令】收到成交回报指令 REFID = 737

2013-10-16 09:59:00.715    【指令】收到回报指令 ID = -767687923 RefID = 737

2013-10-16 09:59:01.028    【指令】收到成交回报指令 REFID = 737

2013-10-16 09:59:01.043    【回报】 : rb1401 - 已成交 1 价格:3586  

2013-10-16 09:59:01.043    【回报】 : rb1401 - 已成交 1 价格:3586  

2013-10-16 09:59:01.043    【回报】 : rb1401 - 已成交 9 价格:3586  

 

2013-10-16 09:59:58.377    【下单】RB01 3583.000000 买卖类型0 开平2 账户 Formula 1

2013-10-16 09:59:58.408    【下单】确认报单已发送 ID=-767687921 RefID = 739

2013-10-16 09:59:58.439    【指令】收到回报指令 ID = -767687921 RefID = 739

2013-10-16 09:59:58.455    【指令】收到回报指令 ID = -767687921 RefID = 739

2013-10-16 09:59:58.455    【指令】收到回报指令 ID = -767687921 RefID = 739

2013-10-16 09:59:58.752    【回报】 : rb1401 - 已报单 1 价格:3583  

2013-10-16 09:59:58.752    【指令】收到成交回报指令 REFID = 739

2013-10-16 09:59:58.767    【回报】 : rb1401 - 已成交 1 价格:3584