以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  金仕达多帐户 检测实际持仓的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=7227)

--  作者:fly
--  发布时间:2011/7/15 13:30:51
--  金仕达多帐户 检测实际持仓的问题

// 这是今天的情况,查询实际持仓错误

***168这个账户 交易过程如下:
1,2011-07-15 09:28:03.668    下空单3手
2,2011-07-15 09:41:02.411    下空单6手
3,2011-07-15 10:12:03.149    平空单3手(这次平空单的之前,检测实际持仓,还是9手)     到这里,实际持仓6手

问题出现在这里:
2011-07-15 10:19:02.909    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:6 类型:1 账户:***168 品种:IF08
2011-07-15 10:19:02.909    【后台】指定了委托账户或者组: ***168
2011-07-15 10:19:02.909    【后台】 金仕达 ***168 下单类型 1 - 1
2011-07-15 10:19:02.909    【后台】指定账户 ***168 下单
2011-07-15 10:19:02.909    【后台】实际账户 ***168 持仓 2   问题出现在这里,有6手空单,只检测到了2手而已,导致4手没平仓

 

以下是平仓部分本地日志

 

2011-07-15 10:12:03.149    【后台】IF08 TSellShort 出现信号
2011-07-15 10:12:03.149    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:3 类型:1 账户:***168 品种:IF08
2011-07-15 10:12:03.149    【后台】指定了委托账户或者组: ***168
2011-07-15 10:12:03.149    【后台】IF08 TSellShort 出现信号
2011-07-15 10:12:03.149    【后台】 金仕达 ***168 下单类型 1 - 1
2011-07-15 10:12:03.149    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:4 类型:1 账户:***809 品种:IF08
2011-07-15 10:12:03.149    【后台】指定账户 ***168 下单
2011-07-15 10:12:03.149    【后台】实际账户 ***168 持仓 9
2011-07-15 10:12:03.149    【后台】下单已发送
2011-07-15 10:12:03.149    【下单】IF08 价0.000000 量3 买卖0 类型1 开平2 账户***168 Formula 1
2011-07-15 10:12:03.149    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:12:03.149    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:12:03.149    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:12:03.149    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:12:03.181    【后台】指定了委托账户或者组: ***809
2011-07-15 10:12:03.181    【后台】 金仕达 ***809 下单类型 0 - 0
2011-07-15 10:12:03.181    【后台】 金仕达 ***809 下单类型 1 - 1
2011-07-15 10:12:03.181    【后台】指定账户 ***809 下单
2011-07-15 10:12:03.181    【后台】实际账户 ***809 持仓 13
2011-07-15 10:12:03.181    【后台】下单已发送
2011-07-15 10:12:03.181    【下单】IF08 价0.000000 量4 买卖0 类型1 开平2 账户***809 Formula 1
2011-07-15 10:12:03.181    【后台】 金仕达 ***809 下单类型 0 - 0
2011-07-15 10:12:03.196    【后台】 金仕达 ***809 下单类型 0 - 0
2011-07-15 10:12:03.196    【后台】 金仕达 ***809 下单类型 0 - 0
2011-07-15 10:12:03.372    【回报】***168 : IF08 - 正在申报 3 价格:3126.60 平仓 买入
2011-07-15 10:12:03.442    【回报】***809 : IF08 - 正在申报 4 价格:3126.60 平仓 买入
2011-07-15 10:12:03.582    【回报】***168 : IF08 已成交 1 价格:3125.6 平 买
2011-07-15 10:12:03.632    【回报】***168 : IF08 全部成交 2 价格:3125.8 平 买
2011-07-15 10:12:03.732    【回报】***809 : IF08 已成交 1 价格:3125.8 平 买
2011-07-15 10:12:03.742    【回报】***809 : IF08 已成交 1 价格:3125.8 平 买
2011-07-15 10:12:03.782    【回报】***809 : IF08 已成交 1 价格:3125.8 平 买
2011-07-15 10:12:03.812    【回报】***809 : IF08 全部成交 1 价格:3125.8 平 买
2011-07-15 10:12:08.157    【后台】IF08 TSellShort 出现信号
2011-07-15 10:12:08.157    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户:***550 品种:IF08
2011-07-15 10:12:08.157    【后台】指定了委托账户或者组: ***550
2011-07-15 10:12:08.157    【后台】IF08 TSellShort 出现信号
2011-07-15 10:12:08.157    【后台】 金仕达 ***550 下单类型 0 - 0
2011-07-15 10:12:08.157    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:2 类型:1 账户:***190 品种:IF08
2011-07-15 10:12:08.157    【后台】 金仕达 ***550 下单类型 0 - 0
2011-07-15 10:12:08.157    【后台】 金仕达 ***550 下单类型 1 - 1
2011-07-15 10:12:08.157    【后台】IF08 运行结束
2011-07-15 10:12:08.157    【后台】指定账户 ***550 下单
2011-07-15 10:12:08.157    【后台】实际账户 ***550 持仓 5
2011-07-15 10:12:08.157    【后台】下单已发送
2011-07-15 10:12:08.157    【下单】IF08 价0.000000 量1 买卖0 类型1 开平2 账户***550 Formula 1
2011-07-15 10:12:08.157    【后台】 金仕达 ***550 下单类型 0 - 0
2011-07-15 10:12:08.157    【后台】 金仕达 ***550 下单类型 0 - 0
2011-07-15 10:12:08.188    【后台】指定了委托账户或者组: ***190
2011-07-15 10:12:08.188    【后台】 金仕达 ***190 下单类型 0 - 0
2011-07-15 10:12:08.188    【后台】 金仕达 ***190 下单类型 0 - 0
2011-07-15 10:12:08.188    【后台】 金仕达 ***190 下单类型 0 - 0
2011-07-15 10:12:08.188    【后台】 金仕达 ***190 下单类型 0 - 0
2011-07-15 10:12:08.188    【后台】 金仕达 ***190 下单类型 1 - 1
2011-07-15 10:12:08.188    【后台】指定账户 ***190 下单
2011-07-15 10:12:08.188    【后台】实际账户 ***190 持仓 7
2011-07-15 10:12:08.188    【后台】下单已发送
2011-07-15 10:12:08.188    【下单】IF08 价0.000000 量2 买卖0 类型1 开平2 账户***190 Formula 1
2011-07-15 10:12:08.381    【回报】***550 : IF08 - 正在申报 1 价格:3126.80 平仓 买入
2011-07-15 10:12:08.441    【回报】***190 : IF08 - 正在申报 2 价格:3126.80 平仓 买入
2011-07-15 10:12:08.591    【回报】***550 : IF08 全部成交 1 价格:3125.8 平 买
2011-07-15 10:12:08.661    【回报】***190 : IF08 已成交 1 价格:3125.8 平 买
2011-07-15 10:12:08.731    【回报】***190 : IF08 全部成交 1 价格:3125.8 平 买

