错误消息:函数不可调用,不确定出了什么问题


def smaShort(self):
while True:
ohlcv_candles = bitmex2.bitmex.fetch_ohlcv(self, symbol= 'XBTUSD', timeframe= '5m')
mas = []
mas = ohlcv_candles.rolling(window=5).mean()
return mas#[-1]

尝试调用smaShort函数时

logger.info("sma short value:" (self.smaShort()))

我得到了错误smaShort是不可调用的,有人知道我做错了什么吗?

import pandas as pd
import ccxt
exchange = ccxt.bitmex({
'enableRateLimit': True,  # required by the Manual
})
ohlcv = exchange.fetch_ohlcv('BTC/USD', '1m')
df = pd.DataFrame (ohlcv)
df[4].rolling(window=5).mean()  # OHLCV, C (closing price) has index 4
  1. Bitmex没有XBTUSD符号,它是市场id而不是符号,如手册中所述:https://github.com/ccxt/ccxt/wiki/Manual#symbols-和市场ID。正确的符号是BTC/USD
  2. 此外,根据CCXT手册,对bitmex.fetch_ohlcv的调用将返回以下结构:https://github.com/ccxt/ccxt/wiki/Manual#ohlcv-结构
  3. ohlcv结构是一个带有ohlcv蜡烛值的普通数组/数组列表,而不是Pandas DataFrame,因此您不能在列表上调用.rolling(window=5).mean(),必须首先将其转换为DataFrame,如上图所示(或Pandas支持的任何其他方式(

最新更新