From b855b811e3753ffcb35f145c985bb32f4b550038 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期四, 31 十月 2024 18:11:40 +0800
Subject: [PATCH] 排1之前的数据准备

---
 huaxin_client/l1_client.py |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/huaxin_client/l1_client.py b/huaxin_client/l1_client.py
index 39a65d8..8ce91fd 100644
--- a/huaxin_client/l1_client.py
+++ b/huaxin_client/l1_client.py
@@ -9,7 +9,7 @@
 from huaxin_client import socket_util, l1_subscript_codes_manager
 import xmdapi
 from huaxin_client import tool, constant
-from log_module.log import logger_system, logger_local_huaxin_l1, logger_l2_codes_subscript
+from log_module.log import logger_system, logger_local_huaxin_l1, logger_l2_codes_subscript, logger_debug
 from utils import tool as out_tool
 
 ################B绫�##################
@@ -129,9 +129,10 @@
         if out_tool.get_limit_up_rate(pMarketDataField.SecurityID) > 1.1001:
             # 娑ㄥ仠鏉�20%浠ヤ笂鐨勬墦鎶�
             rate = rate / 2
+        # (浠g爜, 鐜颁环, 娑ㄥ箙, 閲�, 褰撳墠鏃堕棿, 涔�1浠�, 涔�1閲�, 涔�2浠�, 涔�2閲�, 鏇存柊鏃堕棿)
         level1_data_dict[pMarketDataField.SecurityID] = (
             pMarketDataField.SecurityID, pMarketDataField.LastPrice, rate, pMarketDataField.Volume, time.time(),
-            pMarketDataField.BidPrice1, pMarketDataField.BidVolume1)
+            pMarketDataField.BidPrice1, pMarketDataField.BidVolume1, pMarketDataField.BidPrice2, pMarketDataField.BidVolume2, pMarketDataField.UpdateTime)
 
 
 __latest_subscript_codes = set()
@@ -208,7 +209,16 @@
             time.sleep(3)
 
 
-def run(queue_l1_w_strategy_r, queue_l1_r_strategy_w):
+def run(queue_l1_w_strategy_r, queue_l1_r_strategy_w, fixed_codes=None):
+    """
+    杩愯l1璁㈤槄浠诲姟
+    @param queue_l1_w_strategy_r: L1鏂瑰啓锛岀瓥鐣ユ柟璇�
+    @param queue_l1_r_strategy_w: L1鏂硅锛岀瓥鐣ユ柟鍐�
+    @param fixed_codes: 鍥哄畾瑕佽繑鍥炴暟鎹殑浠g爜
+    @return:
+    """
+    if fixed_codes is None:
+        fixed_codes = set()
     logger_local_huaxin_l1.info("杩愯l1璁㈤槄鏈嶅姟")
     codes_sh = []
     codes_sz = []
@@ -277,10 +287,14 @@
             threshold_rate = constant.L1_MIN_RATE_PRE if now_time_int < int(
                 "094000") else constant.L1_MIN_RATE
             for d in list_:
-                if d[2] >= threshold_rate:
+                if d[2] >= threshold_rate or d[0] in fixed_codes:
                     # 娑ㄥ箙灏忎簬5%鐨勯渶瑕佸垹闄�
                     flist.append(d)
             flist.sort(key=lambda x: x[2], reverse=True)
+            # 灏嗗浐瀹氫唬鐮佺殑鎺掑湪鏈�鍓�
+            for code in fixed_codes:
+                if code in level1_data_dict:
+                    flist.insert(0, level1_data_dict[code])
             # 姝e紡浜ゆ槗涔嬪墠鍏堝鐞嗘瘮杈冨皯鐨勬暟鎹紝涓嶇劧澶勭悊鏃堕棿涔呴�犳垚鏁版嵁鎷ュ牭
             MAX_COUNT = 500
             if now_time_int < int("092600"):
@@ -295,6 +309,7 @@
                 __upload_codes_info(queue_l1_w_strategy_r, datas)
         except Exception as e:
             logging.exception(e)
+            logger_debug.exception(e)
         finally:
             time.sleep(3)
 

--
Gitblit v1.8.0