【发布时间】:2022-12-14 12:18:44
【问题描述】:
我正在尝试通过 websockets 发送订单,但我不知道如何从 websocket 接收关于它是否成功的响应。该网站 (https://support.kraken.com/hc/en-us/articles/360034936531-WebSocket-API-Trading-addOrder-and-cancelOrder) 表示,一旦订单发出,就会有一个回复说明是否成功。
我只是用以下代码测试 addOrder:
async def test():
async for ws in websockets.connect("wss://ws-auth.kraken.com/"):
try:
token = generate_token()
request = {"event": "subscribe", "subscription": {"name": "addOrder", "token": token}}
await ws.send(json.dumps(request))
confirm_connection(await ws.recv())
confirm_subscription(await ws.recv())
volume = 0.0001
leverage = 0
ID = '12345'
request = {'event': 'addOrder', 'token': token, 'reqid': ID, 'ordertype': 'market', 'type': 'buy', 'pair': "XBT/USD", 'volume': volume, 'userref': ID, 'validate': 1}
resp1 = await ws.send(json.dumps(request))
resp2 = await ws.recv()
except websockets.ConnectionClosed:
continue
它连接到 websocket,发出测试交易请求,然后将其发送出去。然后,当我尝试接收响应时(符合 resp2 = ...),它只是说以下内容:
'{"errorMessage":"Public market data subscriptions are unavailable on this endpoint. Try ws.kraken.com","event":"subscriptionStatus","status":"error","subscription":{"name":"addOrder","token":"X"}}'
您应该如何收到关于 Kraken 是否收到交易请求的回复?
提前致谢
【问题讨论】:
标签: python-3.x websocket