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