From 25b5717879ed43bddf06ba35cfe6753f30fac9f5 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 14 九月 2023 14:15:11 +0800
Subject: [PATCH] 交易端G撤优化

---
 huaxin_client/l2_data_manager.py |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/huaxin_client/l2_data_manager.py b/huaxin_client/l2_data_manager.py
index d700f08..5a0ae80 100644
--- a/huaxin_client/l2_data_manager.py
+++ b/huaxin_client/l2_data_manager.py
@@ -101,9 +101,21 @@
     code = data['SecurityID']
     if code in buy_order_nos_dict:
         if data['BuyNo'] in buy_order_nos_dict[code]:
-            if code not in latest_big_order_transaction_orders_dict:
-                latest_big_order_transaction_orders_dict[code] = set()
-            latest_big_order_transaction_orders_dict[code].add(data['BuyNo'])
+            temp_list = latest_big_order_transaction_orders_dict.get(code)
+            if not temp_list:
+                temp_list = []
+            if temp_list:
+                if temp_list[-1] != data['BuyNo']:
+                    temp_list.append(data['BuyNo'])
+                    if len(temp_list) > 10:
+                        temp_list = temp_list[-10:]
+                    latest_big_order_transaction_orders_dict[code] = temp_list
+            else:
+                temp_list.append(data['BuyNo'])
+
+
+
+
     tmep_transaction_queue_dict[code].put((data['SecurityID'], data['TradePrice'], data['TradeVolume'],
                                            data['OrderTime'], data['MainSeq'], data['SubSeq'], data['BuyNo'],
                                            data['SellNo'], data['ExecType']))
@@ -286,12 +298,14 @@
         if code not in target_codes:
             return
         # 濡傛灉鏈�杩戠殑娲诲姩鏃堕棿灏忎簬2s灏变笉闇�瑕佽繍琛�
-        if code not in order_detail_upload_active_time_dict or time.time() - order_detail_upload_active_time_dict[code] > 2:
+        if code not in order_detail_upload_active_time_dict or time.time() - order_detail_upload_active_time_dict[
+            code] > 2:
             t = threading.Thread(target=lambda: __run_upload_order(code, l2_data_callback), daemon=True)
             t.start()
             __upload_order_threads[code] = t
 
-        if code not in transaction_upload_active_time_dict or time.time() - transaction_upload_active_time_dict[code] > 2:
+        if code not in transaction_upload_active_time_dict or time.time() - transaction_upload_active_time_dict[
+            code] > 2:
             t = threading.Thread(target=lambda: __run_upload_trans(code, l2_data_callback), daemon=True)
             t.start()
             __upload_trans_threads[code] = t
@@ -327,12 +341,14 @@
                     # 鐩爣浠g爜鍔犲叆2s涔嬪悗鍚姩瀹堟姢
                     if time.time() - target_codes_add_time[code] > 2:
                         if code not in __upload_order_threads or not __upload_order_threads[code].is_alive():
-                            t = threading.Thread(target=lambda: __run_upload_order(code, _l2_data_callback), daemon=True)
+                            t = threading.Thread(target=lambda: __run_upload_order(code, _l2_data_callback),
+                                                 daemon=True)
                             t.start()
                             __upload_order_threads[code] = t
                             logger_local_huaxin_l2_upload.info(f"閲嶆柊鍒涘缓L2璁㈠崟涓婁紶绾跨▼锛歿code}")
                         if code not in __upload_trans_threads or not __upload_trans_threads[code].is_alive():
-                            t = threading.Thread(target=lambda: __run_upload_trans(code, _l2_data_callback), daemon=True)
+                            t = threading.Thread(target=lambda: __run_upload_trans(code, _l2_data_callback),
+                                                 daemon=True)
                             t.start()
                             __upload_trans_threads[code] = t
                             logger_local_huaxin_l2_upload.info(f"閲嶆柊鍒涘缓L2鎴愪氦涓婁紶绾跨▼锛歿code}")
@@ -340,6 +356,7 @@
                 pass
             finally:
                 time.sleep(3)
+
     t = threading.Thread(target=lambda: upload_daemon(), daemon=True)
     t.start()
 

--
Gitblit v1.8.0