From b855b811e3753ffcb35f145c985bb32f4b550038 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期四, 31 十月 2024 18:11:40 +0800 Subject: [PATCH] 排1之前的数据准备 --- huaxin_client/l1_client.py | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/huaxin_client/l1_client.py b/huaxin_client/l1_client.py index 39a65d8..8ce91fd 100644 --- a/huaxin_client/l1_client.py +++ b/huaxin_client/l1_client.py @@ -9,7 +9,7 @@ from huaxin_client import socket_util, l1_subscript_codes_manager import xmdapi from huaxin_client import tool, constant -from log_module.log import logger_system, logger_local_huaxin_l1, logger_l2_codes_subscript +from log_module.log import logger_system, logger_local_huaxin_l1, logger_l2_codes_subscript, logger_debug from utils import tool as out_tool ################B绫�################## @@ -129,9 +129,10 @@ if out_tool.get_limit_up_rate(pMarketDataField.SecurityID) > 1.1001: # 娑ㄥ仠鏉�20%浠ヤ笂鐨勬墦鎶� rate = rate / 2 + # (浠g爜, 鐜颁环, 娑ㄥ箙, 閲�, 褰撳墠鏃堕棿, 涔�1浠�, 涔�1閲�, 涔�2浠�, 涔�2閲�, 鏇存柊鏃堕棿) level1_data_dict[pMarketDataField.SecurityID] = ( pMarketDataField.SecurityID, pMarketDataField.LastPrice, rate, pMarketDataField.Volume, time.time(), - pMarketDataField.BidPrice1, pMarketDataField.BidVolume1) + pMarketDataField.BidPrice1, pMarketDataField.BidVolume1, pMarketDataField.BidPrice2, pMarketDataField.BidVolume2, pMarketDataField.UpdateTime) __latest_subscript_codes = set() @@ -208,7 +209,16 @@ time.sleep(3) -def run(queue_l1_w_strategy_r, queue_l1_r_strategy_w): +def run(queue_l1_w_strategy_r, queue_l1_r_strategy_w, fixed_codes=None): + """ + 杩愯l1璁㈤槄浠诲姟 + @param queue_l1_w_strategy_r: L1鏂瑰啓锛岀瓥鐣ユ柟璇� + @param queue_l1_r_strategy_w: L1鏂硅锛岀瓥鐣ユ柟鍐� + @param fixed_codes: 鍥哄畾瑕佽繑鍥炴暟鎹殑浠g爜 + @return: + """ + if fixed_codes is None: + fixed_codes = set() logger_local_huaxin_l1.info("杩愯l1璁㈤槄鏈嶅姟") codes_sh = [] codes_sz = [] @@ -277,10 +287,14 @@ threshold_rate = constant.L1_MIN_RATE_PRE if now_time_int < int( "094000") else constant.L1_MIN_RATE for d in list_: - if d[2] >= threshold_rate: + if d[2] >= threshold_rate or d[0] in fixed_codes: # 娑ㄥ箙灏忎簬5%鐨勯渶瑕佸垹闄� flist.append(d) flist.sort(key=lambda x: x[2], reverse=True) + # 灏嗗浐瀹氫唬鐮佺殑鎺掑湪鏈�鍓� + for code in fixed_codes: + if code in level1_data_dict: + flist.insert(0, level1_data_dict[code]) # 姝e紡浜ゆ槗涔嬪墠鍏堝鐞嗘瘮杈冨皯鐨勬暟鎹紝涓嶇劧澶勭悊鏃堕棿涔呴�犳垚鏁版嵁鎷ュ牭 MAX_COUNT = 500 if now_time_int < int("092600"): @@ -295,6 +309,7 @@ __upload_codes_info(queue_l1_w_strategy_r, datas) except Exception as e: logging.exception(e) + logger_debug.exception(e) finally: time.sleep(3) -- Gitblit v1.8.0