发布于 2025-02-05 19:16:44 · 阅读量: 173541
玩币圈的都知道,想要高效交易,光靠手动操作是不够的,得学会用 API 来抓市场数据、自动下单,才能更快更准地吃肉。今天咱们就来聊聊 火币API,教你如何获取市场实时数据,确保你不再错过任何行情波动!
在火币交易所使用 API,第一步就是申请 API Key,相当于你的专属通行证。操作如下:
Access Key
和 Secret Key
(记住别外泄!) 火币提供了 HTTP、WebSocket 两种方式来获取市场数据:
API 的基础 URL 是:
plaintext
https://api.huobi.pro
(如果你的 IP 被限制,可换其他域名,如 api-aws.huobi.pro
)
火币提供多个市场行情接口,下面列几个 最常用的:
plaintext GET /market/tickers
请求示例: bash curl -X GET "https://api.huobi.pro/market/tickers"
返回示例: json { "status": "ok", "ts": 1700000000000, "data": [ { "symbol": "btcusdt", "close": 42500.23, "open": 42000.00, "high": 43000.00, "low": 41800.00, "amount": 1200.5, "vol": 51023000 } ] }
👉 关键字段解释:
- close
:最新成交价
- open
:当日开盘价
- high
/ low
:最高 / 最低价
- amount
:成交量(币的数量)
- vol
:成交额(美元)
plaintext GET /market/history/kline?symbol=btcusdt&period=1min&size=10
请求示例: bash curl -X GET "https://api.huobi.pro/market/history/kline?symbol=btcusdt&period=1min&size=10"
返回示例: json { "status": "ok", "ch": "market.btcusdt.kline.1min", "ts": 1700000000000, "data": [ { "id": 1700000000, "open": 42000.00, "close": 42500.23, "low": 41800.00, "high": 43000.00, "amount": 50.5, "vol": 2102300, "count": 120 } ] }
🔥 常见 K 线周期(period
参数):
- 1min
(1分钟)
- 5min
(5分钟)
- 15min
(15分钟)
- 1day
(1天)
plaintext GET /market/depth?symbol=btcusdt&type=step0
请求示例: bash curl -X GET "https://api.huobi.pro/market/depth?symbol=btcusdt&type=step0"
返回示例: json { "status": "ok", "tick": { "bids": [[42490.00, 0.5], [42485.00, 1.2]], "asks": [[42510.00, 0.8], [42520.00, 1.5]] } }
📌 bids / asks 代表买单 / 卖单,格式是 [价格, 数量]
。
WebSocket 是更高效的方式,适用于实时交易监控。
连接 WebSocket 地址: plaintext wss://api.huobi.pro/ws
发送订阅请求: json { "sub": "market.btcusdt.trade.detail", "id": "id123" }
返回示例: json { "ch": "market.btcusdt.trade.detail", "ts": 1700000000000, "tick": { "data": [ { "price": 42500.00, "amount": 0.1, "direction": "buy" } ] } }
📌 direction
说明:
- buy
:买单成交
- sell
:卖单成交
直接上代码,用 Python 拉取 BTC/USDT 最新价格!
import requests
url = "https://api.huobi.pro/market/tickers" response = requests.get(url) data = response.json()
btc_price = next((item for item in data["data"] if item["symbol"] == "btcusdt"), None)
print(f"🔥 BTC 最新价格:{btc_price['close']} USDT")
🚀 执行后,你会得到 BTC 的最新价格!
Q1:火币 API 需要身份认证吗?
👉 行情 API 不需要,但是 交易 API 需要签名认证。
Q2:请求频率有限制吗?
👉 HTTP 请求:每秒最多 20 次,WebSocket:每秒最多 100 次。
Q3:API 访问不了,怎么办?
👉 可能是网络问题,可以换 api-aws.huobi.pro
或用 代理/VPN 试试。
API 搞定了,下一步就可以撸交易策略,整点量化套利、自动挂单了!🎯