@@ -363,7 +363,7 @@ async def execute_to_exchange(self):
363
363
)
364
364
if res :
365
365
for elm in res :
366
- self .remove_cancelled_order (elm , source = "POST" )
366
+ self .remove_order (elm , source = "POST" )
367
367
if self .debug_mode :
368
368
if to_create :
369
369
print (f"would create { len (to_create )} orders" )
@@ -923,21 +923,24 @@ def add_new_order(self, order, source="WS"):
923
923
traceback .print_exc ()
924
924
return False
925
925
926
- def remove_cancelled_order (self , order : dict , source = "WS" ):
926
+ def remove_order (self , order : dict , source = "WS" , reason = "cancelled " ):
927
927
try :
928
928
if not order or "id" not in order :
929
+ logging .info (f"debug remove_order, missing 'id' { order } " )
929
930
return False
930
931
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 } " )
932
933
return False
933
934
if order ["symbol" ] not in self .open_orders :
935
+ logging .info (f"debug remove_order, 'symbol' not in self.open_orders { order } " )
934
936
self .open_orders [order ["symbol" ]] = []
937
+ return False
935
938
if order ["id" ] in {x ["id" ] for x in self .open_orders [order ["symbol" ]]}:
936
939
self .open_orders [order ["symbol" ]] = [
937
940
x for x in self .open_orders [order ["symbol" ]] if x ["id" ] != order ["id" ]
938
941
]
939
942
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 } "
941
944
)
942
945
return True
943
946
except Exception as e :
@@ -952,14 +955,14 @@ def handle_order_update(self, upd_list):
952
955
"filled" in upd and upd ["filled" ] is not None and upd ["filled" ] > 0.0
953
956
):
954
957
# 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
- )
958
958
self .recent_fill = True
959
959
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" ]:
961
962
# 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
+ )
963
966
elif upd ["status" ] == "open" :
964
967
# add order to open_orders
965
968
self .add_new_order (upd , source = "WS" )
0 commit comments