From 7284224d58773be6da3c569be3d54ac3b2646661 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 06 七月 2023 11:16:08 +0800 Subject: [PATCH] 更改包结构/动态引入windows平台依赖的相关包 --- output/code_info_output.py | 69 ++++++++++++++++++++++++---------- 1 files changed, 48 insertions(+), 21 deletions(-) diff --git a/output/code_info_output.py b/output/code_info_output.py index d26fb87..808522d 100644 --- a/output/code_info_output.py +++ b/output/code_info_output.py @@ -6,30 +6,25 @@ # 涓嬪崟鍙傛暟淇℃伅 # 閫夎偂瀹� # 甯傚満鐑害 -import os import sys import time - -import code_volumn_manager +import code_attribute +from code_attribute import code_volumn_manager, limit_up_time_manager, global_data_loader, gpcode_manager import constant -import global_data_loader -import global_util -import gpcode_manager -import limit_up_time_manager -import log -import tool +from utils import global_util, tool +from logs import log from l2 import l2_data_manager, l2_data_util, transaction_progress, l2_data_manager_new, code_price_manager from l2.cancel_buy_strategy import HourCancelBigNumComputer import l2.l2_data_manager_new -from third_data import kpl_data_manager, kpl_util, kpl_api, block_info -from third_data.code_plate_key_manager import RealTimeKplMarketData -from third_data.kpl_data_manager import KPLLimitUpDataRecordManager, KPLDataManager +from third_data import kpl_data_manager, kpl_api +from third_data.kpl_data_manager import KPLLimitUpDataRecordManager from trade import first_code_score_manager, l2_trade_factor, trade_manager, l2_trade_util from trade.l2_trade_factor import L2TradeFactorUtil import trade.deal_big_money_manager from jinja2 import Environment, FileSystemLoader base_output_content = {} +kpl_block_info_dict = {} __kplDataManager = kpl_data_manager.KPLDataManager() @@ -48,7 +43,7 @@ def render(params): - env = Environment(loader=FileSystemLoader('D:/workspace/trade/output')) + env = Environment(loader=FileSystemLoader('/workspace/trade/output')) css = env.get_template('css/index.css') params["css"] = css.render() template = env.get_template('index.html') @@ -68,6 +63,8 @@ def get_output_params(code, jingxuan_cache_dict, industry_cache_dict): + __start_time = time.time() + def format_plate_output(_plat): if _plat in jingxuan_cache_dict: return _plat, money_desc(jingxuan_cache_dict[_plat][3]) @@ -88,9 +85,9 @@ if l2_trade_util.WhiteListCodeManager.is_in(code): code_extra_infos.append("鐧藉悕鍗�") # 鑾峰彇鐧藉悕鍗�,榛戝悕鍗� - if trade_manager.gpcode_manager.WantBuyCodesManager.is_in(code): + if code_attribute.gpcode_manager.WantBuyCodesManager.is_in(code): code_extra_infos.append("鎯充拱鍗�") - if trade_manager.gpcode_manager.PauseBuyCodesManager.is_in(code): + if code_attribute.gpcode_manager.PauseBuyCodesManager.is_in(code): code_extra_infos.append("鏆備笉涔�") params["code"] = code params["code_name"] = f"{gpcode_manager.get_code_name(code)} {code} 锛坽','.join(code_extra_infos)}锛�" @@ -179,6 +176,9 @@ params["score_data"]["k_form"] = {"score": k_score, "datas": k_source} + log.logger_debug.info(f"K绾垮舰鎬佽�楁椂锛歿time.time() - __start_time}") + __start_time = time.time() + # 鍘嗗彶鑲℃�� nature_score = 0 nature_source = [] @@ -206,6 +206,9 @@ code_nature_datas["first_open_limit_up_yijia"] = "鏃犻鏉跨偢鏉�" params["score_data"]["code_nature"] = code_nature_datas + + log.logger_debug.info(f"鍘嗗彶鑲℃�ц�楁椂锛歿time.time() - __start_time}") + __start_time = time.time() # 鏉垮潡鐑害 hot_block_score = 0 @@ -247,6 +250,8 @@ # zyltgb, limit_price, bidding, k_form, code_nature, hot_block, volume_rate, limit_up_time, # deal_big_money + log.logger_debug.info(f"鏉垮潡鐑害鑰楁椂锛歿time.time() - __start_time}") + __start_time = time.time() ###############################涓嬪崟淇℃伅############################### params["trade_data"] = {} @@ -260,11 +265,13 @@ (score, score_list), score_source_list)) # 鏄惁鍙互涔板叆鐨勪俊鎭� - can_buy_info = l2.l2_data_manager_new.L2TradeDataProcessor.can_buy_first(code, limit_up_price, __L2PlaceOrderParamsManager.score_index, - __L2PlaceOrderParamsManager.score, - __L2PlaceOrderParamsManager.score_info, - (volume_rate, - code_volumn_manager.get_volume_rate_index(volume_rate))) + can_buy_info = l2.l2_data_manager_new.L2TradeDataProcessor.can_buy_first(code, limit_up_price, + __L2PlaceOrderParamsManager.score_index, + __L2PlaceOrderParamsManager.score, + __L2PlaceOrderParamsManager.score_info, + (volume_rate, + code_volumn_manager.get_volume_rate_index( + volume_rate))) params["trade_data"]["can_buy_info"] = can_buy_info __base_L2PlaceOrderParamsManager = l2_trade_factor.L2PlaceOrderParamsManager(code, False, volume_rate, @@ -349,6 +356,9 @@ elif trade_state == trade_manager.TRADE_STATE_BUY_SUCCESS: params["trade_data"]["trade_state"]["desc"] = "宸叉垚浜�" + log.logger_debug.info(f"涓嬪崟淇℃伅鑰楁椂锛歿time.time() - __start_time}") + __start_time = time.time() + # H鎾ょ洃鍚寖鍥� if trade_state == trade_manager.TRADE_STATE_BUY_PLACE_ORDER or trade_state == trade_manager.TRADE_STATE_BUY_DELEGATED or trade_state == trade_manager.TRADE_STATE_BUY_SUCCESS: hcancel_datas_dict, cancel_indexes_set = HourCancelBigNumComputer.get_watch_index_dict(code) @@ -368,6 +378,8 @@ params["trade_data"]["h_cancel"]["datas"].append( (val["time"], val["num"], money_desc(val["num"] * float(val["price"]) * 100), (1 if canceled else 0))) + log.logger_debug.info(f"H鎾ょ洃鍚寖鍥磋�楁椂锛歿time.time() - __start_time}") + __start_time = time.time() ##############################涓诲姩涔帮紝琚姩涔�################################## # 杩斿洖涓诲姩涔�,琚姩涔�,涓嶄拱鐨勫垪琛�(浠g爜, 鍚嶇О, 寰楀垎, 鏄惁娑ㄥ仠) @@ -383,20 +395,33 @@ {"name": d[1], "code": d[0], "score": d[2], "limit_up": d[3], "open_limit_up": d[4]}) params["passive_buy_codes"] = params["passive_buy_codes"] + log.logger_debug.info(f"涓诲姩涔帮紝琚姩涔拌�楁椂锛歿time.time() - __start_time}") + __start_time = time.time() trade_info = __load_trade_record(code, total_datas) params["trade_record"] = {"open_limit_up": trade_info[0], "records": trade_info[2]} + + log.logger_debug.info(f"璇诲彇浜ゆ槗璁板綍鑰楁椂锛歿time.time() - __start_time}") + __start_time = time.time() ##############################寮�鐩樺暒鐩稿叧淇℃伅################################## industry = global_util.code_industry_map.get(code) params["kpl_code_info"] = { "industry": format_plate_output(industry)} # 鑾峰彇寮�鐩樺暒鏉垮潡 - plate_info = kpl_api.getStockIDPlate(code) + plate_info = None + if code not in kpl_block_info_dict: + plate_info = kpl_api.getStockIDPlate(code) + else: + plate_info = kpl_block_info_dict.get(code) if plate_info: + kpl_block_info_dict[code] = plate_info plate_info.sort(key=lambda x: x[2]) plate_info.reverse() params["kpl_code_info"]["plate"] = [(k[0], k[1], k[2], format_plate_output(k[1])[1]) for k in plate_info] + + log.logger_debug.info(f"寮�鐩樺暒鏉垮潡鑰楁椂锛歿time.time() - __start_time}") + __start_time = time.time() # 鑾峰彇浠g爜鐨勫巻鍙叉定鍋滄暟鎹�,(娑ㄥ仠鍘熷洜,鏃ユ湡,鏉垮潡) code_records = KPLLimitUpDataRecordManager.get_latest_infos(code, 4, False)[:2] @@ -415,6 +440,8 @@ params["kpl_code_info"]["today"] = (format_plate_output(d[2]), d[1], plates) break + log.logger_debug.info(f"鑾峰彇浠g爜鐨勫巻鍙叉定鍋滄暟鎹�楁椂锛歿time.time() - __start_time}") + __start_time = time.time() return params -- Gitblit v1.8.0