mirror of
https://github.com/aljazceru/bitfinex-api-py.git
synced 2025-12-19 23:04:21 +01:00
Invalid orders should be removed from pending_orders (#126)
* Invalid orders should be removed from pending_orders * If an EXCHANGE_FILL_OR_KILL order is unfilled and cancelled, confirm_order_new will not get called. This can leave lots of pending orders remaining in the order_manager. However, confirm_order_closed will get called, and therefore we should delete pending orders from that method as well. * updated CHANGELOG
This commit is contained in:
@@ -43,6 +43,8 @@ class OrderManager:
|
||||
order.set_open_state(False)
|
||||
if order.id in self.open_orders:
|
||||
del self.open_orders[order.id]
|
||||
if order.cid in self.pending_orders:
|
||||
del self.pending_orders[order.cid]
|
||||
self.closed_orders[order.id] = order
|
||||
if not order.is_confirmed():
|
||||
order.set_confirmed()
|
||||
@@ -87,6 +89,12 @@ class OrderManager:
|
||||
self.logger.info("Order new: {}".format(order))
|
||||
self.bfxapi._emit('order_new', order)
|
||||
|
||||
async def confirm_order_error(self, raw_ws_data):
|
||||
cid = raw_ws_data[2][4][2]
|
||||
if cid in self.pending_orders:
|
||||
del self.pending_orders[cid]
|
||||
self.logger.info("Deleted Order CID {} from pending orders".format(cid))
|
||||
|
||||
async def submit_order(self, symbol, price, amount, market_type=Order.Type.LIMIT,
|
||||
hidden=False, price_trailing=None, price_aux_limit=None,
|
||||
oco_stop_price=None, close=False, reduce_only=False,
|
||||
|
||||
Reference in New Issue
Block a user