From 5964226bc37de47919515fec5763ffb625015de6 Mon Sep 17 00:00:00 2001
From: admin <admin@example.com>
Date: 星期五, 21 三月 2025 14:10:48 +0800
Subject: [PATCH] 交易设置及接口

---
 strategy/kpl_api.py |  128 ++++++++++++++++++++----------------------
 1 files changed, 62 insertions(+), 66 deletions(-)

diff --git a/strategy/kpl_api.py b/strategy/kpl_api.py
index e211e4f..efc070b 100644
--- a/strategy/kpl_api.py
+++ b/strategy/kpl_api.py
@@ -11,7 +11,8 @@
 
 import constant
 from log_module import async_log_util
-from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_Overall_market_strength_score
+from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_Overall_market_strength_score, \
+    logger_stock_of_markets_plate
 # import requests
 from strategy import data_cache
 from strategy import basic_methods
@@ -225,64 +226,59 @@
 
     @dask.delayed
     def request_plate_codes(i):
-        plate_name = i[1]
-        # 灏濊瘯杩囨护鎺夋棤鎰忎箟鐨勬蹇垫澘鍧�(plate_name not in ['绉戝垱鏉�', '鍖椾氦鎵�', '娆℃柊鑲�', '鏃�', 'ST鏉垮潡', 'ST鎽樺附', '骞惰喘閲嶇粍', '鍥戒紒鏀归潻','瓒呰穼', '澹宠祫婧�', '鑲℃潈杞', '閫佽浆濉潈']) and '澧為暱' in plate_name
-        if (plate_name not in ['绉戝垱鏉�', '鍖椾氦鎵�', '娆℃柊鑲�', '鏃�', 'ST鏉垮潡', 'ST鎽樺附', '骞惰喘閲嶇粍', '鍥戒紒鏀归潻', '瓒呰穼',
-                               '澹宠祫婧�', '鑲℃潈杞', '閫佽浆濉潈']) or ('澧為暱' in plate_name):
-            # print(f"{i[1]} 寮哄害:{i[2]}")
-            # 閫氳繃鏉垮潡ID鑾峰彇鍏朵笅闈㈢殑涓偂寮哄害鍒楄〃
-            # print(f"======={i[0]}=======")
-            its_stock = json.loads(getCodesByPlate(i[0]))
+        # 鍙湪鐩樹腑鏃堕棿鑾峰彇
+        now_time = tool.get_now_time_str()
+        if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME:
+            plate_name = i[1]
+            # 灏濊瘯杩囨护鎺夋棤鎰忎箟鐨勬蹇垫澘鍧�(plate_name not in ['绉戝垱鏉�', '鍖椾氦鎵�', '娆℃柊鑲�', '鏃�', 'ST鏉垮潡', 'ST鎽樺附', '骞惰喘閲嶇粍', '鍥戒紒鏀归潻','瓒呰穼', '澹宠祫婧�', '鑲℃潈杞', '閫佽浆濉潈']) and '澧為暱' in plate_name
+            if (plate_name not in ['绉戝垱鏉�', '鍖椾氦鎵�', '娆℃柊鑲�', '鏃�', 'ST鏉垮潡', 'ST鎽樺附', '骞惰喘閲嶇粍', '鍥戒紒鏀归潻', '瓒呰穼',
+                                   '澹宠祫婧�', '鑲℃潈杞', '閫佽浆濉潈']) or ('澧為暱' in plate_name):
+                # print(f"{i[1]} 寮哄害:{i[2]}")
+                # 閫氳繃鏉垮潡ID鑾峰彇鍏朵笅闈㈢殑涓偂寮哄害鍒楄〃
+                # print(f"======={i[0]}=======")
 
