Administrator
2023-11-29 25b1dfff65e34fcdb22f02dbe523b38e4d5b12e8
bug修改
1个文件已修改
72 ■■■■ 已修改文件
third_data/code_plate_key_manager.py 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
third_data/code_plate_key_manager.py
@@ -91,42 +91,46 @@
    # 从网络上加载精选板块
    def load_jx_blocks(self, code, buy_1_price, limit_up_price):
        if limit_up_price and buy_1_price:
            # 处理买1,卖1信息
            pre_close_price = round(float(limit_up_price) / 1.1, 2)
            # 如果涨幅大于7%就读取板块
            price_rate = (buy_1_price - pre_close_price) / pre_close_price
            if price_rate > 0.07:
                jx_blocks_info = self.get_jx_blocks_cache(code)
                if not jx_blocks_info:
                    blocks = kpl_api.getCodeJingXuanBlocks(code)
                    self.save_jx_blocks(code, blocks)
                    async_log_util.info(logger_kpl_block_can_buy, f"{code}:获取到精选板块-{blocks}")
                else:
                    # 还没涨停的需要更新精选板块 更新精选板块
                    if abs(float(buy_1_price) - float(limit_up_price)) >= 0.001 or True:
                        # 非涨停状态
                        UPDATE_TIME_SPACE = 5 * 60
                        time_diff = tool.trade_time_sub(tool.get_now_time_str(), "09:30:00")
                        if time_diff < 0:
                            UPDATE_TIME_SPACE = 60 * 60
                        else:
                            UPDATE_TIME_SPACE = int(time_diff / 30) + 60
                            if UPDATE_TIME_SPACE > 5 * 60:
                                UPDATE_TIME_SPACE = 5 * 60
        try:
            if limit_up_price and buy_1_price:
                # 处理买1,卖1信息
                pre_close_price = round(float(limit_up_price) / 1.1, 2)
                # 如果涨幅大于7%就读取板块
                price_rate = (buy_1_price - pre_close_price) / pre_close_price
                if price_rate > 0.07:
                    jx_blocks_info = self.get_jx_blocks_cache(code)
                    if not jx_blocks_info:
                        blocks = kpl_api.getCodeJingXuanBlocks(code)
                        self.save_jx_blocks(code, blocks)
                        async_log_util.info(logger_kpl_block_can_buy, f"{code}:获取到精选板块-{blocks}")
                    else:
                        # 还没涨停的需要更新精选板块 更新精选板块
                        if abs(float(buy_1_price) - float(limit_up_price)) >= 0.001 or True:
                            # 非涨停状态
                            UPDATE_TIME_SPACE = 5 * 60
                            time_diff = tool.trade_time_sub(tool.get_now_time_str(), "09:30:00")
                            if time_diff < 0:
                                UPDATE_TIME_SPACE = 60 * 60
                            else:
                                UPDATE_TIME_SPACE = int(time_diff / 30) + 60
                                if UPDATE_TIME_SPACE > 5 * 60:
                                    UPDATE_TIME_SPACE = 5 * 60
                        if time.time() - jx_blocks_info[1] > UPDATE_TIME_SPACE:
                            # 距离上次更新时间过去了5分钟
                            blocks = kpl_api.getCodeJingXuanBlocks(code)
                            self.save_jx_blocks(code, blocks)
                            async_log_util.info(logger_kpl_block_can_buy, f"{code}:获取到精选板块(更新)-{blocks}")
                            if time.time() - jx_blocks_info[1] > UPDATE_TIME_SPACE:
                                # 距离上次更新时间过去了5分钟
                                blocks = kpl_api.getCodeJingXuanBlocks(code)
                                self.save_jx_blocks(code, blocks)
                                async_log_util.info(logger_kpl_block_can_buy, f"{code}:获取到精选板块(更新)-{blocks}")
            elif price_rate > 0.03:
                # 添加备用板块
                if not self.get_jx_blocks_cache(code, by=True):
                    blocks = kpl_api.getCodeJingXuanBlocks(code)
                    self.save_jx_blocks(code, blocks, by=True)
                    async_log_util.info(logger_kpl_block_can_buy, f"{code}:获取到精选板块(备用)-{blocks}")
                elif price_rate > 0.03:
                    # 添加备用板块
                    if not self.get_jx_blocks_cache(code, by=True):
                        blocks = kpl_api.getCodeJingXuanBlocks(code)
                        self.save_jx_blocks(code, blocks, by=True)
                        async_log_util.info(logger_kpl_block_can_buy, f"{code}:获取到精选板块(备用)-{blocks}")
        except Exception as e:
            logger_kpl_block_can_buy.error(f"{code} 获取板块出错")
            logger_kpl_block_can_buy.exception(e)
# 开盘啦禁止交易板块管理