611 浏览
0

您好!请教在异步任务中,在下方代码之后的代码都不会被执行,是否属于正常,万分感激!

async with self.api.register_update_notify([quote, kline, position]) as update_chan:
  async for _ in update_chan:

完整示例

async def doStrategy(self, symbol,):
    quote = await self.api.get_quote(symbol)
    kline = await self.api.get_kline_serial(symbol, 60, 500)
    position = self.api.get_position(symbol)
    target_pos = TargetPosTask(self.api, symbol)
    last_pos = position.pos
    async with self.api.register_update_notify([quote, kline, position]) as update_chan:
        async for _ in update_chan:
             if self.api.is_changing(position, ['pos', 'pos_long', 'pos_short']):
                self.logger.info('[POS ACTUAL] %s from %d to %d' % (symbol, last_pos, position.pos))
                last_pos = position.pos
    #此处之后代码不会被执行
    self.logger.info('strategy end.')

st2021forever 更改状态以发布 2022年9月6日