Skip to content

Commit e6d92f7

Browse files
committed
change cancelled/filled logging logic
1 parent 0c61c15 commit e6d92f7

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

Diff for: src/passivbot.py

+12-9
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ async def execute_to_exchange(self):
363363
)
364364
if res:
365365
for elm in res:
366-
self.remove_cancelled_order(elm, source="POST")
366+
self.remove_order(elm, source="POST")
367367
if self.debug_mode:
368368
if to_create:
369369
print(f"would create {len(to_create)} orders")
@@ -923,21 +923,24 @@ def add_new_order(self, order, source="WS"):
923923
traceback.print_exc()
924924
return False
925925

926-
def remove_cancelled_order(self, order: dict, source="WS"):
926+
def remove_order(self, order: dict, source="WS", reason="cancelled"):
927927
try:
928928
if not order or "id" not in order:
929+
logging.info(f"debug remove_order, missing 'id' {order}")
929930
return False
930931
if "symbol" not in order or order["symbol"] is None:
931-
logging.info(f"{order}")
932+
logging.info(f"debug remove_order, missing 'symbol' {order}")
932933
return False
933934
if order["symbol"] not in self.open_orders:
935+
logging.info(f"debug remove_order, 'symbol' not in self.open_orders {order}")
934936
self.open_orders[order["symbol"]] = []
937+
return False
935938
if order["id"] in {x["id"] for x in self.open_orders[order["symbol"]]}:
936939
self.open_orders[order["symbol"]] = [
937940
x for x in self.open_orders[order["symbol"]] if x["id"] != order["id"]
938941
]
939942
logging.info(
940-
f"cancelled {self.pad_sym(order['symbol'])} {order['side']} {order['qty']} {order['position_side']} @ {order['price']} source: {source}"
943+
f"{reason} {self.pad_sym(order['symbol'])} {order['side']} {order['qty']} {order['position_side']} @ {order['price']} source: {source}"
941944
)
942945
return True
943946
except Exception as e:
@@ -952,14 +955,14 @@ def handle_order_update(self, upd_list):
952955
"filled" in upd and upd["filled"] is not None and upd["filled"] > 0.0
953956
):
954957
# There was a fill, partial or full. Schedule update of open orders, pnls, position.
955-
logging.info(
956-
f" filled {self.pad_sym(upd['symbol'])} {upd['side']} {upd['qty']} {upd['position_side']} @ {upd['price']} source: WS"
957-
)
958958
self.recent_fill = True
959959
self.previous_REST_update_ts = 0
960-
elif upd["status"] in ["canceled", "expired", "rejected"]:
960+
self.remove_order(upd, source="WS", reason=" filled")
961+
elif upd["status"] in ["canceled", "cancelled", "expired", "rejected"]:
961962
# remove order from open_orders
962-
self.remove_cancelled_order(upd, source="WS")
963+
self.remove_order(
964+
upd, source="WS", reason=upd["status"].replace("canceled", "cancelled")
965+
)
963966
elif upd["status"] == "open":
964967
# add order to open_orders
965968
self.add_new_order(upd, source="WS")

0 commit comments

Comments
 (0)