........

........

........

........

 

2011-07-15 10:19:02.909    【后台】IF08 TSellShort 出现信号
2011-07-15 10:19:02.909    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:6 类型:1 账户:***168 品种:IF08
2011-07-15 10:19:02.909    【后台】指定了委托账户或者组: ***168
2011-07-15 10:19:02.909    【后台】 金仕达 ***168 下单类型 1 - 1
2011-07-15 10:19:02.909    【后台】指定账户 ***168 下单
2011-07-15 10:19:02.909    【后台】实际账户 ***168 持仓 2
2011-07-15 10:19:02.909    【后台】下单已发送
2011-07-15 10:19:02.909    【下单】IF08 价0.000000 量2 买卖0 类型1 开平2 账户***168 Formula 1
2011-07-15 10:19:02.909    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:19:02.909    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:19:02.909    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:19:02.924    【后台】 金仕达 ***168 下单类型 0 - 0
2011-07-15 10:19:03.143    【回报】***168 : IF08 - 正在申报 2 价格:3125.80 平仓 买入
2011-07-15 10:19:03.413    【回报】***168 : IF08 全部成交 2 价格:3124.6 平 买


--  作者:fly
--  发布时间:2011/7/15 13:40:32
--  

以下是用debugfile输出的记录,贴出供工作人员参考

 

