def get_portfolio(self): contracts = settings.CONTRACTS portfolio = {} for symbol in contracts: position = self.bitmex.position(symbol=symbol) instrument = self.bitmex.instrument(symbol=symbol) if instrument['isQuanto']: future_type = "Quanto" elif instrument['isInverse']: future_type = "Inverse" elif not instrument['isQuanto'] and not instrument['isInverse']: future_type = "Linear" else: raise NotImplementedError("Unknown future type; not quanto or inverse: %s" % instrument['symbol']) if instrument['underlyingToSettleMultiplier'] is None: multiplier = float(instrument['multiplier']) / float(instrument['quoteToSettleMultiplier']) else: multiplier = float(instrument['multiplier']) / float(instrument['underlyingToSettleMultiplier']) portfolio[symbol] = { "currentQty": float(position['currentQty']), "futureType": future_type, "multiplier": multiplier, "markPrice": float(instrument['markPrice']), "spot": float(instrument['indicativeSettlePrice']) } return portfolioqty = self.exchange.get_portfolio['currentQty']()有人知道我在调用 get_portfolio 函数时做错了什么,因为我不断收到以下错误消息:E1136:Value 'self.exchange.get_portfolio' is unsubscriptable
2 回答

MMMHUHU
TA贡献1834条经验 获得超8个赞
你应该这样做:
qty = self.exchange.get_portfolio()
qty = qty[qty.keys()[0]]['currentQty']
或在一行中:
qty = self.exchange.get_portfolio()[self.exchange.get_portfolio().keys()[0]]['currentQty']
添加回答
举报
0/150
提交
取消