在class CtaEngine(BaseEngine):中
添加了如下:
    self.event_engine.register(EVENT_CONTRACT, self.process_contract_event)
def process_contract_event(self, event):
    """"""
    print("contract开始执行了。")
    contracts = event.data
    contract = (contracts.vt_symbol, contracts.size, contracts.pricetick)
    print(contract)
    for strategy_name in self.strategies.keys():
        strategy = self.strategies[strategy_name]
        self.call_strategy_func(strategy, strategy.on_contract, contract)
在class CtaTemplate(ABC):中添加了
    @virtual
    def on_contract(self, contract):
        """
        """
        pass
在策略中添加了如下:
    def on_contract(self, contract):
        """
       合约信息推送
        """
        self.write_log(f"合约信息{contract}")
    self.put_event()
用上面的方法能在策略中获取到信息,但是不是一直有。有时候打开就能出现合约信息,有时程序运行好久会出现合约信息,或是挂着半天不显示,这是为什么?大神帮忙解答下?

