admin
5 天以前 af2667eb4e3d2bbc577b59cfba2431e63d4e8159
strategy/plate_strength_analysis.py
@@ -7,6 +7,7 @@
from log_module.log import logger_common, logger_kpl_jingxuan_in, logger_debug, logger_kpl_market_sift_plate
from strategy import kpl_api, data_cache, basic_methods
from strategy.kpl_data_manager import KPLMarketStockHeatLogManager
from utils import tool, hx_qc_value_util
@@ -70,24 +71,26 @@
        return log_data
    # 定义一个时间段,在这个时间段内才会执行下面的代码,主要就是把强度数据作为日志打印存储下来。
    now_time = tool.get_now_time_str()
    if not (data_cache.OPENING_TIME < now_time < data_cache.NOON_MARKET_TIME):
        return
    data = (kpl_api.getMarketJingXuanRealRankingInfo())
    market_sift_plate = json.loads(data)
    # print(f"market_sift_plate 数 ======{len(market_sift_plate['list'])}")
    # 精选板块【前20】 market_sift_plate['list'] ======
    logger_kpl_market_sift_plate.info(f"{market_sift_plate['list']}")
    if data_cache.OPENING_TIME < now_time < data_cache.AFTER_CLOSING_TIME:
        logger_kpl_market_sift_plate.info(f"{market_sift_plate['list']}")
    # 总控制时间段
    # TODO 测试
    if not (data_cache.OPENING_TIME < now_time < data_cache.NOON_MARKET_TIME) and False:
        return
    # ['801235', '化工', 6996, 0.027, 2.43, 117836347690, -122548038, 8105997595, -8228545633, 0.92, 8595377775454, 0.09, 332297449, 9954902621130, -192457252, 24.0487, 17.1809, 6996, 0.027]
    # market_sift_plate['list'][0] = ['801062', '军工', 3520, -0.49, 0.666, 139133934669, 383864272, 9077352839, -8693488567, 1.183, 6129448037490,-0.12, 168245858, 7088854452019, -290614763, 50.2408, 30.3672, 3520, 0]
    # 行情精选板块列表 前20 中的 第一个板块列表数据 = 【代码,板块名称,强度,涨幅?,0.666?,成交额?,现额?,主买,主卖,1.183?,流通值?,-0.12?,300W大单净额?,总市值?,上季度机构增仓,今年平均PE,次年平均PE,强度,未知0值】
    # 行情精选板块列表 前20 中的 第一个板块列表数据 = 【代码,板块名称,强度,涨幅?,量比?,成交额?,现额?,主买,主卖,1.183?,流通值?,-0.12?,300W大单净额?,总市值?,上季度机构增仓,今年平均PE,次年平均PE,强度,未知0值】
    # 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']:
            # todo 获取板块名称和板块代码 主要是板块的强度和主力净额这些
            ds.append(request_plate_codes(d))
        dask_result = batch_get_plate_codes(ds)
        compute_results = dask_result.compute()
@@ -100,7 +103,7 @@
        # logger.info(f"精选板块股票强度数据更新 == {market_sift_plate_stock_dict}")
        # 只在盘中时间获取
        kpl_api.KPLStockOfMarketsPlateLogManager().add_log(market_sift_plate['list'], log_datas)
        KPLMarketStockHeatLogManager().add_log(market_sift_plate['list'], log_datas)
    # 行情》精选板块》排名前20中》对应个股》符合条件的个股
    return market_sift_plate_stock_dict
@@ -115,7 +118,8 @@
            # print(f"kpl_limit_up_process开始了{now}")
            start_time = time.time()
            now_time = tool.get_now_time_str()
            if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME:
            # TODO 测试
            if data_cache.L1_DATA_START_TIME < now_time < data_cache.CLOSING_TIME or True:
                its_stock_power = get_market_sift_plate_its_stock_power()
                time_str = datetime.datetime.now().strftime("%H%M%S")
                if 92900 < int(time_str) < 95000: