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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 登陆成功时,并不能获取到账户持仓,得等上1.5秒左右才正常

   

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


  共有4978人关注过本帖平板打印复制链接

主题:登陆成功时,并不能获取到账户持仓,得等上1.5秒左右才正常

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
登陆成功时,并不能获取到账户持仓,得等上1.5秒左右才正常  发帖心情 Post By:2012/8/28 14:18:53 [只看该作者]

比如账户800988有空单17手

 

登陆时,刚登上的瞬间,持仓信息为空,1.5秒左右才出现17手持仓

实盘和模拟单一样

 

相关代码如下:

if not(islastbar) then exit;
ac:='800988';

buyhold:=tbuyholdingex(ac,stklabel,1);
sellhold:=tsellholdingex(ac,stklabel,1);
leixing:=taccount2(2,ac);

debugfile('c:\canwei.txt','leixing='&numtostr(leixing,0)&' buyhold='&numtostr(buyhold,0)&' sellhold=%.0f',sellhold);

 

然后手工登陆账户,就可以发现:

taccount2(2,ac) = 2 时(表示登陆成功了),buyhold 和 sellhold 依然为0 ,1.5秒后才转为正常。

调试记录如下:

2012-08-28 14:12:25.921    leixing=0 buyhold=0 sellhold=0  //未登陆
2012-08-28 14:12:26.421    leixing=0 buyhold=0 sellhold=0
2012-08-28 14:12:26.921    leixing=0 buyhold=0 sellhold=0
2012-08-28 14:12:27.421    leixing=0 buyhold=0 sellhold=0
2012-08-28 14:12:28.437    leixing=255 buyhold=0 sellhold=0  //登陆中
2012-08-28 14:12:28.921    leixing=2 buyhold=0 sellhold=0     //登陆后
2012-08-28 14:12:29.421    leixing=2 buyhold=0 sellhold=0
2012-08-28 14:12:29.921    leixing=2 buyhold=0 sellhold=0   
2012-08-28 14:12:30.921    leixing=2 buyhold=0 sellhold=17    // 转为正常
2012-08-28 14:12:31.421    leixing=2 buyhold=0 sellhold=17
2012-08-28 14:12:31.921    leixing=2 buyhold=0 sellhold=17
2012-08-28 14:12:32.421    leixing=2 buyhold=0 sellhold=17
2012-08-28 14:12:32.921    leixing=2 buyhold=0 sellhold=17

 

这种对实盘的影响主要表现在账户中断后自动重连的瞬间

重连成功的那一刻,持仓信息和实际的持仓信息不一致,导致模型(后台模型,用了tsellholdingex和tbuyholdingex控制下单)判断账户里没持仓,然后重新下单,造成重复开仓

希望可以改进成 :等buyhold和sellhold的取值正确后,才让taccount2(2,ac)等于相应的类型值。


 回到顶部