我正在使用 CCXT 库运行一个机器人来与 Binance Futures API 一起操作。到目前为止,它的效果非常好。但是,现在我收到以下错误:
binance {"code":-5000,"msg":"GET /fapi/v1/positionRisk 已停用,请使用 GET /fapi/v2/positionRisk
我了解问题的本质,并且我在变更日志中看到一些端点在 v1 端点中已被弃用,并且币安要求迁移到 v2 端点:
2023-06-28
注意事项:
休息
The following endpoints will no longer be supported from 2023-07-15:
GET /fapi/v1/account
GET /fapi/v1/balance
GET /fapi/v1/positionRisk
Please switch to corresponding v2 endpoints:
GET /fapi/v2/account
GET /fapi/v2/balance
GET /fapi/v2/positionRisk
我尝试在我的 Exchange 实例中添加“版本”入口来解决问题:
self.ccxt_client = ccxt.binance({'apiKey':API_KEY,
'secret':API_SECRET,
'timeout': 30000,
'enableRateLimit': True,
'ratelimit': 300,
'adjustForTimeDifference': True,
'options':{'defaultType': 'future'},
'version': 'v2'
})
根据文档,此“v2”字符串附加在端点基本名称的末尾。然而,出现了同样的错误,就好像 v1 仍在被调用一样。
我找到了解决方案,将 CCXT 版本更新到最新后,自动与 Binance v2 API 端点配合使用。它产生了与命名法相关的新兼容性问题。 EX: BTC/USDT 必须写成“BTC/USDT:USDT”,但原来的问题已经完全解决了。