Administrator
2024-10-31 b855b811e3753ffcb35f145c985bb32f4b550038
code_attribute/first_target_code_data_processor.py
@@ -11,7 +11,7 @@
from code_attribute.code_nature_analyse import HighIncreaseCodeManager
from code_attribute.gpcode_manager import WantBuyCodesManager
from log_module import async_log_util
from log_module.log import logger_first_code_record, logger_l2_codes_subscript
from log_module.log import logger_first_code_record, logger_l2_codes_subscript, logger_debug
from third_data import history_k_data_manager
from third_data.code_plate_key_manager import CodesHisReasonAndBlocksManager
from third_data.history_k_data_manager import HistoryKDataManager
@@ -119,8 +119,10 @@
                                                              code,
                                                              limit_up_price,
                                                              volumes_data[:90]))
                max_volume_in_5_days = init_data_util.parse_max_volume_in_days(volumes_data, 5)
                async_log_util.info(logger_first_code_record, f"{code} 获取到首板60天最大量:{volumes}")
                code_volumn_manager.set_histry_volumn(code, volumes[0], volumes[1], volumes[2], volumes[3])
                code_volumn_manager.CodeVolumeManager().set_histry_volumn(code, volumes[0], volumes[1], volumes[2], volumes[3], max_volume_in_5_days)
                # 保存K线形态
                k_format = code_nature_analyse.get_k_format(code, limit_up_price, volumes_data)
@@ -137,25 +139,32 @@
                            l2_trade_util.forbidden_trade(code,
                                                          f"无辨识度,自由流通市值({global_util.zyltgb_map.get(code) // 100000000})>{zylt_threshold_as_yi[1]}亿")
                            continue
                        elif limit_up_price and float(limit_up_price) >= 50:
                        elif limit_up_price and float(limit_up_price) >= constant.MAX_CODE_PRICE:
                            l2_trade_util.forbidden_trade(code,
                                                          f"无辨识度,涨停价({limit_up_price})>50")
                                                          f"无辨识度,涨停价({limit_up_price})>{constant.MAX_CODE_PRICE}")
                            continue
                    # if code_nature_analyse.is_price_too_high_in_days(code, volumes_data, limit_up_price)[
                    #     0] and code.find("30") != 0:
                    #     # 判断是否太高
                    #     l2_trade_util.forbidden_trade(code, "6天内股价长得太高")
                    #     continue
                    #     pass
                    if code_nature_analyse.is_price_too_high_in_days(code, volumes_data, limit_up_price)[
                        0] and code.find("30") != 0:
                        # 判断是否太高
                        l2_trade_util.forbidden_trade(code, "6天内股价长得太高")
                        continue
                        pass
                    if len(k_format) > 14 and k_format[14]:
                        l2_trade_util.forbidden_trade(code, "昨日炸板")
                        continue
                    if code_nature_analyse.is_continue_limit_up_not_enough_fall_dwon(code, volumes_data):
                        # 判断是否太高
                        l2_trade_util.forbidden_trade(code, "回踩不够")
                        continue
                    if not __is_normal_in_5d(code):
                        l2_trade_util.forbidden_trade(code, "最近5天有ST/非正常状态")
                        continue
                    try:
                        if not __is_normal_in_5d(code):
                            l2_trade_util.forbidden_trade(code, "最近5天有ST/非正常状态")
                            continue
                    except Exception as e:
                        logger_debug.error(f"{code}出错__is_normal_in_5d")
                        logger_debug.exception(e)
                if code_nature_analyse.is_up_too_high_in_10d_with_limit_up(code, volumes_data):
                    # 判断是否太高