-            # print(f"its_stock['list']  ===  {its_stock['list']}")
-            # print(f"its_stock['list'][0]  ===  {its_stock['list'][0]}")
-            logger.info(f"its_stock['list']  ===銆嬨��  {its_stock['list']}")
-            # logger.info(f"its_stock['list'][0]  ===  {its_stock['list'][0]}")
-            its_stock_list_info = its_stock['list']
-            logger.info(f"its_stock_list_info==={its_stock_list_info}")
-            # 灏嗘澘鍧楀己搴︿笅闈㈠搴旂殑涓偂鍒楄〃鎵撳嵃鍒版棩蹇椾腑
-            # for i in its_stock_list_info:
-            #     if i[0] != 1:
-            #         logger.info(
-            #             f"l === 涓偂浠g爜锛歿i[0]}锛屽叕鍙稿悕绉帮細{i[1]}锛屼富鍔涜祫閲戞帹娴嬶細{i[2]}锛屾湭鐭�0鍊硷細{i[3]}锛屾蹇碉細{i[4]}锛屾渶鏂颁环锛歿i[5]}锛屽綋鏃ュ綋鏃舵定骞咃細{i[6]}%锛�"
-            #             f"鎴愪氦棰濓細{round(i[7] / 100000000, 2)} 浜匡紝瀹為檯鎹㈡墜鐜囷細{i[8]}%锛屾湭鐭�0鍊硷細{i[9]}锛屽疄闄呮祦閫氾細{round(i[10] / 100000000, 2)}浜匡紝"
-            #             f"涓诲姏涔帮細{round(i[11] / 100000000, 2)}浜匡紝"
-            #             f"涓诲姏鍗栵細{round(i[12] / 100000000, 2)}浜匡紝"
-            #             f"涓诲姏鍑�棰濓細{round(i[13] / 10000, 2)}涓囷紝涔版垚鍗犳瘮锛歿i[14]}%锛屽崠鎴愬崰姣旓細{i[15]}%锛屽噣鎴愬崰姣旓細{i[16]}%锛屼拱娴佸崰姣旓細{i[17]}%锛屽崠娴佸崰姣旓細{i[18]}%锛屽噣娴佸崰姣旓細{i[19]}%锛�"
-            #             f"鍖洪棿娑ㄥ箙锛歿i[20]}%锛岄噺姣旓細{i[21]}锛屾湭鐭�0锛歿i[22]}锛屼笂鏉挎儏鍐碉細{i[23]}锛屼笂鏉挎帓鍚嶏細{i[24]}锛屾崲鎵嬬巼锛歿i[25]}%锛�"
-            #             f"鏈煡绌哄�硷細{i[26]}锛屾湭鐭ラ浂鍊硷細{i[27]}锛屾敹鐩樺皝鍗曪細{i[28]}锛屾渶澶у皝鍗曪細{i[29]}锛屾湭鐭ョ┖鍊硷紵锛歿i[30]}锛�"
-            #             f"锛燂細{i[30]}%锛岋紵锛歿i[31]}锛岋紵锛燂細{i[32]}锛屾尟骞咃細{i[33]}%锛屾湭鐭�0锛燂紵锛燂紵锛歿i[34]}锛屾湭鐭�0锛燂紵锛燂紵锛燂細{i[35]}锛�"
-            #             f"锛�=锛歿i[36]}锛岋紵鎬诲競鍊硷細{i[37]}锛岋紵娴侀�氬競鍊硷細{i[38]}锛屾渶缁堝綊灞炴蹇碉紙鏀剁洏鍚庡嚭鏁版嵁锛燂級锛歿i[39]}锛岄娑ㄦ鏁帮細{i[40]}锛�"
-            #             f"41鏈煡1鍊硷細{i[41]}锛岀涓夊搴︽満鏋勬寔浠撱�恠tr鏁版嵁鍕跨敤杩愮畻绗︺�戯細{i[42]}涓囷紝锛熷勾棰勬祴鍑�鍒╂鼎锛歿i[43]}锛屼笂骞撮娴嬪噣鍒╂鼎锛歿i[44]}锛屽勾鍐呴娴嬪噣鍒╂鼎锛歿i[45]}"
-            #         )
+                its_stock = json.loads(getCodesByPlate(i[0]))
 