2011-07-15 09:28:03.637    ***168-buyholding=0  //检查多单数量 正确
2011-07-15 09:28:13.797    ***168-buyholding=0
2011-07-15 09:28:23.953    ***168-buyholding=0
2011-07-15 09:28:34.062    ***168-buyholding=0
2011-07-15 09:28:44.233    ***168-buyholding=0
2011-07-15 09:28:54.357    ***168-buyholding=0
2011-07-15 09:41:02.411    ***168-buyholding=0
2011-07-15 09:41:17.627    ***168-buyholding=0
2011-07-15 09:41:32.852    ***168-buyholding=0
2011-07-15 09:41:48.062    ***168-buyholding=0
2011-07-15 10:12:03.149    ***168-sellholding=9  //检查空单数量 正确 
2011-07-15 10:12:09.191    ***168-sellholding=2  //检查空单数量 错误  平空3手成交,这里应该是6 
2011-07-15 10:12:14.281    ***168-sellholding=2
2011-07-15 10:12:20.365    ***168-sellholding=2
2011-07-15 10:12:26.449    ***168-sellholding=2
2011-07-15 10:12:32.518    ***168-sellholding=2
2011-07-15 10:12:37.588    ***168-sellholding=2
2011-07-15 10:12:42.658    ***168-sellholding=2
2011-07-15 10:12:47.743    ***168-sellholding=2
2011-07-15 10:12:53.827    ***168-sellholding=2
2011-07-15 10:12:59.911    ***168-sellholding=2
2011-07-15 10:19:07.924    ***168-sellholding=4 //6手平仓单,应该全平的。但只检查到2手,所以只平了2手,还剩4手 正确
2011-07-15 10:19:23.137    ***168-sellholding=4
2011-07-15 10:19:38.363    ***168-sellholding=4
2011-07-15 10:19:53.557    ***168-sellholding=4
2011-07-15 10:20:03.759    ***168-sellholding=4
2011-07-15 10:20:09.841    ***168-sellholding=4
2011-07-15 10:20:19.991    ***168-sellholding=4
2011-07-15 10:20:30.131    ***168-sellholding=4
2011-07-15 10:20:40.255    ***168-sellholding=4
2011-07-15 10:20:50.411    ***168-sellholding=0
2011-07-15 10:52:03.283    ***168-buyholding=9
2011-07-15 10:52:13.417    ***168-buyholding=6
2011-07-15 10:52:23.557    ***168-buyholding=6
2011-07-15 10:52:33.712    ***168-buyholding=6
2011-07-15 10:52:43.852    ***168-buyholding=6
2011-07-15 10:52:53.977    ***168-buyholding=6


--  作者:fly
--  发布时间:2011/7/15 13:48:09
--  

还有2个情况:
1,没有获取正确持仓,不仅存在于金士达平台,可能也存在于CTP平台。

