Methods
公开行情数据方法清单
以下为 ccxt 常用的公开行情数据方法,均无需 API key。
| 方法 | 用途 | 典型参数 |
|---|---|---|
| fetchTicker | 单个交易对最新行情 | 'BTC/USDT' |
| fetchTickers | 多个交易对行情 | 符号列表 |
| fetchOHLCV | K 线 / OHLCV 数据 | 'BTC/USDT','1h' |
| fetchOrderBook | 买卖盘订单簿 | 'BTC/USDT' |
| fetchTrades | 最近成交记录 | 'BTC/USDT' |
说明:具体参数(周期、limit、since 等)与返回结构以官方文档为准,不同交易所支持程度有差异。
Example
拉取 K 线示例(Python)
一个拉取 BTC/USDT 1 小时 K 线的最小示例。
import ccxt
exchange = ccxt.binance()
# 1 小时周期,近 10 根 K 线
ohlcv = exchange.fetch_ohlcv('BTC/USDT', '1h', limit=10)
for row in ohlcv:
print(row) # [时间戳, 开, 高, 低, 收, 成交量]
Fields
返回字段对照
不同方法的返回结构与字段名略有差异,下表是常用对照(以官方文档为准)。
| 方法 | 返回类型 | 取数示例 |
|---|---|---|
| fetchTicker | dict | t['last']、t['volume'] |
| fetchOHLCV | list[list] | row[4](收盘) |
| fetchOrderBook | dict | ob['bids'][0](买一) |
| fetchTrades | list[dict] | tr['price']、tr['amount'] |
说明:取数前先打印一份原始返回,确认字段名与单位(价格/数量/时间戳)。
Best practice
限频与最佳实践
公开接口也有频率限制,频繁拉取需注意以下几点。
开启内置限频
初始化时传
'enableRateLimit': True,让 ccxt 自动控制节奏。控制请求频率
批量拉取用 fetchTickers,而不是循环单次 fetchTicker。
缓存结果
行情数据变化快,但重复请求同一交易对可考虑本地缓存。
处理异常与退避
捕获 RateLimitExceeded 并退避重试,避免硬刚限频。
FAQ
常见问题
拉行情会限频吗?
会。交易所对公开接口也有频率限制,高频拉取可能被限流,需按交易所规则控制请求频率。
fetchOHLCV 的周期支持哪些?
常见周期如 1m/5m/15m/1h/1d 等,具体支持范围因交易所而异,以官方文档为准。
公开接口和私有接口数据一样吗?
公开接口只提供市场公开数据(行情/订单簿/成交),私有接口才涉及你的账户余额与订单。