-            # 鑾峰彇璇ユ蹇垫澘鍧楃殑鐨勫瓙鐗堝潡
-            # its_son_plate = json.loads(getSonPlate(i[0]))
-            # logger.info(f"its_son_plate=={its_son_plate['List']}")
-            # if its_son_plate['List'][0][2] > 0:
-            #     print(f"its_son_plate=={its_son_plate['List'][0]}")
-            # for son in its_son_plate['List']:
-            #     if son[2] > 0:
-            #         print(f"son===={son}")
-            # 鍒濆鍖栬偂绁ㄥ己搴﹀垪琛�
-            stock_power_list = []
-            for s in its_stock['list']:
-                # 杩囨护鎺夋定骞呭ぇ浜�  and s[6] < 6.5 涓斿皬浜�0%鐨� 鍜� 鍚嶇О涓寘鍚玈T鐨� 鍜� 娑ㄩ�熷皬浜庣瓑浜�0%鐨� 鍜� 鍙鏄ㄦ棩鏈定鍋� 鍜� 涓婅瘉鎴栨繁璇佺殑姝h偂    and s[9] > 0.0025
-                if s[6] > 0 and s[1].find("ST") < 0 and s[1].find("XD") < 0 and s[23].find("鏉�") < 0 and s[24].find("鏉�") < 0 and (s[0].startswith('60') or s[0].startswith('00')) and s[9] > 1:
-                    # print(f"{s[1]}锛屼釜鑲′唬鐮侊細{s[0]}锛�   娑ㄥ箙锛歿s[6]}%   娑ㄩ�燂細{s[9]}%   姒傚康锛歿s[4]}   涓诲姏璧勯噾鎺ㄦ祴锛歿s[2]}   棰嗘定娆℃暟锛歿s[40]}  浠婃棩绗嚑鏉匡細{s[23]} 鏄惁鐮寸増{s[24]}")
-                    # 瀵逛釜鑲″己搴� 涓昏 灞炴�у垪琛ㄨ繘琛岃濉�
-                    its_stock_power = [s[1], s[0], s[6], s[9], s[4], s[2], s[40]]
-                    # 閫愪釜閫夋嫨鎬ф坊鍔爄ts_stock涓殑鍏冪礌鍒颁釜鑲″己搴﹀垪琛ㄤ腑
-                    # print(f"its_stock_power===={its_stock_power}")
-                    # 鏁翠綋灏嗘坊鍔犲畬鍠勭殑涓偂寮哄害鍒楄〃娣诲姞鍒拌偂绁ㄥ垪琛ㄤ腑
-                    stock_power_list.append(its_stock_power)
-            # print(f"stock_power_list===={stock_power_list}")
-            # 杩囨护鎺夋病鏈夌灛鏃堕珮寮哄害涓偂鐨勭┖姒傚康
-            if len(stock_power_list) != 0:
-                # 灏嗗搴旀澘鍧楃殑鑲$エ寮哄害鍒楄〃鏂板缓涓�涓瓧鍏�
-                stock_power_item = {i[1]: stock_power_list}
-                # 骞舵洿鏂板埌绮鹃�夋澘鍧椾釜鑲″瓧鍏镐腑
-                market_sift_plate_stock_dict.update(stock_power_item)
+                logger.info(f"its_stock['list']  ===銆嬨��  {its_stock['list']}")
+                # logger.info(f"its_stock['list'][0]  ===  {its_stock['list'][0]}")
+                async_log_util.info(logger_stock_of_markets_plate, f"{its_stock['list']}")
+                its_stock_list_info = its_stock['list']
+                logger.info(f"its_stock_list_info==={its_stock_list_info}")
+                # 灏嗘澘鍧楀己搴︿笅闈㈠搴旂殑涓偂鍒楄〃鎵撳嵃鍒版棩蹇椾腑
+                # for i in its_stock_list_info:
+                #     if i[0] != 1:
+                #         logger.info(
+                #             f"l === 涓偂浠g爜锛歿i[0]}锛屽叕鍙稿悕绉帮細{i[1]}锛屼富鍔涜祫閲戞帹娴嬶細{i[2]}锛屾湭鐭�0鍊硷細{i[3]}锛屾蹇碉細{i[4]}锛屾渶鏂颁环锛歿i[5]}锛屽綋鏃ュ綋鏃舵定骞咃細{i[6]}%锛�"
+                #             f"鎴愪氦棰濓細{round(i[7] / 100000000, 2)} 浜匡紝瀹為檯鎹㈡墜鐜囷細{i[8]}%锛屾湭鐭�0鍊硷細{i[9]}锛屽疄闄呮祦閫氾細{round(i[10] / 100000000, 2)}浜匡紝"
+                #             f"涓诲姏涔帮細{round(i[11] / 100000000, 2)}浜匡紝"
+                #             f"涓诲姏鍗栵細{round(i[12] / 100000000, 2)}浜匡紝"
+                #             f"涓诲姏鍑�棰濓細{round(i[13] / 10000, 2)}涓囷紝涔版垚鍗犳瘮锛歿i[14]}%锛屽崠鎴愬崰姣旓細{i[15]}%锛屽噣鎴愬崰姣旓細{i[16]}%锛屼拱娴佸崰姣旓細{i[17]}%锛屽崠娴佸崰姣旓細{i[18]}%锛屽噣娴佸崰姣旓細{i[19]}%锛�"
+                #             f"鍖洪棿娑ㄥ箙锛歿i[20]}%锛岄噺姣旓細{i[21]}锛屾湭鐭�0锛歿i[22]}锛屼笂鏉挎儏鍐碉細{i[23]}锛屼笂鏉挎帓鍚嶏細{i[24]}锛屾崲鎵嬬巼锛歿i[25]}%锛�"
+                #             f"鏈煡绌哄�硷細{i[26]}锛屾湭鐭ラ浂鍊硷細{i[27]}锛屾敹鐩樺皝鍗曪細{i[28]}锛屾渶澶у皝鍗曪細{i[29]}锛屾湭鐭ョ┖鍊硷紵锛歿i[30]}锛�"
+                #             f"锛燂細{i[30]}%锛岋紵锛歿i[31]}锛岋紵锛燂細{i[32]}锛屾尟骞咃細{i[33]}%锛屾湭鐭�0锛燂紵锛燂紵锛歿i[34]}锛屾湭鐭�0锛燂紵锛燂紵锛燂細{i[35]}锛�"
+                #             f"锛�=锛歿i[36]}锛岋紵鎬诲競鍊硷細{i[37]}锛岋紵娴侀�氬競鍊硷細{i[38]}锛屾渶缁堝綊灞炴蹇碉紙鏀剁洏鍚庡嚭鏁版嵁锛燂級锛歿i[39]}锛岄娑ㄦ鏁帮細{i[40]}锛�"
+                #             f"41鏈煡1鍊硷細{i[41]}锛岀涓夊搴︽満鏋勬寔浠撱�恠tr鏁版嵁鍕跨敤杩愮畻绗︺�戯細{i[42]}涓囷紝锛熷勾棰勬祴鍑�鍒╂鼎锛歿i[43]}锛屼笂骞撮娴嬪噣鍒╂鼎锛歿i[44]}锛屽勾鍐呴娴嬪噣鍒╂鼎锛歿i[45]}"
+                #         )
+
+                # 鍒濆鍖栬偂绁ㄥ己搴﹀垪琛�
+                stock_power_list = []
+                for s in its_stock['list']:
+                    # 杩囨护鎺夋定骞呭ぇ浜�  and s[6] < 6.5 涓斿皬浜�0%鐨� 鍜� 鍚嶇О涓寘鍚玈T鐨� 鍜� 娑ㄩ�熷皬浜庣瓑浜�0%鐨� 鍜� 鍙鏄ㄦ棩鏈定鍋� 鍜� 涓婅瘉鎴栨繁璇佺殑姝h偂    and s[9] > 0.0025
+                    if s[6] > 0 and s[1].find("ST") < 0 and s[1].find("XD") < 0 and s[23].find("鏉�") < 0 and s[24].find("鏉�") < 0 and (s[0].startswith('60') or s[0].startswith('00')) and s[9] > 1:
+                        # print(f"{s[1]}锛屼釜鑲′唬鐮侊細{s[0]}锛�   娑ㄥ箙锛歿s[6]}%   娑ㄩ�燂細{s[9]}%   姒傚康锛歿s[4]}   涓诲姏璧勯噾鎺ㄦ祴锛歿s[2]}   棰嗘定娆℃暟锛歿s[40]}  浠婃棩绗嚑鏉匡細{s[23]} 鏄惁鐮寸増{s[24]}")
+                        # 瀵逛釜鑲″己搴� 涓昏 灞炴�у垪琛ㄨ繘琛岃濉�
+                        its_stock_power = [s[1], s[0], s[6], s[9], s[4], s[2], s[40]]
+                        # 閫愪釜閫夋嫨鎬ф坊鍔爄ts_stock涓殑鍏冪礌鍒颁釜鑲″己搴﹀垪琛ㄤ腑
+                        # print(f"its_stock_power===={its_stock_power}")
+                        # 鏁翠綋灏嗘坊鍔犲畬鍠勭殑涓偂寮哄害鍒楄〃娣诲姞鍒拌偂绁ㄥ垪琛ㄤ腑
+                        stock_power_list.append(its_stock_power)
+                # print(f"stock_power_list===={stock_power_list}")
+                # 杩囨护鎺夋病鏈夌灛鏃堕珮寮哄害涓偂鐨勭┖姒傚康
+                if len(stock_power_list) != 0:
+                    # 灏嗗搴旀澘鍧楃殑鑲$エ寮哄害鍒楄〃鏂板缓涓�涓瓧鍏�
+                    stock_power_item = {i[1]: stock_power_list}
+                    # 骞舵洿鏂板埌绮鹃�夋澘鍧椾釜鑲″瓧鍏镐腑
+                    market_sift_plate_stock_dict.update(stock_power_item)
 
     data = (getMarketJingXuanRealRankingInfo())
     market_sift_plate = json.loads(data)
