首页 > 解决方案 > 为什么 HITBTC V2 REST API 返回 2001 错误(不正确的对)?

问题描述

我正在尝试使用 HITBTC API 的 V2 下订单(此处的文档)。我正在尝试通过 POST 请求下订单,并且一切都很好授权,但是在下订单时,以下函数返回服务器发回的内容,即以下 JSON:

{'error': {'code': 2001, 'message': 'Symbol not found', 'description': 'Try get /api/2/public/symbol, to get list of all available symbols.'}}

我的问题在于,我传递了我希望以该符号调用指定的格式订购的对,该符号返回 JSON,如下所示:

{"id":"NOAHBTC","baseCurrency":"NOAH","quoteCurrency":"BTC","quantityIncrement":"1000","tickSize":"0.000000001","takeLiquidityRate":"0.001","provideLiquidityRate":"-0.0001","feeCurrency":"BTC"}

我正在传递一个格式与“id”格式完全相同的字符串。

def HITBTCorder(pair, side, quantity, price, session): 
'''
Creates an order on HITBTC, returns status (filled or not filled)
Side: 'buy' or 'sell'
'''
orderData = json.dumps({'symbol': pair, 'side': side, 'quantity': quantity, 'price': price})
print(orderData)
response = session.post('https://api.hitbtc.com/api/2/order', data = orderData)
responseDict = json.loads(response.text)
return responseDict

我正在运行的代码如下所示:

session = requests.session()
session.auth = ('APIPUBLIC', 'APISECRET')

response = trade.HITBTCorder("NOAHBTC", 'buy', 1000, tickers.HITBTCprice("NOAHBTC"), session)

知道如何让它工作吗?

标签: pythonrestpython-requestsalgorithmic-trading

解决方案


你可以更换

orderData = json.dumps({'symbol': pair, 'side': side, 'quantity': quantity, 'price': price})

至:

orderData = json.dumps({'symbol': pair.lower(), 'side': side, 'quantity': quantity, 'price': price})

因为symbol需要以小写形式发送。


推荐阅读