首页 > 解决方案 > Python if 语句执行但条件为假

问题描述

正如主题所说,我有一些用 Python 编写的实时交易代码。在我的问题开始之前,我已经成功使用了一个多星期。突然,昨天早上,当我的代码开始运行时,它几乎会在交易开始后立即打开交易并关闭它们 [而不是等到一定时间 (ExitThreshold)] 已经达到。这是错误的代码摘录:

p = trades.OpenTrades(accountID= accountID); pv = client.request(p)
for i in range(0, len(pv["trades"])):
   openTime = datetime.datetime.strptime(pv["trades"][i]["openTime"][:19], '%Y-%m-%dT%H:%M:%S')
   if (datetime.datetime.utcnow() - openTime).seconds >= ExitThreshold:
     closeID = pv["trades"][i]["id"]
     r = trades.TradeClose(accountID, tradeID= closeID, data= TradeCloseRequest(units= "ALL").data); rv = client.request(r)

我做了一些调试,步入执行并反复确认 if 条件为 False。尽管如此,交易还是关闭了。正如我所说的,这段代码之前按照预期运行了一个多星期,并且没有任何变化。那么为什么会突然改变行为???

标签: pythonif-statementspyderoanda

解决方案


推荐阅读