Administrator
2024-11-27 abd7affcd9d83487001ce23a7a9596528554a258
third_data/kpl_limit_up_data_manager.py
@@ -36,6 +36,45 @@
    return kpl_data_manager.KPLLimitUpDataRecordManager.total_datas
@tool.singleton
class ContainsLimitupCodesBlocksManager:
    """
    包含涨停代码的板块
    """
    __block_codes_dict = {}
    def __init__(self):
        self.__load_data()
    def __load_data(self):
        records = get_history_limit_up_datas(tool.get_now_date_str())
        if records:
            codes = set([r[3] for r in records])
            for code in codes:
                self.__add_code(code)
    def get_block_codes(self, block):
        return self.__block_codes_dict.get(block)
    def __add_code(self, code):
        blocks = LimitUpCodesBlockRecordManager().get_radical_buy_blocks(code)
        for b in blocks:
            if b not in self.__block_codes_dict:
                self.__block_codes_dict[b] = set()
            self.__block_codes_dict[b].add(code)
    def set_current_limit_up_datas(self, datas):
        """
        设置当前涨停数据
        @param datas:
        @return:
        """
        if datas:
            codes = [x[0] for x in datas]
            for code in codes:
                self.__add_code(code)
class CodeLimitUpSequenceManager:
    """
    代码身位管理
@@ -319,3 +358,7 @@
        rate = int((volumes_data[0]["close"] - min_price) * 100 / min_price)
        cls.__k_max_rate[code] = rate
        return cls.__k_datas.get(code)
if __name__ == "__main__":
    ContainsLimitupCodesBlocksManager()