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_client.py | 2 -- huaxin_client/l2_data_manager.py | 30 +++++++++++++++++++++++++++++- l2/l2_data_manager_new.py | 2 +- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/huaxin_client/l2_client.py b/huaxin_client/l2_client.py index 8ba5408..6156386 100644 --- a/huaxin_client/l2_client.py +++ b/huaxin_client/l2_client.py @@ -324,8 +324,6 @@ # 鍗� item["OrderNO"] = sellNo item["Side"] = "2" - # 娣辫瘉鎾ゅ崟 - print("閫愮瑪濮旀墭", item) self.l2_data_upload_manager.add_l2_order_detail(item, 0, True) else: if abs(pTransaction['TradePrice'] - limit_up_price) < 0.201: 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: # 涓婁紶鏁版嵁 diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 3068589..0ca71fd 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -1123,7 +1123,7 @@ if code.find('00') == 0: order_begin_pos.threshold_money = int(sell_info[1] * 0.6) else: - order_begin_pos.threshold_money = int(sell_info[1] * 0.7) + order_begin_pos.threshold_money = int(sell_info[1] * 0.8) else: order_begin_pos.threshold_money = int(sell_info[1]) l2_log.debug(code, "鑾峰彇鍒颁拱鍏ヤ俊鍙疯捣濮嬬偣锛歿} ,璁$畻鑼冨洿锛歿}-{} 锛岄噺姣旓細{}锛屾槸鍚︽澘涓婁拱锛歿}锛屾暟鎹細{} 妯″紡锛歿}锛坽}锛�", buy_single_index, -- Gitblit v1.8.0