From b8ec6faf40ea2a19f6cbba20b14bbf8d52ca013f Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 13 十一月 2023 16:15:28 +0800 Subject: [PATCH] 修改l2数据上传规则(未生效) --- huaxin_client/l2_data_manager.py | 30 +++++++++++++++++++++++++++++- 1 files changed, 29 insertions(+), 1 deletions(-) diff --git a/huaxin_client/l2_data_manager.py b/huaxin_client/l2_data_manager.py index c89727a..67074fa 100644 --- a/huaxin_client/l2_data_manager.py +++ b/huaxin_client/l2_data_manager.py @@ -36,6 +36,31 @@ self.market_data_queue = market_data_queue self.temp_order_queue_dict = {} self.temp_transaction_queue_dict = {} + self.filter_order_condition_dict = {} + + # TODO 闇�瑕佽皟鐢� + # 璁剧疆璁㈠崟杩囨护鏉′欢 + def set_order_fileter_condition(self, code, min_volume, special_volumes=None, special_volumes_expire_time=None): + if special_volumes is None: + special_volumes = set() + self.filter_order_condition_dict[code] = [min_volume, special_volumes, special_volumes_expire_time] + + # 杩囨护璁㈠崟 + def __filter_order(self, item): + filter_condition = self.filter_order_condition_dict.get(item[0]) + if filter_condition: + # item[2]涓洪噺 + if item[2] >= filter_condition[0]: + return item + if filter_condition[1] and item[2] in filter_condition[1]: + if filter_condition[2] and time.time() > filter_condition[2]: + # 瓒呮椂浜嗭紝闇�瑕佹竻闄ょ壒娈婇噺鏁版嵁 + filter_condition[1] = set() + filter_condition[2] = None + return None + return item + return None + return item # 娣诲姞濮旀墭璇︽儏 def add_l2_order_detail(self, data, start_time, istransaction=False): @@ -84,7 +109,10 @@ try: if not q: data = q.popleft() - temp_list.append(data) + # 鍓嶇疆鏁版嵁澶勭悊锛岃繃婊ゆ帀鏃犵敤鐨勬暟鎹� + data = self.__filter_order(data) + if data: + temp_list.append(data) else: if temp_list: # 涓婁紶鏁版嵁 -- Gitblit v1.8.0