簡體   English   中英

錯誤消息:函數不可調用,不知道哪里出了問題?

[英]Error message: Function is not callable, not sure what is wrong?

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 is not callable,有人知道我做錯了什么嗎?

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-and-market-ids 正確的符號是BTC/USD
  2. 另外,根據CCXT手冊,調用bitmex.fetch_ohlcv將返回以下結構: https://github.com/ccxt/ccxt/wiki/Manual#ohlcv-structure
  3. ohlcv 結構是一個帶有 OHLCV 蠟燭值的普通數組/數組列表,而不是 Pandas DataFrame,因此您不能在列表上調用.rolling(window=5).mean() ,您必須將其轉換為 DataFrame首先,如上所示(或以 Pandas 支持的任何其他方式)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM