请教高手,vba里的OrderStatus,OrderStatusEx ,OrderStatusEx2 这3个事件会不会同步被激活,还是有分先后,如果被同步激活,在金字塔的系统中是采取同步多线程处理还是异步处理,还有,当事件被激活后,如果在执行此事件的代码还没完成前新的激活条件又来到,这个事件的机制是忽略目前的条件等待上次完全执行完,还是怎么处理?当类似的事件被激活时,如果还有别的定时器正处于循环执行状态,这两者之间的代码关系是怎么相互影响的,例如:已经有运行了1个timer在执行一部分代码,但同时又有
MarketData_ReportNotify 事件和 Orde_OrderStatus事件被激活,此时这3者是如何相互影响的,是同步各自分开执行还是有先后等待关系?
还有一个问题需要请教,如果开了多个timer,这多个timer是如何相互影响的,是同步各自分开执行还是有先后等待关系?
OrderStatus 这个事件不会丢失的,如果前面的程序正在阻塞,系统会将OrderStatus事件塞进队列中,带前面的任务处理完毕后再来处理。
当出现回报丢失的意外情况时,有没有什么办法重新得到已经丢失的回报信息
6楼我已经说的很详细了,回报是不会丢失的,只要金字塔软件还能继续工作,回报的事件是一定能传递给VBA的。
如果你的策略遇到了问题,建议你使用日志记录的方式,将运行的状态以及变量的变化情况写盘写日志。这样遇到问题后通过日志来查找代码中的逻辑问题。
参考
Document 对象
DebugFile(Path, Text, Time)
Path 日志保存全路径,比如"C:\OrderLog.Txt"
Text 日志记录数据内容
Time 是否自动添加时间