| | |
| | | from log_module import async_log_util |
| | | from log_module.log import logger_l2_radical_buy, logger_debug, logger_l2_radical_buy_data |
| | | from third_data import kpl_data_manager, kpl_block_util, huaxin_l1_data_manager, kpl_util, kpl_data_constant |
| | | from third_data.code_plate_key_manager import TargetCodePlateKeyManager, KPLCodeJXBlockManager |
| | | from third_data.code_plate_key_manager import TargetCodePlateKeyManager, KPLCodeJXBlockManager, RealTimeKplMarketData |
| | | from third_data.kpl_data_constant import LimitUpDataConstant, LimitUpCodesBlockRecordManager |
| | | from third_data.kpl_data_manager import CodeHighLevel |
| | | from third_data.third_blocks_manager import BlockMapManager |
| | |
| | | big_order_deal_enough = is_big_order_deal_enough(code, volume_rate) |
| | | if not big_order_deal_enough[0] and big_order_deal_enough[2]: |
| | | return False, "交易前两分钟大单不足" |
| | | |
| | | jx_out_blocks = RealTimeKplMarketData.get_top_market_jingxuan_out_blocks() |
| | | if jx_out_blocks: |
| | | blocks = RadicalBuyBlockManager.get_code_blocks(code)[0] |
| | | same_blocks = blocks & jx_out_blocks |
| | | if same_blocks: |
| | | return False, f"【{same_blocks}】板块精选流出" |
| | | |
| | | return True, "" |
| | | |
| | |
| | | # 获取代码的板块 |
| | | keys_, info = cls.get_code_blocks(code) |
| | | if not keys_: |
| | | return set(), "没获取到板块交集" |
| | | return set(), "没获取到板块" |
| | | |
| | | # 获取精选净流入 |
| | | jx_in_blocks = RealTimeKplMarketData.get_top_market_jingxuan_blocks() |
| | | keys_in_jx = keys_ & jx_in_blocks |
| | | if not keys_in_jx: |
| | | return set(), f"【{keys_}】板块未在精选流入中" |
| | | keys_ = keys_in_jx |
| | | match_blocks = open_limit_up_blocks & keys_ |
| | | can_buy_blocks = set() |
| | | fmsges = [] |