打印前3个交易对信息

抹茶交易所API使用指南:从入门到实战,轻松掌握交易数据获取与调用

在加密货币交易领域,API(应用程序编程接口)是连接用户与交易所的核心桥梁,它允许开发者通过代码自动获取市场数据、执行交易、管理账户等,大幅提升交易效率与灵活性,抹茶(Mexc)交易所作为全球知名的数字资产交易平台,提供了功能丰富的API接口,支持个人开发者与机构用户实现量化交易、数据分析、自动化管理等需求,本文将详细介绍抹茶交易所API的使用方法,从环境准备到实战调用,助你快速上手。

抹茶交易所API简介

抹茶交易所API主要分为两类:公共API私有API

  • 公共API:无需身份验证即可调用,主要用于获取市场数据,如K线、交易对信息、市场深度、 ticker 等,适合数据查询与分析场景。
  • 私有API:需要API Key进行身份验证,涉及账户操作(如查询余额、下单、撤单、提币等),需注意权限管理与安全设置。

无论是个人开发者还是量化团队,合理使用抹茶API都能实现交易流程的自动化,避免手动操作的滞后性,尤其适合高频交易、策略回测等场景。

准备工作:注册账户与申请API

在使用抹茶API前,需完成以下准备工作:

注册抹茶账户并完成身份认证

访问抹茶交易所官网(https://www.mexc.com/),完成注册并完成实名认证(KYC),根据API权限需求,确保账户达到对应的安全等级(如启用二次验证2FA)。

创建API Key

  • 登录账户后,进入“API管理”页面(通常在“安全设置”或“账户中心”中)。
  • 点击“创建API”,填写API名称(如“量化交易机器人”)、选择权限(建议按需勾选,避免过度开放)。
    • 权限说明
      • 只读:仅允许查询市场数据、账户余额等,无交易权限。
      • 交易:支持下单、撤单、查询订单等,但无提币权限。
      • 提币:允许提币操作,需谨慎开放,建议配合IP白名单使用。
  • 记录生成的API KeySecret Key(Secret Key仅显示一次,需妥善保存,丢失后无法找回)。

设置IP白名单(可选但推荐)

在API创建页面,可绑定允许访问API的IP地址列表(支持多个IP),仅白名单内的IP可调用私有API,降低密钥泄露风险。

公共API调用:无需认证的市场数据获取

公共API是入门抹茶API的第一步,适合获取实时行情、历史数据等,以下是常用公共API的调用示例(以Python为例,使用requests库):

获取服务器时间

作用:同步本地时间与服务器时间,避免因时间偏差导致交易失败。
接口地址GET /api/v3/time
代码示例

import requests
url = "https://api.mexc.com/api/v3/time"
response = requests.get(url)
data = response.json()
print("服务器时间戳:", data["serverTime"])

获取交易对信息

作用:查询抹茶交易所所有支持交易的交易对(如MEXC_USDT、BTC_USDT等)及其规则。
接口地址GET /api/v3/exchangeInfo
代码示例

url = "https://api.mexc.com/api/v3/exchangeInfo"
response = requests.get(url)
data = response.json()for symbol in data["symbols"][:3]:
    print("交易对:", symbol["symbol"], "最小下单量:", symbol["filters"][0]["minQty"])

获取K线数据(蜡烛图)

作用:获取指定交易对的历史K线数据,用于技术分析或策略回测。
接口地址GET /api/v3/klines
参数说明

  • symbol:交易对(如“BTCUSDT”)
  • interval:K线周期(如“1m”=1分钟、“5m”=5分钟、“1h”=1小时、“1d”=1天)
  • limit:获取条数(最大1000)

代码示例

url = "https://api.mexc.com/api/v3/klines"
params = {
    "symbol": "BTCUSDT",
    "interval": "1h",
    "limit": 10
}
response = requests.get(url, params=params)
data = response.json()
print("BTC_USDT最近1小时K线(前2条):")
for kline in data[:2]:
    print("时间:", kline[0], "开盘价:", kline[1], "收盘价:", kline[4])

获取市场深度

作用:查询某个交易对的挂单情况(买一/卖一价格、数量)。
接口地址GET /api/v3/depth
参数说明

  • symbol:交易对
  • limit:返回深度条数(默认5,最大100)

代码示例

url = "https://api.mexc.com/api/v3/depth"
params = {"symbol": "ETHUSDT", "limit": 5}
response = requests.get(url, params=params)
data = response.json()
print("ETH_USDT市场深度:")
print("买盘:", data["bids"][:1])  # 买一价格和数量
print("卖盘:", data["asks"][:1])  # 卖一价格和数量

私有API调用:需认证的账户与交易操作

私有API涉及账户安全,调用时需在请求头中添加签名信息,签名生成步骤如下:

  1. 生成签名字符串:将请求参数按字典序排序,拼接为param1=value1&param2=value2格式(末尾添加Secret Key)。
  2. HMAC-SHA256加密:使用Secret Key对签名字符串进行HMAC-SHA256加密,得到签名值(十六进制小写格式)。

查询账户余额

作用:获取指定交易对或所有币种的账户余额。
接口地址GET /api/v3/account
请求头

  • X-MEXC-APIKEY:你的API Key
  • X-MEXC-SIGNATURE:签名值

代码示例

import requests
import hmac
import hashlib
import time
api_key = "你的API_Key"
secret_key = "你的Secret_Key".encode('utf-8')
# 1. 生成时间戳(毫秒级)
timestamp = str(int(time.time() * 1000))
# 2. 构造请求参数(按字典序排序)
params = {
    "timestamp": timestamp,
    "recvWindow": 5000  # 请求有效时间(毫秒),默认5000
}
# 3. 生成签名字符串
query_string = "&".join([f"{k}={v}" for k, v in sorted(params.items())])
signature_string = query_string + secret_key.hex()
signature = hmac.new(secret_key, signature_string.encode('utf-8'), hashlib.sha256).hexdigest()
# 4. 发送请求
url = "https://api.mexc.com/api/v3/account"
headers = {
    "X-MEXC-APIKEY": api_key,
    "X-MEXC-SIGNATURE": signature
}
response = requests.get(url, params=params, headers=headers)
data = response.json()
print("账户余额:", data)

下单(限价单/市价单)

作用:执行买入或卖出操作,支持限价单(指定价格)和市价单(按当

随机配图
前市场价格成交)。
接口地址POST /api/v3/order
核心参数

  • symbol:交易对(如“BTCUSDT”)
  • side:方向(“BUY”买入,“SELL”卖出)
  • type:订单类型(“LIMIT”限价单,“MARKET”市价单)
  • quantity:下单数量(需符合交易对最小精度)
  • price:限价单价格(市价单无需传)

代码示例(限价单买入)

params = {
    "symbol": "BTCUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "quantity": "0.001",  # 买入0.001 BTC
    "price": "50000",     # 限价50000 USDT
    "timestamp": timestamp,
    "recvWindow": 5000
}
# 生成签名(同上)

本文由用户投稿上传,若侵权请提供版权资料并联系删除!