2

有什么方法可以ccxt用来提取过去给定时间加密货币的价格吗?

示例:在 binance 上获取 BTC 的价格2018-01-24 11:20:01

4

2 回答 2

2

您可以fetch_ohlcv在 CCXT 中的 binance 类上使用该方法

def fetch_ohlcv(self, symbol, timeframe='1m', since=None, limit=None, params={}):


您需要将日期作为以毫秒为单位的时间戳,并且您只能精确到分钟,因此请去掉秒数,否则您将获得下一分钟的价格

timestamp = int(datetime.datetime.strptime("2018-01-24 11:20:00", "%Y-%m-%d %H:%M:%S").timestamp() * 1000)

您只能获得BTC与其他货币的价格对比,我们将使用USDT(与美元接近)作为我们的比较货币,因此我们将在BTC/USDT市场查找BTC的价格

当我们使用该方法时,我们会将since设置为您的时间戳,但将限制设置为1,以便我们只能得到一个价格

import ccxt
from pprint import pprint

print('CCXT Version:', ccxt.__version__)

exchange = ccxt.binance({
    'enableRateLimit': True,
    "apiKey": '...',
    "secret": '...',
})
timestamp = int(datetime.datetime.strptime("2018-01-24 11:20:00", "%Y-%m-%d %H:%M:%S").timestamp() * 1000)
response = exchange.fetch_ohlcv('BTC/USDT', '1m', timestamp, 1)
pprint(response)

这将返回一根蜡烛的烛台值

[ 
  1516792860000, // timestamp
  11110, // value at beginning of minute, so the value at exactly "2018-01-24 11:20:01"
  11110.29, // highest value between "2018-01-24 11:20:01" and "2018-01-24 11:20:02"
  11050.91, // lowest value between "2018-01-24 11:20:01" and "2018-01-24 11:20:02"
  11052.27, // value just before "2018-01-24 11:20:02"
  39.882601 // The volume traded during this minute
]
于 2021-12-16T22:30:01.613 回答
1

您可以使用 CCXT 的统一fetchOHLCV方法做到这一点:

我们强烈建议您从上到下阅读整个 CCXT 手册,这将真正节省您的时间:

另外,请查看此处的示例:

于 2021-12-12T04:18:28.847 回答