Administrator
2024-11-19 0a1ff40a181d05fd1ed7ce4349f0d9e61ec2e36f
常规买不买入/板块辨识度买入
4个文件已修改
37 ■■■■■ 已修改文件
constant.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
servers/data_server.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_radical/radical_buy_data_manager.py 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
constant.py
@@ -213,3 +213,6 @@
# 每次扫入是否都需要大单
CAN_RADICAL_BUY_NEED_BIG_ORDER_EVERYTIME = True
# 常规买是否买入
CAN_COMMON_BUY = False
l2/l2_data_manager_new.py
@@ -1613,6 +1613,10 @@
        if RadicalBuyDealCodesManager.radical_buy_blocks_dict.get(code):
            return
        if not constant.CAN_COMMON_BUY:
            # 常规买不买入了
            return
        # 获取买入信号计算起始位置
        order_begin_pos = cls.__get_order_begin_pos(code)
servers/data_server.py
@@ -533,10 +533,10 @@
                    continue
                if not tool.is_can_buy_code(d[3]):
                    continue
                # 代码,名称,涨停时间,是否炸板,是否想买,是否已经下过单,涨停时间,自由流通市值,是否在黑名单里面
                # 代码,名称,涨停时间,是否炸板,是否想买,是否已经下过单,涨停时间,自由流通市值,是否在黑名单里面, 是否有辨识度, 大单净额
                codes_info.append(
                    [d[3], d[4], tool.to_time_str(int(d[5])), 1 if d[3] not in now_limit_up_codes else 0, 0, 0, d[12],
                     output_util.money_desc(d[13]), 1, 1 if l2_trade_util.is_in_forbidden_trade_codes(d[3]) else 0, 1 if d[3] in special_codes else 0])
                     output_util.money_desc(d[13]), 1, 1 if l2_trade_util.is_in_forbidden_trade_codes(d[3]) else 0, 1 if d[3] in special_codes else 0, CodeInMoneyManager().get_money(d[3])])
            codes_info.sort(key=lambda x: x[2])
            # 查询是否为想买单
            green_codes = gpcode_manager.GreenListCodeManager().list_codes_cache()
trade/buy_radical/radical_buy_data_manager.py
@@ -20,6 +20,7 @@
from third_data.kpl_data_manager import CodeHighLevel
from third_data.third_blocks_manager import BlockMapManager
from trade.buy_money_count_setting import RadicalBuyBlockCodeCountManager
from trade.buy_radical.block_special_codes_manager import BlockSpecialCodesManager
from trade.order_statistic import DealAndDelegateWithBuyModeDataManager
from trade.trade_data_manager import RadicalBuyDealCodesManager
from utils import tool, global_util
@@ -639,6 +640,22 @@
        return True, f"历史涨停:{history_codes}"
    @classmethod
    def __block_special_codes(cls, code, block, yesterday_limit_up_codes):
        """
        是否是这个板块有辨识度的票
        @param code:
        @param block:
        @return:
        """
        block_codes = BlockSpecialCodesManager().get_block_codes(block)
        if code not in block_codes:
            return False, "无辨识度"
        history_index, history_before_codes_info = cls.__get_history_index(code, block, yesterday_limit_up_codes)
        if history_index > 5:
            return False, f"处于首板老{history_index + 1}"
        return True, f"处于首板老{history_index + 1}"
    @classmethod
    def __get_limit_up_timestamp(cls, code):
        """
        获取代码的涨停时间,默认当前时间
@@ -754,6 +771,15 @@
                    msges.append(f"【{b}】:{result[1]}")
            fmsges.append("板块回封判断##" + ",".join(msges))
        if not can_buy_blocks:
            msges.clear()
            for b in keys_:
                result = cls.__block_special_codes(code, b ,yesterday_limit_up_codes)
                if result[0]:
                    can_buy_blocks.add(b)
                    msges.append(f"【{b}】:{result[1]}")
            fmsges.append("板块辨识度判断##" + ",".join(msges))
        # 如果能扫入就需要获取代码在板块中的身位
        # if can_buy_blocks:
        #     excude_codes = set()