2,tsellholdingex(\'帐号\',\'\',1)的取值都是采用正数(或者0)吧。有时用debugfile的输出结果为"负数"


--  作者:bbking
--  发布时间:2011/7/15 14:03:39
--  

你都会用后台了还用tsellholdingex函数做持仓数值?

干嘛不用虚拟持仓?

难道你后台就一个系统?

建议后台用户不要用多帐户下单的功能~

最后直接在程序里面写死下单的帐户与数量~用虚拟持仓~

我的后台多帐户操作没出现过问题

我的图表多帐户下单经常出问题~(因为没办法写死)

平均每周至少出现一次...

不是污蔑金字塔...

有些问题用户不要为自己找麻烦得自己想办法解决...


--  作者:fly
--  发布时间:2011/7/15 14:09:55
--  

bbking,弄个您用虚拟持仓的例子上来,让俺学习学习,先谢谢!


--  作者:阿火
--  发布时间:2011/7/15 14:10:51
--  

bbking兄,你没理解。不是写死不写死的问题

比如目前持仓6手空单,现在程序发出平空6手,在下平仓单之前,金字塔会检测一下目前账户的实际持仓,可是由于检测错误,实际上只平了2手

明白了吗?

 

2011-07-15 10:19:02.909    【后台】IF08 TSellShort 已成功触发下单操作 价格:0.000000 数量:6 类型:1 账户:***168 品种:IF08
2011-07-15 10:19:02.909    【后台】指定了委托账户或者组: ***168
2011-07-15 10:19:02.909    【后台】 金仕达 ***168 下单类型 1 - 1
2011-07-15 10:19:02.909    【后台】指定账户 ***168 下单
2011-07-15 10:19:02.909    【后台】实际账户 ***168 持仓 2                // 这里实际是6手
2011-07-15 10:19:02.909    【后台】下单已发送
2011-07-15 10:19:02.909    【下单】IF08 价0.000000 量2 买卖0 类型1 开平2 账户***168 Formula 1


--  作者:王锋
--  发布时间:2011/7/15 14:17:13
--  
这种情况未必是金字塔的BUG,主要是金仕达接口在多帐户下单之后的信息返回有遗漏或者顺序颠倒等情况,导致之前的平仓单实际成交单没有及时收到成交回报,导致金字塔认为有4手平仓挂单未成交。这个情况还需用户在继续观测,看看是否真的是遗漏,还是真的用户之前有平仓挂单在哪里
--  作者:bbking
--  发布时间:2011/7/15 14:25:47
--  
以下是引用fly在2011-7-15 14:09:55的发言:

bbking,弄个您用虚拟持仓的例子上来,让俺学习学习,先谢谢!

比如目前持仓6手空单,现在程序发出平空6手,在下平仓单之前,金字塔会检测一下目前账户的实际持仓,可是由于检测错误,实际上只平了2手

 

比如这类问题可能是金字塔调用CTP持仓的函数有了问题~这个可能是金字塔本身的问题也可能是CTP的问题~也可能是行情变动中一瞬间什么什么的问题...

反正不要给自己找这类麻烦~直接用个外生全局变量做虚拟持仓~另外设置个下单参数~控制每次下单的量~这些除了不需要用到tsellholdingex这类函数之外

还有个好处~可以多系统操作同一个品种而不冲突...

虚拟持仓的例子很多~你随便在论坛上找一下就知道了...


--  作者:阿火
--  发布时间:2011/7/15 15:00:17
--  
以下是引用王锋在2011-7-15 14:17:13的发言:
这种情况未必是金字塔的BUG,主要是金仕达接口在多帐户下单之后的信息返回有遗漏或者顺序颠倒等情况,导致之前的平仓单实际成交单没有及时收到成交回报,导致金字塔认为有4手平仓挂单未成交。这个情况还需用户在继续观测,看看是否真的是遗漏,还是真的用户之前有平仓挂单在哪里

 

信息返回有遗漏或者顺序颠倒等情况 你可以仔细去检查日志,认真看看是否有遗漏?看看是否有顺序颠倒。每一个成交回报都是存在的。

或者你说人家有遗漏或者顺序颠倒,可以拿出证据

 

用户之前是否有任何的平仓挂单。 这个你不用检查了。我亲眼所见。其实从日志本身你也可以看出来。有任何下单,日志里都会有体现。

[此贴子已经被作者于2011-7-15 15:35:46编辑过]

--  作者:王锋
--  发布时间:2011/7/15 15:23:46
--  

那就是用户在用老的金字塔版本没用最新的2.58,否则那就见鬼了.

此外,金仕达的详细成交回报的细节内容金字塔的日志不会记录,如果用户已经是最新的2.58版,那就一定是与成交回报的返回信息数量和顺序上有误有关

[此贴子已经被作者于2011-7-15 15:26:44编辑过]