admin
2025-03-27 44591a3c9dafc63e4b9b6dedc44f26d47a3efbf6
板块强度数据日志修改
2个文件已修改
1个文件已添加
49 ■■■■ 已修改文件
data_server.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/kpl_api.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
strategy/kpl_data_manager.py 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data_server.py
@@ -15,6 +15,7 @@
from log_module import log_export
from log_module.log import hx_logger_l2_transaction, logger_debug, logger_request_api
from strategy import data_cache
from strategy.kpl_data_manager import KPLStockOfMarketsPlateLogManager
from strategy.trade_setting import TradeSetting
from trade import huaxin_trade_api, huaxin_trade_data_update
from trade.huaxin_trade_record_manager import DelegateRecordManager, DealRecordManager, MoneyManager, PositionManager
@@ -182,12 +183,7 @@
                time_str = params_dict.get("time")
                if not time_str:
                    time_str = tool.get_now_time_str()
                datas = log_export.load_stock_of_markets_plate()
                fdatas = []
                for data in datas:
                    # (发生时间,[净流入板块], {"板块":(代码, 名称, 涨幅)})
                    fdatas.append((data[0], [x[1] for x in data[1][0]],
                                   {p: [(xx[0], xx[1], xx[6]) for xx in data[1][1][p]] for p in data[1][1]}))
                fdatas = KPLStockOfMarketsPlateLogManager().get_filter_log_datas()
                response_data = json.dumps({"code": 1, "msg": "暂无内容"})
                for i in range(len(fdatas) - 1, -1, -1):
                    if fdatas[i][0] <= time_str:
strategy/kpl_api.py
@@ -16,6 +16,7 @@
# import requests
from strategy import data_cache
from strategy import basic_methods
from strategy.kpl_data_manager import KPLStockOfMarketsPlateLogManager
from strategy.market_sentiment_analysis import index_trend_expectation
from trade import middle_api_protocol
@@ -303,7 +304,7 @@
        if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME:
            # logger.info(f"精选板块股票强度数据更新 == {market_sift_plate_stock_dict}")
            # 只在盘中时间获取
            async_log_util.info(logger_stock_of_markets_plate, f"{(market_sift_plate['list'], log_datas)}")
            KPLStockOfMarketsPlateLogManager().add_log(market_sift_plate['list'], log_datas)
    return market_sift_plate_stock_dict
strategy/kpl_data_manager.py
New file
@@ -0,0 +1,38 @@
from log_module import log_export, async_log_util
from log_module.log import logger_stock_of_markets_plate
from utils import tool
@tool.singleton
class KPLStockOfMarketsPlateLogManager:
    """
    精选流入板块与板块代码日志管理
    """
    def __init__(self):
        # 过滤后的日志数据
        self.__filter_log_datas = []
        self.__load_data()
    def __load_data(self):
        datas = log_export.load_stock_of_markets_plate()
        for data in datas:
            # (发生时间,[净流入板块], {"板块":(代码, 名称, 涨幅)})
            self.__filter_log_datas.append(self.__filter_origin_data(data))
    def __filter_origin_data(self, data):
        return (data[0], [x[1] for x in data[1][0]],
                           {p: [(xx[0], xx[1], xx[6]) for xx in data[1][1][p]] for p in data[1][1]})
    def add_log(self, in_plates_info, plate_codes_info):
        oringin_data = (tool.get_now_time_str(), in_plates_info, plate_codes_info)
        self.__filter_log_datas.append(self.__filter_origin_data(oringin_data))
        async_log_util.info(logger_stock_of_markets_plate, f"{(oringin_data[1], oringin_data[2])}")
    def get_filter_log_datas(self):
        return self.__filter_log_datas
if __name__ == '__main__':
    KPLStockOfMarketsPlateLogManager()