你好,我现在使用IB来交易,在主页面可以正常下单,订阅行情,但是我一打开行情记录页面,开始记录的时候就卡死了,打开价差交易页面也是一样卡的,我看了一下源代码,应该是产生两次订阅然后死循环了,没有想到很好的修改方法,请楼主指导下,我修改下提交到git,谢谢了。
你好,我现在使用IB来交易,在主页面可以正常下单,订阅行情,但是我一打开行情记录页面,开始记录的时候就卡死了,打开价差交易页面也是一样卡的,我看了一下源代码,应该是产生两次订阅然后死循环了,没有想到很好的修改方法,请楼主指导下,我修改下提交到git,谢谢了。
已经解决了,IB_gateway 里面subscribe调用 self.client.reqContractDetails(self.reqid, ib_contract),这个回调函数会触发contractDetails,contractDetails里面有self.gateway.on_contract(contract),这时候如果开启的行情订阅和价差交易,又会触发process_contract_event,process_contract_event里面又有subscribe,从而死循环导致程序卡死。
whtm8868 wrote:
已经解决了,IB_gateway 里面subscribe调用 self.client.reqContractDetails(self.reqid, ib_contract),这个回调函数会触发contractDetails,contractDetails里面有self.gateway.on_contract(contract),这时候如果开启的行情订阅和价差交易,又会触发process_contract_event,process_contract_event里面又有subscribe,从而死循环导致程序卡死。
老师您好,您是如何处理这个问题的呢? 愿意分享一下具体实现代码吗? 万分感激
已在DEV分支修复