From e1788016750ad6ec1dfc28a4e6948ecaf5b326e4 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 22 二月 2024 16:03:30 +0800 Subject: [PATCH] 影子单价格修改/消息日志添加/成交太快撤单 --- huaxin_client/l2_data_manager.py | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff --git a/huaxin_client/l2_data_manager.py b/huaxin_client/l2_data_manager.py index 862f347..b8c91e3 100644 --- a/huaxin_client/l2_data_manager.py +++ b/huaxin_client/l2_data_manager.py @@ -43,29 +43,30 @@ self.l2_transaction_codes = set() # 璁剧疆璁㈠崟杩囨护鏉′欢 - def set_order_fileter_condition(self, code, min_volume, limit_up_price, special_volumes=None, + # special_price:杩囨护鐨�1鎵嬬殑浠锋牸 + def set_order_fileter_condition(self, code, min_volume, limit_up_price, special_price, special_volumes=None, special_volumes_expire_time=None): if special_volumes is None: special_volumes = set() if code in self.filter_order_condition_dict and not special_volumes and not special_volumes_expire_time: - self.filter_order_condition_dict[code][0] = (min_volume, limit_up_price) + self.filter_order_condition_dict[code][0] = (min_volume, limit_up_price, special_price) huaxin_l2_log.info(logger_local_huaxin_l2_subscript, f"({code})甯歌杩囨护鏉′欢璁剧疆锛歿self.filter_order_condition_dict[code]}") else: - self.filter_order_condition_dict[code] = [(min_volume, limit_up_price), special_volumes, + self.filter_order_condition_dict[code] = [(min_volume, limit_up_price, special_price), special_volumes, special_volumes_expire_time] huaxin_l2_log.info(logger_local_huaxin_l2_subscript, f"({code})涓嬪崟鍚庤繃婊ゆ潯浠惰缃細{self.filter_order_condition_dict[code]}") # 杩囨护璁㈠崟 def __filter_order(self, item): - # if item[2] == 100 and item[3] == '1': - # # 涓嶈繃婊や拱1鎵� - # return item filter_condition = self.filter_order_condition_dict.get(item[0]) if filter_condition: # item[2]涓洪噺 if item[2] >= filter_condition[0][0]: + return item + # 1鎵嬬殑涔板崟婊¤冻浠锋牸 + if item[2] == 100 and item[3] == '1' and abs(filter_condition[0][2] - item[1]) < 0.001: return item if filter_condition[1] and item[2] in filter_condition[1]: if filter_condition[2] and time.time() > filter_condition[2]: @@ -73,8 +74,6 @@ filter_condition[1] = set() filter_condition[2] = None return None - return item - elif item[2] == 100 and item[3] == '1': return item return None return item -- Gitblit v1.8.0