Administrator
2023-08-18 98cdfdb18ec1d93b84e051b1901969adc7123ee2
l2/l2_data_manager_new.py
@@ -579,8 +579,7 @@
        if code in cls.unreal_buy_dict:
            cls.unreal_buy_dict.pop(code)
        buy_single_index, buy_exec_index, buy_compute_index, num, count, max_num_set, buy_volume_rate = cls.__get_order_begin_pos(
            code)
        buy_single_index, buy_exec_index, buy_compute_index, num, count, max_num_set, buy_volume_rate = cls.__get_order_begin_pos(code)
        if not can:
            l2_log.debug(code, "不可以下单,原因:{}", reason)
            if need_clear_data:
@@ -807,9 +806,7 @@
                for i in range(trade_index + 1, total_data[-1]["index"] + 1):
                    if L2DataUtil.is_limit_up_price_buy(total_data[i]["val"]):
                        left_count = l2_data_source_util.L2DataSourceUtils.get_limit_up_buy_no_canceled_count(code,
                                                                                                              total_data[
                                                                                                                  i][
                                                                                                                  "index"],
                                                                                                              total_data[i]["index"],
                                                                                                              total_data,
                                                                                                              num_operate_map)
                        if left_count > 0:
@@ -891,6 +888,7 @@
    @classmethod
    def can_buy_first(cls, code, limit_up_price):
        l2_log.debug(code,"can_buy_first start")
        # def is_has_k_format(score_info):
        #     # (15个交易日涨幅是否大于24.9%,是否破前高,是否超跌,是否接近前高,是否N,是否V,是否有形态,天量大阳信息,是否具有辨识度)
        #
@@ -904,20 +902,22 @@
            return False, True, f"股价大于{constant.MAX_CODE_PRICE}块"
        # 9:35之前买大市值(>=80亿)票
        if int(tool.get_now_date_str("%Y%m%d")) < int("093500"):
            zyltgb = global_util.zyltgb_map.get(code)
            if zyltgb is None:
                global_data_loader.load_zyltgb()
                zyltgb = global_util.zyltgb_map.get(code)
            if zyltgb >= 80 * 100000000:
                return True, False, "{9:30:00-9:35:00}自由市值≥80亿"
        # if int(tool.get_now_date_str("%Y%m%d")) < int("093500"):
        #     zyltgb = global_util.zyltgb_map.get(code)
        #     if zyltgb is None:
        #         global_data_loader.load_zyltgb()
        #         zyltgb = global_util.zyltgb_map.get(code)
        #     if zyltgb >= 80 * 100000000:
        #         return True, False, "{9:30:00-9:35:00}自由市值≥80亿"
        # 判断板块
        yesterday_codes = kpl_data_manager.get_yesterday_limit_up_codes()
        l2_log.debug(code, "block_can_buy")
        plate_can_buy, msg = CodePlateKeyBuyManager.can_buy(code,
                                                            kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas,
                                                            kpl_data_manager.KPLLimitUpDataRecordManager.total_datas,
                                                            yesterday_codes,
                                                            block_info.get_before_blocks_dict())
        l2_log.debug(code, "can_buy_first end")
        if not plate_can_buy:
            return False, True, msg
        return True, False, msg