From 1ff185866bcf0796d2367699bc000abb326360d5 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 15 九月 2023 17:02:51 +0800 Subject: [PATCH] 交易设置独立进程/删除trade_client_server/记录L2逐笔委托日志 --- l2/l2_data_manager_new.py | 61 ++++++++---------------------- 1 files changed, 17 insertions(+), 44 deletions(-) diff --git a/l2/l2_data_manager_new.py b/l2/l2_data_manager_new.py index 8be557b..2fd1d4c 100644 --- a/l2/l2_data_manager_new.py +++ b/l2/l2_data_manager_new.py @@ -18,7 +18,7 @@ from trade import trade_manager, trade_queue_manager, l2_trade_factor, l2_trade_util, \ trade_result_manager, current_price_process_manager, trade_data_manager, trade_huaxin from l2 import safe_count_manager, l2_data_manager, l2_log, l2_data_source_util, code_price_manager, \ - transaction_progress, cancel_buy_strategy + transaction_progress, cancel_buy_strategy, l2_data_log from l2.cancel_buy_strategy import SecondCancelBigNumComputer, HourCancelBigNumComputer, DCancelBigNumComputer, \ LCancelBigNumComputer from l2.l2_data_manager import L2DataException @@ -294,47 +294,32 @@ # 澶勭悊鍗庨懌L2鏁版嵁 @classmethod def process_huaxin(cls, code, origin_datas): - print("process_huaxin", code, len(origin_datas)) datas = None - origin_start_time = round(t.time() * 1000) try: + l2_data_log.l2_time_log(code, "寮�濮嬪姞杞藉巻鍙叉暟鎹�") # 鍔犺浇鍘嗗彶鐨凩2鏁版嵁 is_normal = l2.l2_data_util.load_l2_data(code, load_latest=False) if not is_normal: - print("鍘嗗彶鏁版嵁寮傚父:", code) # 鏁版嵁涓嶆甯搁渶瑕佺姝氦鏄� l2_trade_util.forbidden_trade(code, msg="L2鍘嗗彶鏁版嵁寮傚父") - origin_start_time = round(t.time() * 1000) # 杞崲鏁版嵁鏍煎紡 _start_index = 0 total_datas = local_today_datas.get(code) if total_datas: _start_index = total_datas[-1]["index"] + 1 + l2_data_log.l2_time_log(code, "寮�濮嬫牸寮忓寲鍘熷鏁版嵁") datas = l2_huaxin_util.get_format_l2_datas(code, origin_datas, gpcode_manager.get_limit_up_price(code), _start_index) __start_time = round(t.time() * 1000) + l2_data_log.l2_time_log(code, "寮�濮嬪鐞嗘暟鎹�") if len(datas) > 0: cls.process_add_datas(code, datas, 0, __start_time) - else: - pass - # lp = LineProfiler() - # lp.enable() - # lp_wrap = lp(cls.process_add_datas) - # lp_wrap(code, datas, 0, __start_time) - # output = io.StringIO() - # lp.print_stats(stream=output) - # lp.disable() - # with open(f"/home/logs/profile/{code}_{datas[0]['index']}_{datas[-1]['index']}.txt", 'w') as f: - # f.write(output.getvalue()) - # lp.dump_stats(f"/home/logs/profile/{code}_{round(t.time() * 1000)}.txt") except Exception as e: - async_log_util.error(logger_l2_error,f"code:{code}") + async_log_util.error(logger_l2_error, f"code:{code}") async_log_util.exception(logger_l2_error, e) finally: - # l2_data_log.l2_time(code, round(t.time() * 1000) - origin_start_time, - # "l2鏁版嵁澶勭悊鎬昏�楁椂", - # True) if datas: + l2_data_log.l2_time_log(code, "寮�濮嬩繚瀛樻暟鎹�") l2.l2_data_util.save_l2_data(code, None, datas) @classmethod @@ -402,21 +387,7 @@ end_index = len(total_datas) - 1 if state == trade_manager.TRADE_STATE_BUY_DELEGATED or state == trade_manager.TRADE_STATE_BUY_PLACE_ORDER or state == trade_manager.TRADE_STATE_BUY_SUCCESS: # 宸叉寕鍗� - if True: # len(add_datas) < 10: - cls.__process_order(code, start_index, end_index, capture_timestamp, is_first_code) - else: - pass - # lp = LineProfiler() - # lp.enable() - # lp_wrap = lp(cls.__process_order) - # lp_wrap(code, start_index, end_index, capture_timestamp, is_first_code) - # output = io.StringIO() - # lp.print_stats(stream=output) - # lp.disable() - # with open( - # f"/home/logs/profile/{code}_process_order_{add_datas[0]['index']}_{add_datas[-1]['index']}.txt", - # 'w') as f: - # f.write(output.getvalue()) + cls.__process_order(code, start_index, end_index, capture_timestamp, is_first_code) else: # 鏈寕鍗�,鏃堕棿鐩稿樊涓嶅ぇ鎵嶈兘鎸傚崟 if l2.l2_data_util.L2DataUtil.is_same_time(now_time_str, latest_time): @@ -426,8 +397,6 @@ add_datas[0]["index"], add_datas[-1]["index"], round(t.time() * 1000) - __start_time, capture_timestamp) - # __start_time = l2_data_log.l2_time(code, round(t.time() * 1000) - __start_time, - # "l2鏁版嵁澶勭悊鏃堕棿") # 澶勭悊鏈寕鍗� @classmethod @@ -484,7 +453,8 @@ return b_cancel_data, "S澶у崟鎾ら攢姣斾緥瑙﹀彂闃堝��" except Exception as e: logging.exception(e) - async_log_util.error(logger_l2_error, f"鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") + async_log_util.error(logger_l2_error, + f"鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") async_log_util.exception(logger_l2_error, e) finally: # l2_data_log.l2_time(code, round(t.time() * 1000) - _start_time, @@ -508,7 +478,8 @@ if b_need_cancel and b_cancel_data: return b_cancel_data, "H鎾ら攢姣斾緥瑙﹀彂闃堝��" except Exception as e: - async_log_util.error(logger_l2_error, f"鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") + async_log_util.error(logger_l2_error, + f"鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") async_log_util.exception(logger_l2_error, e) finally: # l2_data_log.l2_time(code, round(t.time() * 1000) - _start_time, "宸蹭笅鍗�-H鎾ゅぇ鍗曡绠�") @@ -527,7 +498,8 @@ if b_need_cancel and b_cancel_data: return b_cancel_data, "L鎾ら攢姣斾緥瑙﹀彂闃堝��" except Exception as e: - async_log_util.error(logger_l2_error, f"鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") + async_log_util.error(logger_l2_error, + f"鍙傛暟锛歜uy_single_index-{_buy_single_index} buy_exec_index-{_buy_exec_index}") async_log_util.exception(logger_l2_error, e) finally: # l2_data_log.l2_time(code, round(t.time() * 1000) - _start_time, "宸蹭笅鍗�-L鎾ゅぇ鍗曡绠�") @@ -975,7 +947,8 @@ unique_key = f"{compute_start_index}-{compute_end_index}" if cls.__latest_process_not_order_unique_keys.get(code) == unique_key: - async_log_util.error(logger_l2_error, f"閲嶅澶勭悊鏁版嵁锛歝ode-{code} start_index-{compute_start_index} end_index-{compute_end_index}") + async_log_util.error(logger_l2_error, + f"閲嶅澶勭悊鏁版嵁锛歝ode-{code} start_index-{compute_start_index} end_index-{compute_end_index}") return cls.__latest_process_not_order_unique_keys[code] = unique_key @@ -1147,11 +1120,11 @@ @classmethod def __get_threshmoney(cls, code): - m,msg = cls.__l2PlaceOrderParamsManagerDict[code].get_m_val() + m, msg = cls.__l2PlaceOrderParamsManagerDict[code].get_m_val() if trade_manager.CodesTradeStateManager().get_trade_state_cache(code) == trade_manager.TRADE_STATE_NOT_TRADE: # 棣栨涓嬪崟m鍊兼墿澶�1.5鍊� m = int(m * 1.5) - return m,msg + return m, msg # 璁$畻涓囨墜鍝ョ瑪鏁� @classmethod -- Gitblit v1.8.0