使用MEXC API交易BTC/USDT时遇10007错误:Symbol不支持API
解决MEXC API错误码10007(symbol not support api)的方案
1. 匹配CCXT中MEXC的交易对格式
MEXC在CCXT里的现货交易对格式为BTC/USDT,但如果调用合约API,需要使用带后缀的格式,比如BTC/USDT:USDT(永续合约)。先确认你要交易的品类:
- 现货:保留
SYMBOL = 'BTC/USDT' - 永续合约:修改为
SYMBOL = 'BTC/USDT:USDT'
2. 修正交易对格式的自定义转换
你当前通过SYMBOL.replace('/', '')得到BTCUSDT,但MEXC API不需要这种手动转换——CCXT会自动处理交易所要求的符号格式。直接使用原始SYMBOL变量即可,移除不必要的转换代码:
# 删掉这行冗余代码 # TRADE_SYMBOL = SYMBOL.replace('/', '')
3. 正确初始化Exchange实例
你的代码缺少关键的交易所初始化逻辑,必须配置好API密钥、限流及交易品类:
# 初始化现货交易所 exchange = ccxt.mexc({ 'apiKey': API_KEY, 'secret': SECRET_KEY, 'enableRateLimit': True, # 强制开启,避免触发MEXC的限流机制 }) # 若交易永续合约,需添加以下配置 # exchange.options['defaultType'] = 'swap'
4. 验证交易对的可用性
用CCXT内置方法检查交易对是否真的支持当前API模式:
exchange.load_markets() if SYMBOL in exchange.markets: print(f"交易对{SYMBOL}可用") else: print(f"交易对{SYMBOL}不可用,部分可用交易对:{list(exchange.markets.keys())[:10]}")
5. 检查API密钥权限
确保你的API密钥已开启对应交易类型的权限(现货/合约),且IP白名单设置正确——权限不足也会触发该错误码。
内容的提问来源于stack exchange,提问作者keen
相关产品推荐
相关产品推荐

