Skip to content

Commit

Permalink
Merge pull request #430 from yakir4123/yakir/feat/faster-on-order-can…
Browse files Browse the repository at this point in the history
…cellation

feat(FutureExchange): iterate the orders from the end makes the simulation run faster
  • Loading branch information
saleh-mir authored Apr 13, 2024
2 parents c9c0fc1 + fa24d82 commit 200085e
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions jesse/models/FuturesExchange.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,13 +155,15 @@ def on_order_cancellation(self, order: Order) -> None:
if not order.reduce_only:
if order.side == sides.BUY:
# find and set order to [0, 0] (same as removing it)
for index, item in enumerate(self.buy_orders[base_asset]):
for index in range(len(self.buy_orders[base_asset]) - 1, 0, -1):
item = self.buy_orders[base_asset][index]
if item[0] == order.qty and item[1] == order.price:
self.buy_orders[base_asset][index] = np.array([0, 0])
break
else:
# find and set order to [0, 0] (same as removing it)
for index, item in enumerate(self.sell_orders[base_asset]):
for index in range(len(self.sell_orders[base_asset]) - 1, 0, -1):
item = self.sell_orders[base_asset][index]
if item[0] == order.qty and item[1] == order.price:
self.sell_orders[base_asset][index] = np.array([0, 0])
break
Expand Down

0 comments on commit 200085e

Please sign in to comment.