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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → VBA运行一次需要7秒左右,导致金字塔tick数据接收存在很大延时的情况。

   

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


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

主题:VBA运行一次需要7秒左右,导致金字塔tick数据接收存在很大延时的情况。

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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2015/12/10 13:37:45
VBA运行一次需要7秒左右,导致金字塔tick数据接收存在很大延时的情况。  发帖心情 Post By:2016/4/1 16:33:59 [显示全部帖子]

VBA中,每一次定时器轮询,连续调用19个品种的公式计算,这个公式计算的时间有点长,19个品种大概需要7秒左右的时间。

现在发现,当公式长时间计算时,品种的tick数据接收就会比其他的金字塔tick数据慢,存在的延时比较大。导致下单延时特别严重


数据接收和公式计算怎么不分开在不同的线程中运行? 
而且金字塔一直是在用一个cpu在运算,当公式计算比较复杂而且品种多的时候,金字塔完全顶不住,延时太长了,有将近10秒的时间。 有没有计划解决这些问题呢。
多线程协同运行,这个是未来方向啊。单靠一个cpu,瓶颈太严重了。

后台多核的方式,存在着有时候开、平仓不对的情况,后来也没检查出来情况。结果导致只能用vba的单核情况。

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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2015/12/10 13:37:45
  发帖心情 Post By:2016/4/5 9:08:51 [显示全部帖子]

这个完全就能测试出来的啊。

就是写一个公式,这个公式执行完需要1秒的时间,然后在vba的定时器中循环10个品种,都调用这个公式。

然后观察其中任意一个品种的tick接收。


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


加好友 发短信
等级:新手上路 帖子:46 积分:0 威望:0 精华:0 注册:2015/12/10 13:37:45
  发帖心情 Post By:2016/4/5 9:11:12 [显示全部帖子]

这个完全就能测试出来的啊。

就是写一个公式,这个公式执行完需要1秒的时间,然后在vba的定时器中循环10个品种,都调用这个公式。

然后观察其中任意一个品种的tick接收。
调用过程很简单的,就是类似于

for i=1 to iCodeCount
'循环code,调用公式
Set Formula = marketdata.STKINDI(sCode,sMarket,sPolicy,0,iPeriod) '取策略 
nVol=Formula.GetBufData(sHoldingZhibiao,Formula.DataSize-1) '取指标的返回值
.....
next

 回到顶部