Skip to content

Commit

Permalink
Merge pull request #110 from AsyncAlgoTrading/cancel_order
Browse files Browse the repository at this point in the history
fix ib cancel issue
  • Loading branch information
timkpaine committed Oct 2, 2020
2 parents caa3dd0 + 797f68f commit 8806066
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
12 changes: 8 additions & 4 deletions aat/engine/dispatch/risk/risk.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,18 @@ async def onExit(self, event: Event):
#########################
async def onTraded(self, event: Event, strategy: Optional[EventHandler]): # type: ignore[override]
trade: Trade = event.target # type: ignore
if trade.my_order.filled >= trade.my_order.volume:

if trade.my_order in self._active_orders and trade.my_order.filled >= trade.my_order.volume:
self._active_orders.remove(trade.my_order)

async def onRejected(self, event: Event, strategy: Optional[EventHandler]): # type: ignore[override]
order: Order = event.target # type: ignore
self._active_orders.remove(order)

if order in self._active_orders:
self._active_orders.remove(order)

async def onCanceled(self, event: Event, strategy: Optional[EventHandler]): # type: ignore[override]
order: Order = event.target # type: ignore
print('cancelling order: {}'.format(order))
self._active_orders.remove(order)

if order in self._active_orders:
self._active_orders.remove(order)
2 changes: 1 addition & 1 deletion aat/exchange/public/ib/ib.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ async def tick(self):
pass

elif status in ('Cancelled',):
e = Event(type=EventType.REJECTED, target=order)
e = Event(type=EventType.CANCELED, target=order)
yield e

elif status in ('Filled',):
Expand Down

0 comments on commit 8806066

Please sign in to comment.