发布于 2025-02-09 06:19:45 · 阅读量: 185110
在加密市场里,手速再快也比不过机器人。想在火币上自动化交易?API 就是你的神器!它能让你用代码操控账户,实现自动下单、撤单、查询行情等操作,省时省力,还能跑出自己的交易策略。下面就来手把手教你如何玩转火币 API,开启你的量化交易之旅。
首先,你得有个 火币账号。登录后,按照以下步骤操作:
要用代码操控火币,你需要 Python 和一些库。先装好它们:
bash pip install requests hmac hashlib time
如果你想更专业一点,可以用 ccxt
库,它封装了多个交易所的 API,更方便:
bash pip install ccxt
直接上代码!用 Python 连接火币 API,查询 BTC/USDT 现价:
import requests
url = "https://api.huobi.pro/market/trade?symbol=btcusdt" response = requests.get(url) data = response.json() print("最新成交价:", data['tick']['data'][0]['price'])
跑一下,你就能看到比特币的实时价格了。
搞定行情查询后,就该进阶到交易环节了。来看看怎么用 API 买入 BTC(限价单):
import hmac import hashlib import base64 import time import requests
ACCESS_KEY = "你的 Access Key" SECRET_KEY = "你的 Secret Key" ACCOUNT_ID = "你的账户 ID"
def create_signature(method, api_path, params): """创建 API 请求签名""" host = "api.huobi.pro" timestamp = time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime()) params.update({"AccessKeyId": ACCESS_KEY, "SignatureMethod": "HmacSHA256", "SignatureVersion": "2", "Timestamp": timestamp}) query_string = "&".join([f"{key}={params[key]}" for key in sorted(params)]) payload = f"{method}\n{host}\n{api_path}\n{query_string}" digest = hmac.new(SECRET_KEY.encode(), payload.encode(), hashlib.sha256).digest() params["Signature"] = base64.b64encode(digest).decode() return params
def place_order(symbol, price, amount, order_type="buy-limit"): """下限价单""" url = "https://api.huobi.pro/v1/order/orders/place" params = { "account-id": ACCOUNT_ID, "amount": str(amount), "price": str(price), "source": "api", "symbol": symbol, "type": order_type } params = create_signature("POST", "/v1/order/orders/place", params) headers = {"Content-Type": "application/json"} response = requests.post(url, json=params, headers=headers) print("下单结果:", response.json())
place_order("btcusdt", 35000, 0.01) # 以 35000 USDT 买 0.01 BTC
如果下错单了,怎么办?用 API 取消它!
def cancel_order(order_id): url = f"https://api.huobi.pro/v1/order/orders/{order_id}/submitcancel" params = create_signature("POST", f"/v1/order/orders/{order_id}/submitcancel", {}) headers = {"Content-Type": "application/json"} response = requests.post(url, json=params, headers=headers) print("撤单结果:", response.json())
cancel_order("1234567890") # 替换为实际订单 ID
想知道账户里还剩多少子弹?用这段代码查询余额:
def get_balance(): url = "https://api.huobi.pro/v1/account/accounts" params = create_signature("GET", "/v1/account/accounts", {}) headers = {"Content-Type": "application/json"} response = requests.get(url, params=params, headers=headers) print("账户信息:", response.json())
get_balance()
如果你觉得官方 API 太麻烦,可以用 ccxt
简化操作:
import ccxt
huobi = ccxt.huobi({ "apiKey": "你的 Access Key", "secret": "你的 Secret Key" })
ticker = huobi.fetch_ticker("BTC/USDT") print("BTC 最新价:", ticker["last"])
order = huobi.create_limit_buy_order("BTC/USDT", 0.01, 35000) print("下单信息:", order)
这样写起来是不是舒服多了?
有了 API,完全可以写个 自动化交易机器人,比如:
比如一个简单的 均线策略:
def moving_average_strategy(): prices = [huobi.fetch_ticker("BTC/USDT")["last"] for _ in range(5)] ma = sum(prices) / len(prices) current_price = huobi.fetch_ticker("BTC/USDT")["last"]
if current_price > ma * 1.01: # 价格高于均线 1% 以上
huobi.create_market_buy_order("BTC/USDT", 0.01)
print("价格上涨,买入!")
elif current_price < ma * 0.99: # 价格低于均线 1% 以下
huobi.create_market_sell_order("BTC/USDT", 0.01)
print("价格下跌,卖出!")
moving_average_strategy()
定期运行这个函数,就能实现 半自动化交易 了。
火币 API 就像是交易世界的外挂,让你告别手动操作,把交易策略变成代码执行。只要 API 掌握得好,交易就能更加精准、高效!💰🚀