order submission and cancellation working

kraken_orders
Konstantine Tsafatinos 2022-02-09 14:47:29 -05:00
parent 96dd5c632f
commit 03d2eddce3
1 changed files with 24 additions and 3 deletions

View File

@ -314,7 +314,7 @@ class Client:
# txid is a transaction id given by kraken # txid is a transaction id given by kraken
data = {"txid": reqid} data = {"txid": reqid}
resp = await self.kraken_endpoint('CancelOrder', data) resp = await self.kraken_endpoint('CancelOrder', data)
print(resp) return resp
async def symbol_info( async def symbol_info(
self, self,
@ -556,10 +556,31 @@ async def handle_order_requests(
elif action == 'cancel': elif action == 'cancel':
msg = BrokerdCancel(**request_msg) msg = BrokerdCancel(**request_msg)
await client.submit_cancel( resp = await client.submit_cancel(
reqid=msg.reqid reqid=msg.reqid
) )
# Check to make sure there was no error returned by
# the kraken endpoint. Assert one order was cancelled
assert resp['error'] == []
assert resp['result']['count'] == 1
try:
pending = resp['result']['pending']
# Check to make sure the cancellation is NOT pending,
# then send the confirmation to the ems order stream
except KeyError:
await ems_order_stream.send(
BrokerdStatus(
reqid=msg.reqid,
account=msg.account,
time_ns=time.time_ns(),
status='cancelled',
reason='Order cancelled',
broker_details={'name': 'kraken'}
).dict()
)
else: else:
log.error(f'Unknown order command: {request_msg}') log.error(f'Unknown order command: {request_msg}')