Minimal example
最小示例(Python)
以下为公开接口的最小示例,来自官方 README 的用法模式。
import ccxt
# 1. 初始化交易所(公开接口无需 API key)
exchange = ccxt.binance()
# 2. 拉取最新行情
ticker = exchange.fetch_ticker('BTC/USDT')
print(ticker['last'])
# 3. 拉取 K 线(1 小时周期,近 10 根)
ohlcv = exchange.fetch_ohlcv('BTC/USDT', '1h', limit=10)
print(ohlcv)
说明:方法名在 Python 里为下划线风格(fetch_ticker),在 JavaScript 里为驼峰风格(fetchTicker),两者等价。示例用于演示,具体参数以官方文档为准。
Steps
四步跑通
确认安装
import ccxt或require('ccxt')无报错。初始化交易所
创建交易所实例,如
ccxt.binance()。拉取行情与 K 线
调用 fetchTicker / fetchOHLCV 获取公开数据。
查看结果
打印并核对返回结构,确认网络与接口连通。
Return structure
返回数据结构速览
看懂返回结构,才能正确取到价格与 K 线字段。下表是常见字段(以官方文档为准)。
| 方法 | 返回结构 | 关键字段 |
|---|---|---|
| fetchTicker | dict | last / bid / ask / high / low / volume |
| fetchOHLCV | list[list] | [时间戳, 开, 高, 低, 收, 成交量] |
| fetchOrderBook | dict | bids / asks([价格, 数量] 列表) |
| fetchTrades | list[dict] | price / amount / side / timestamp |
说明:不同交易所返回字段可能略有差异,取数前先打印一份核对。
Next level
进阶:多交易所与异常处理
跑通单交易所后,可以循环多个交易所取同一交易对,并加上异常捕获。
import ccxt
exchanges = [ccxt.binance(), ccxt.okx(), ccxt.bybit()]
for ex in exchanges:
try:
t = ex.fetch_ticker('BTC/USDT')
print(ex.id, t['last'])
except Exception as e:
print(ex.id, 'failed:', type(e).__name__)
说明:用 try/except 捕获异常可避免单个交易所失败中断整个流程,异常类型见架构页。
FAQ
常见问题
fetchTicker 和 fetch_ticker 有区别吗?
没有本质区别,只是命名风格不同:Python 用下划线 fetch_ticker,JavaScript 用驼峰 fetchTicker。
首次运行需要 API key 吗?
公开行情接口(fetchTicker/fetchOHLCV 等)不需要;只有私有接口才需要 API key。
拉取数据失败怎么办?
先确认网络可达交易所、交易对名称正确(如 BTC/USDT),并检查是否触发交易所限频。