Binance API调用get_my_trades()始终返回空列表问题求助
问题原因及解决方案
- 账户类型不匹配:
client.get_my_trades()默认仅查询现货账户的交易记录,如果你产生的交易是U本位合约、币本位合约、杠杆账户、理财账户等其他账户的交易,需要调用对应账户的接口,比如合约交易需要使用client.futures_account_trades()(U本位)或client.futures_coin_account_trades()(币本位)接口。 - API权限配置缺失:你已确认认证正常可获取余额,但需要检查API密钥的权限配置是否开启了「读取交易历史」的权限,部分用户创建API时仅勾选了余额读取权限,未勾选交易相关读取权限。
- 主网/测试网环境不匹配:如果你的代码初始化Client时指定了
testnet=True参数,会连接币安测试网,测试网环境和主网交易数据完全隔离,主网产生的交易在测试网接口无法查询到。 - 查询参数限制:
- 币安现货交易历史API默认仅返回最近3个月的记录,更早的记录需要传入
startTime参数指定你首次交易的时间戳分段查询 - 部分场景下
fromId=0的请求会被接口过滤,你可以尝试去掉该参数,让接口按默认规则返回最新的交易记录
- 币安现货交易历史API默认仅返回最近3个月的记录,更早的记录需要传入
- 交易类型不匹配:
get_my_trades仅返回币币现货撮合交易记录,OTC交易、C2C交易、理财申购赎回、币币划转类操作都不属于该接口返回范围,需要调用对应业务的接口查询。
你可以先单独调用你确认有交易的单个交易对的接口测试,比如print(client.get_my_trades(symbol='BTCUSDT')),先排查单个交易对的返回结果,不需要全量遍历所有交易对浪费请求配额。
内容的提问来源于stack exchange,提问作者Kubix
相关产品推荐
相关产品推荐

