From 0d82ecf0d6dca56ffbe319f3fd2efcd4bd9fb79f Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 02 十二月 2024 17:51:50 +0800 Subject: [PATCH] 结构调整 --- trade/buy_radical/radical_buy_data_manager.py | 17 +------- api/outside_api_command_callback.py | 4 - constant.py | 2 third_data/code_plate_key_manager.py | 25 ++---------- servers/huaxin_trade_server.py | 8 +++ l2/l2_data_manager_new.py | 10 ++++- 6 files changed, 24 insertions(+), 42 deletions(-) diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py index 346d1cd..666e10f 100644 --- a/api/outside_api_command_callback.py +++ b/api/outside_api_command_callback.py @@ -1268,11 +1268,9 @@ source_origin_dict = copy.deepcopy(CodeThirdBlocksManager().get_source_blocks_origin(code)) if not source_origin_dict: source_origin_dict = {} - kpl_blocks = RadicalBuyBlockManager.get_code_kpl_blocks(code) + kpl_blocks = set() if kpl_blocks is None: kpl_blocks = set() - if not kpl_blocks: - KPLCodeJXBlockManager().load_jx_blocks_radical(code) filter_blocks, match_blocks = RadicalBuyBlockManager.get_code_blocks(code) source_origin_dict[SOURCE_TYPE_KPL] = kpl_blocks diff --git a/constant.py b/constant.py index f9cf4a9..70dbda4 100644 --- a/constant.py +++ b/constant.py @@ -172,7 +172,7 @@ G_CANCEL_RATE_FOR_GOOD_MARKET = 0.59 # 鍗庨懌L2鐨勫崱浣嶆暟閲� -HUAXIN_L2_MAX_CODES_COUNT = 90 +HUAXIN_L2_MAX_CODES_COUNT = 85 TRADE_WAY_HUAXIN = "huaxin" TRADE_WAY_JUEJIN = "juejin" diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 358823d..b3485a5 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -41,7 +41,7 @@ from trade.trade_data_manager import CodeActualPriceProcessor, PlaceOrderCountManager, AccountMoneyManager, \ RadicalBuyDealCodesManager -from trade.trade_manager import TradeTargetCodeModeManager +from trade.trade_manager import TradeTargetCodeModeManager, CodesTradeStateManager from settings.trade_setting import MarketSituationManager, TradeBlockBuyModeManager @@ -1251,12 +1251,18 @@ if can_buy_result is None: async_log_util.warning(logger_debug, "娌℃湁鑾峰彇鍒版澘鍧楃紦瀛橈紝灏嗚幏鍙栨澘鍧�") latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records() + + codes_delegate = set(CodesTradeStateManager().get_codes_by_trade_states_cache( + {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER})) + codes_success = set(CodesTradeStateManager().get_codes_by_trade_states_cache( + {trade_constant.TRADE_STATE_BUY_SUCCESS})) + CodePlateKeyBuyManager.update_can_buy_blocks(code, kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas, kpl_data_manager.KPLLimitUpDataRecordManager.total_datas, latest_current_limit_up_records, block_info.get_before_blocks_dict(), - kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict()) + kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict(), codes_delegate, codes_success) can_buy_result = CodePlateKeyBuyManager.can_buy(code) return can_buy_result diff --git a/servers/huaxin_trade_server.py b/servers/huaxin_trade_server.py index a4b2564..4125f42 100644 --- a/servers/huaxin_trade_server.py +++ b/servers/huaxin_trade_server.py @@ -390,12 +390,18 @@ kpl_data_manager.KPLLimitUpDataRecordManager.get_current_reasons()) # 鏇存柊鏉垮潡淇℃伅 latest_current_limit_up_records = kpl_data_manager.get_latest_current_limit_up_records() + + codes_delegate = set(CodesTradeStateManager().get_codes_by_trade_states_cache( + {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER})) + codes_success = set(CodesTradeStateManager().get_codes_by_trade_states_cache( + {trade_constant.TRADE_STATE_BUY_SUCCESS})) + CodePlateKeyBuyManager.update_can_buy_blocks(code_, kpl_data_manager.KPLLimitUpDataRecordManager.latest_origin_datas, kpl_data_manager.KPLLimitUpDataRecordManager.total_datas, latest_current_limit_up_records, block_info.get_before_blocks_dict(), - kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict()) + kpl_data_manager.KPLLimitUpDataRecordManager.get_current_limit_up_reason_codes_dict(),codes_delegate, codes_success) finally: cls.__updating_jx_blocks_codes.discard(code_) diff --git a/third_data/code_plate_key_manager.py b/third_data/code_plate_key_manager.py index 92cfcf0..5f8a15d 100644 --- a/third_data/code_plate_key_manager.py +++ b/third_data/code_plate_key_manager.py @@ -20,7 +20,7 @@ from log_module.log import logger_kpl_block_can_buy, logger_kpl_jx_out, logger_kpl_jx_in, logger_debug from third_data.kpl_util import KPLPlatManager -from trade import trade_manager, l2_trade_util, trade_constant +from trade import l2_trade_util, trade_constant # 浠g爜绮鹃�夋澘鍧楃鐞� from utils.kpl_data_db_util import KPLLimitUpDataUtil @@ -670,19 +670,7 @@ __TargetCodePlateKeyManager = TargetCodePlateKeyManager() __LimitUpCodesPlateKeyManager = LimitUpCodesPlateKeyManager() __CodesHisReasonAndBlocksManager = CodesHisReasonAndBlocksManager() - __CodesTradeStateManager = trade_manager.CodesTradeStateManager() __can_buy_compute_result_dict = {} - - @classmethod - def __remove_from_l2(cls, code, msg): - # 鏍规嵁韬綅绉婚櫎浠g爜 - # return - # 涓嬭繃鍗曠殑浠g爜涓嶇Щ闄� - if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) != trade_constant.TRADE_STATE_NOT_TRADE: - # 鍙涓嬭繃鍗曠殑灏变笉绉婚櫎 - return - l2_trade_util.forbidden_trade(code, msg=msg) - logger_kpl_block_can_buy.info(msg) # 鏄惁闇�瑕佺Н鏋佷拱 @classmethod @@ -1020,7 +1008,7 @@ @classmethod def __compute_can_buy_blocks(cls, code, current_limit_up_datas, limit_up_record_datas, yesterday_current_limit_up_codes, before_blocks_dict, - current_limit_up_block_codes_dict, high_level_general_code_blocks): + current_limit_up_block_codes_dict, high_level_general_code_blocks, codes_delegate, codes_success): # 鏍规嵁浠g爜娉涘寲鏉垮潡鑾峰彇娉涘寲鏉垮潡鐨勪唬鐮侀泦鍚� high_level_general_block_codes = {} for c in high_level_general_code_blocks: @@ -1036,10 +1024,7 @@ high_level_general_block_codes) if not blocks_compute_results: return False, True, f"娌℃湁鎵惧埌鏉垮潡", [], keys, [] - codes_delegate = set(cls.__CodesTradeStateManager.get_codes_by_trade_states_cache( - {trade_constant.TRADE_STATE_BUY_DELEGATED, trade_constant.TRADE_STATE_BUY_PLACE_ORDER})) - codes_success = set(cls.__CodesTradeStateManager.get_codes_by_trade_states_cache( - {trade_constant.TRADE_STATE_BUY_SUCCESS})) + codes = codes_delegate | codes_success # 缁熻鎴愪氦浠g爜鐨勬澘鍧� trade_codes_blocks_dict = {} @@ -1118,7 +1103,7 @@ @classmethod def update_can_buy_blocks(cls, code, current_limit_up_datas, limit_up_record_datas, latest_current_limit_up_records, - before_blocks_dict, current_limit_up_block_codes_dict): + before_blocks_dict, current_limit_up_block_codes_dict, delegate_codes, deal_codes): yesterday_current_limit_up_codes = set() yesterday_current_limit_up_records_dict = {} yesterday_current_limit_up_records = latest_current_limit_up_records[0][1] @@ -1152,7 +1137,7 @@ yesterday_current_limit_up_codes, before_blocks_dict, current_limit_up_block_codes_dict, - high_level_general_code_blocks) + high_level_general_code_blocks, delegate_codes, deal_codes) # 淇濆瓨鏉垮潡璁$畻缁撴灉 cls.__can_buy_compute_result_dict[code] = ( can_buy_blocks, unique, msg, can_buy_strong_blocks, keys, active_buy_blocks) diff --git a/trade/buy_radical/radical_buy_data_manager.py b/trade/buy_radical/radical_buy_data_manager.py index e3b455b..6922106 100644 --- a/trade/buy_radical/radical_buy_data_manager.py +++ b/trade/buy_radical/radical_buy_data_manager.py @@ -9,7 +9,6 @@ import l2_data_util from code_attribute import code_nature_analyse, code_volumn_manager, gpcode_manager from code_attribute.code_l1_data_manager import L1DataManager -from code_attribute.code_volumn_manager import CodeVolumeManager from code_attribute.gpcode_manager import GreenListCodeManager from db import redis_manager_delegate as redis_manager from db.redis_manager_delegate import RedisUtils @@ -17,14 +16,13 @@ from l2.l2_transaction_data_manager import BigOrderDealManager, HuaXinBuyOrderManager 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, RealTimeKplMarketData +from third_data import kpl_block_util, huaxin_l1_data_manager, kpl_data_constant +from third_data.code_plate_key_manager import 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 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 @@ -795,17 +793,6 @@ if not limit_up_timestamp: limit_up_timestamp = time.time() return limit_up_timestamp - - @classmethod - def get_code_kpl_blocks(cls, code): - blocks = KPLCodeJXBlockManager().get_jx_blocks_radical(code) - if blocks is None: - blocks = set() - # 灏嗚幏鍙栨定鍋滃師鍥犱笌娑ㄥ仠鎺ㄨ崘 - keys = TargetCodePlateKeyManager().get_plate_keys(code, contains_today=True) - if keys and keys[0]: - blocks |= set(keys[0]) - return blocks @classmethod def get_code_blocks(cls, code): -- Gitblit v1.8.0