欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 持仓量返回为何不准确?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6100人关注过本帖树形打印复制链接

主题:持仓量返回为何不准确?

帅哥哟,离线,有人找我吗?
jimmyiii
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:60 积分:405 威望:0 精华:0 注册:2010/11/9 11:12:51
持仓量返回为何不准确?  发帖心情 Post By:2011/9/5 17:46:32 [显示全部帖子]

目前使用后台程序交易,大致是8-9秒钟的轮询。

 

程序是根据持仓量的查询结果计算下单手数并完成下单。

但是发生了好几次,下单成功且成交以后, 下一次轮询时返回的持仓数量和实际持仓数量不一致,导致了再一次的下单。

 

根据程序的逻辑应该是不会发生这种情况。 而且这种情况一天基本会发生一到2次, 不知是什么原因?

 

以下是查询持仓的语句:acstr是帐号变量。

 

tb:=tbuyholdingex(acstr,'',1);
ts:=tsellholdingex(acstr,'',1);
HOLD:=tb-ts;

 

照理说这个运行后hold应该是当前账户当前品种的实际持仓量。 可是会发生一个下单成交后, 下一次轮询查询持仓返回数不正确。

以下是今天的一个调试输出结果。 请不吝指教。

2011-09-05 10:14:47.771    28238  //帐号id
2011-09-05 10:14:47.771    HOLD=4  //持仓数
2011-09-05 10:14:47.771    tb=4  //多单持仓
2011-09-05 10:14:47.771    ts=0  //空单持仓
2011-09-05 10:14:47.801    P1=2  //应有仓位, 2多
2011-09-05 10:14:47.801    cutl=2 //平多数量
2011-09-05 10:14:47.802    cuts=0  //平空数量
2011-09-05 10:14:47.802    buyl=0  //买多数量
2011-09-05 10:14:47.802    buys=0  //买空数量

 

2011-09-05 10:14:56.768    28238  //帐号id
2011-09-05 10:14:56.768    HOLD=-1 //实际持仓数, 根据47秒的log,此处平2多已经成交, 实际持仓数是2多, 但是却返回了1空!
2011-09-05 10:14:56.769    tb=-1   //实际多单数, 根据47秒的log,此处平2多已经成交, 实际持仓数是2多, 但是却返回了-1!
2011-09-05 10:14:56.770    ts=0   //实际空单持仓数

2011-09-05 10:14:56.806    P1=2  //应有仓位, 2多
2011-09-05 10:14:56.806    cutl=0  //平多数量
2011-09-05 10:14:56.806    cuts=1  //根据错误的持仓数,此处又操作了平1空!
2011-09-05 10:14:56.807    buyl=2  //根据错误的持仓数,此处又操作了开2多!
2011-09-05 10:14:56.807    buys=0

 

不知以上的表达是否够清楚,能否找出问题所在!

 


 回到顶部
帅哥哟,离线,有人找我吗?
jimmyiii
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:60 积分:405 威望:0 精华:0 注册:2010/11/9 11:12:51
  发帖心情 Post By:2011/9/5 18:00:35 [显示全部帖子]

使用的专业版v2.64.  目前使用多帐号系统对不同帐号进行下单。

 

请问需要怎样的交易记录?

图片点击可在新窗口打开查看

 

上面描述的这段日志就是对应这儿的2笔交易, 47秒平了2多, 然后54秒又开了2多。


 回到顶部
帅哥哟,离线,有人找我吗?
jimmyiii
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:60 积分:405 威望:0 精华:0 注册:2010/11/9 11:12:51
  发帖心情 Post By:2011/9/5 18:07:21 [显示全部帖子]

今天没有开启日志记录, 明天可以记录一下然后发出来,希望不要对下单造成影响。

 

另外这种情况不是每一次都发生, 基本的下单都正常。偶有这种情况发生, 仅根据调试的输出,目前确实无法确定哪里出的问题。

 

但是有一点确实是可以肯定,在出问题的时候, tb:=tbuyholdingex(acstr,'',1); 这句语句返回的数字确实是与我的实际持有多单数量不符合。


 回到顶部
帅哥哟,离线,有人找我吗?
jimmyiii
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:60 积分:405 威望:0 精华:0 注册:2010/11/9 11:12:51
  发帖心情 Post By:2011/9/5 18:14:39 [显示全部帖子]

但是tbuyholdingex(acstr,'',1) 这句语句不是返回当前账户当前品种的多单持仓量吗?而且在8,9秒轮询后,之前的市价单是一定成交了的。不太理解怎么会会返回一个负数啊。

 回到顶部