以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 金字塔软件问题提交 (http://222.73.7.161/bbs/list.asp?boardid=2) ---- 平昨仓位不足 (http://222.73.7.161/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函数和我计算的结果不同 仓位计算不存在问题,这一现象在10月16日也出现过一次,当时发现及时手工平仓。(猜测开平1应该是平老仓,开平2应该是平今仓) 9:55程序化交易下单: 2013-10-16 09:54:58.374 【下单】RB01 价3585.000000 量12 买卖1 类型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 量3 买卖1 类型0 开平1 账户 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 -- 9:58手工平仓: 2013-10-16 09:58:58.927 【下单】RB01 价3585.000000 量11 买卖1 类型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 量1 买卖1 类型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 平 卖 |