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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [求助] vba里事件的处理机制,多个timer的处理机制

   

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


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

主题:[求助] vba里事件的处理机制,多个timer的处理机制

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
[求助] vba里事件的处理机制,多个timer的处理机制  发帖心情 Post By:2016/8/5 11:23:09 [只看该作者]

请教高手,vba里的OrderStatus,OrderStatusEx ,OrderStatusEx2  这3个事件会不会同步被激活,还是有分先后,如果被同步激活,在金字塔的系统中是采取同步多线程处理还是异步处理,还有,当事件被激活后,如果在执行此事件的代码还没完成前新的激活条件又来到,这个事件的机制是忽略目前的条件等待上次完全执行完,还是怎么处理?当类似的事件被激活时,如果还有别的定时器正处于循环执行状态,这两者之间的代码关系是怎么相互影响的,例如:已经有运行了1个timer在执行一部分代码,但同时又有MarketData_ReportNotify 事件和 Orde_OrderStatus事件被激活,此时这3者是如何相互影响的,是同步各自分开执行还是有先后等待关系?
       还有一个问题需要请教,如果开了多个timer,这多个timer是如何相互影响的,是同步各自分开执行还是有先后等待关系?

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


加好友 发短信
等级:论坛游民 帖子:209 积分:0 威望:0 精华:0 注册:2016/4/22 15:46:27
  发帖心情 Post By:2016/8/5 11:30:20 [只看该作者]

似乎是一个一个排着队处理的

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/8/5 12:17:23 [只看该作者]



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/8/5 12:35:51 [只看该作者]

感谢各位的帮助,我还想请教一下,OrderStatus这个事件会不会出现丢失,还有,如果出现丢失如何确认订单是否撤单成功,我看了所有的函数,只有OrderStatus这个事件里能得到各种交易状态,还有没有其他途径实时得到交易状态?还有OrderStatus这个事件如果遇到阻塞,当阻塞过后能不能得到延时数据还是就会产生丢失

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/8/5 12:41:19 [只看该作者]

举个例子: 比如通过 MarketData_ReportNotify事件触发了一轮程序,在此程序还完全没执行完之前,OrderStatus这个事件的触发条件出现了,但因为 MarketData_ReportNotify事件的机制是不会被打断的,此时的OrderStatus会等待MarketData_ReportNotify事件执行完再补执行或是直接产生丢失

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/8/5 13:04:14 [只看该作者]

OrderStatus 这个事件不会丢失的,如果前面的程序正在阻塞,系统会将OrderStatus事件塞进队列中,带前面的任务处理完毕后再来处理。


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
lwp00751206
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/8/5 13:06:56 [只看该作者]

当出现回报丢失的意外情况时,有没有什么办法重新得到已经丢失的回报信息

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


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2016/8/5 10:55:16
  发帖心情 Post By:2016/8/5 13:08:26 [只看该作者]

OrderStatus这个事件的过程中会不会被打断

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/8/5 13:09:45 [只看该作者]

6楼我已经说的很详细了,回报是不会丢失的,只要金字塔软件还能继续工作,回报的事件是一定能传递给VBA的。


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/8/5 13:11:43 [只看该作者]

如果你的策略遇到了问题,建议你使用日志记录的方式,将运行的状态以及变量的变化情况写盘写日志。这样遇到问题后通过日志来查找代码中的逻辑问题。

 

参考

Document 对象

 

DebugFile(Path, Text, Time)

Path    日志保存全路径,比如"C:\OrderLog.Txt"

Text    日志记录数据内容

Time    是否自动添加时间



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
总数 19 1 2 下一页