From 68464c679ae5e1ae35e7e67e3b339ba0f939cbd3 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: 星期三, 15 三月 2023 14:46:03 +0800
Subject: [PATCH] 选股宝板块优化

---
 juejin.py |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/juejin.py b/juejin.py
index b082ce0..21ee3b9 100644
--- a/juejin.py
+++ b/juejin.py
@@ -20,6 +20,7 @@
 import constant
 import global_data_loader
 import global_util
+import gpcode_first_screen_manager
 import gpcode_manager
 import threading
 
@@ -74,7 +75,16 @@
 
     # 9鐐�25涔嬪墠鍒犻櫎鎵�鏈変唬鐮�
     if tool.trade_time_sub(tool.get_now_time_str(), "09:25:00") <= 0:
+        # 鍒犻櫎L2鐩戝惉浠g爜
         gpcode_manager.clear_listen_codes()
+        # 鍒犻櫎棣栨澘浠g爜
+        gpcode_manager.clear_first_codes()
+        # 鍒犻櫎棣栨澘鏈瓫閫変唬鐮�
+        gpcode_first_screen_manager.clear_first_no_screen_codes()
+        # 鍒犻櫎绂佹浠g爜
+        l2_trade_util.init_forbidden_trade_codes()
+        # 娓呯┖鐧藉悕鍗�
+        l2_trade_util.WhiteListCodeManager.clear()
 
     # TODO 鍒犻櫎鎵�鏈夐鏉夸唬鐮�
 
@@ -148,7 +158,7 @@
     # 鍒濆鍖栧唴瀹�
     clients = authority.get_l2_clients()
     for client in clients:
-        for i in range(0, 8):
+        for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE):
             gpcode_manager.init_listen_code_by_pos(client, i)
 
 
@@ -156,7 +166,7 @@
     # 鍒濆鍖栧唴瀹�
     clients = authority.get_l2_clients()
     for c in clients:
-        for i in range(0, 8):
+        for i in range(0, constant.L2_CODE_COUNT_PER_DEVICE):
             gpcode_manager.init_listen_code_by_pos(int(c), i)
     codes = gpcode_manager.get_gp_list()
     result = JueJinManager.get_gp_latest_info(codes)
@@ -268,7 +278,7 @@
 
     __actualPriceProcessor.save_current_price_codes_count(len(prices))
     # 閲囬泦鐨勪唬鐮佹暟閲忎笉瀵�
-    if len(gpcode_manager.get_gp_list()) - len(prices) > 2:
+    if len(gpcode_manager.get_gp_list()) - len(prices) > 10:
         return
     now_str = tool.get_now_time_str()
     now_strs = now_str.split(":")
@@ -362,6 +372,19 @@
         for code in add_code_list:
             if not gpcode_manager.is_listen_old(code):
                 L2CodeOperate.get_instance().add_operate(1, code, "鐜颁环鍙樺寲")
+
+        # 鑾峰彇鍗′綅鏁伴噺
+        free_count = gpcode_manager.get_free_listen_pos_count()
+        if free_count < 2:
+            # 绌洪棽浣嶇疆涓嶈冻
+            listen_codes = gpcode_manager.get_listen_codes()
+            for code in listen_codes:
+                if not gpcode_manager.is_in_gp_pool(code):
+                    client_id, pos = gpcode_manager.get_listen_code_pos(code)
+                    gpcode_manager.set_listen_code_by_pos(client_id, pos, "")
+                    free_count += 1
+                    if free_count > 2:
+                        break
 
         print(add_code_list, del_code_list)
 
@@ -586,5 +609,14 @@
 
 
 if __name__ == '__main__':
-    print(get_volumn("002115"))
-    print(JueJinManager.get_lowest_price_rate("002713", 15))
+    free_count = 0
+    if free_count < 2:
+        # 绌洪棽浣嶇疆涓嶈冻
+        listen_codes = gpcode_manager.get_listen_codes()
+        for code in listen_codes:
+            if not gpcode_manager.is_in_gp_pool(code):
+                client_id, pos = gpcode_manager.get_listen_code_pos(code)
+                gpcode_manager.set_listen_code_by_pos(client_id, pos, "")
+                free_count += 1
+                if free_count > 2:
+                    break

--
Gitblit v1.8.0