from tqsdk import TqApi, TqSim, tafunc
api = TqApi(TqSim())
klines = api.get_kline_serial(“DCE.i2009”,900)
m10=tafunc.ma(klines.close,10)
m30=tafunc.ma(klines.close,30)
m50=tafunc.ma(klines.close,50)
tj=m10>m30 and m30>m50
api.close()
运行后总是出现错误提示:
RuntimeError: Event loop is closed
如果把程序改为:
from tqsdk import TqApi, TqSim, tafunc
api = TqApi(TqSim())
klines = api.get_kline_serial(“DCE.i2009”,900)
m10=1
m30=2
m50=3
tj1=m10>m30
tj2=m30>m50
tj3=m10>m30 and m30>m50
api.close()
运行时仍然会出现错误提示。
如果再把涉及天勤tqsdk的部分全部屏蔽:
#from tqsdk import TqApi, TqSim, tafunc
#api = TqApi(TqSim())
#klines = api.get_kline_serial(“DCE.i2009”,900)
m10=1
m30=2
m50=3
tj1=m10>m30
tj2=m30>m50
tj3=m10>m30 and m30>m50
#api.close()
则程序可以正确运行。说明tqsdk确实存在某种问题!
tj=m10>m30 and m30>m50 本身并没有错误,在其它软件里都可以正常通过。
如果把条件赋值语句改为:
tj1=m10>m30 就可以通过
tj2=m30>m50 也可以通过
tj=m10>m30 and m30>m50 却不能通过,说明tqsdk可能存在问题。