@@ -293,15 +289,15 @@
     # logger.info(f"market_sift_plate['list'][0]  ======{market_sift_plate['list'][0]}")
     # 鍒濆鍖栫簿閫夋澘鍧楀搴斾釜鑲″瓧鍏�
     market_sift_plate_stock_dict = {}
-    if 'list' in market_sift_plate:
-        ds = []
-        for d in market_sift_plate['list']:
-            ds.append(request_plate_codes(d))
-        dask_result = batch_get_plate_codes(ds)
-        dask_result.compute()
-        now_time = tool.get_now_time_str()
-        if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME:
-            logger.info(f"绮鹃�夋澘鍧楄偂绁ㄥ己搴︽暟鎹洿鏂� == {market_sift_plate_stock_dict}")
+    # if 'list' in market_sift_plate:
+    #     ds = []
+    #     for d in market_sift_plate['list']:
+    #         ds.append(request_plate_codes(d))
+    #     dask_result = batch_get_plate_codes(ds)
+    #     dask_result.compute()
+    #     now_time = tool.get_now_time_str()
+    #     if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME:
+    #         logger.info(f"绮鹃�夋澘鍧楄偂绁ㄥ己搴︽暟鎹洿鏂� == {market_sift_plate_stock_dict}")
     return market_sift_plate_stock_dict
 
 

--
Gitblit v1.8.0