From f9c8c7c7528b75a968dc0dae3e8ed8d325d178b8 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 25 八月 2023 17:27:08 +0800 Subject: [PATCH] 交易通道备用 --- trade/huaxin/trade_server.py | 33 ++++++++++++++++++++++----------- huaxin_client/command_manager.py | 14 +++++++------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/huaxin_client/command_manager.py b/huaxin_client/command_manager.py index 0831146..785ea4c 100644 --- a/huaxin_client/command_manager.py +++ b/huaxin_client/command_manager.py @@ -79,6 +79,12 @@ @classmethod def process_command(cls, _type, client_id, result_json, sk=None): + # 鏌ョ湅鏄惁鏄缃甃2鐨勪唬鐮� + if _type == CLIENT_TYPE_CMD_L2: + cls.pipe_l2.send( + json.dumps({"type": "set_l2_codes", "data": result_json["data"]})) + return + try: data = result_json["data"] print("鎺ユ敹鍐呭", result_json) @@ -123,13 +129,7 @@ val = json.loads(val) print("run_process_command", val) _type = val["type"] - _data = val["data"] - # 鏌ョ湅鏄惁鏄缃甃2鐨勪唬鐮� - if _type == CLIENT_TYPE_CMD_L2: - cls.pipe_l2.send( - json.dumps({"type": "set_l2_codes", "data": _data})) - else: - threading.Thread(target=lambda: cls.process_command(_type, None, val), daemon=True).start() + threading.Thread(target=lambda: cls.process_command(_type, None, val), daemon=True).start() except Exception as e: logger_local_huaxin_trade_debug.exception(e) logging.exception(e) diff --git a/trade/huaxin/trade_server.py b/trade/huaxin/trade_server.py index a259414..6d775da 100644 --- a/trade/huaxin/trade_server.py +++ b/trade/huaxin/trade_server.py @@ -32,7 +32,7 @@ from log_module import async_log_util from log_module.log import hx_logger_l2_upload, hx_logger_contact_debug, hx_logger_trade_callback, \ hx_logger_l2_orderdetail, hx_logger_l2_transaction, hx_logger_l2_market_data, logger_l2_trade_buy_queue, \ - logger_l2_g_cancel + logger_l2_g_cancel, logger_debug from third_data import block_info, kpl_api, kpl_data_manager from third_data.code_plate_key_manager import KPLCodeJXBlockManager, CodePlateKeyBuyManager from third_data.history_k_data_util import JueJinApi, HistoryKDatasUtils @@ -362,7 +362,8 @@ is_normal = l2_data_util.load_l2_data(code, load_latest=False) volume_rate = code_volumn_manager.get_volume_rate(code) volume_rate_index = code_volumn_manager.get_volume_rate_index(volume_rate) - m_val = L2PlaceOrderParamsManager(code, True, volume_rate, volume_rate_index, None).get_m_val()[ + m_val = \ + L2PlaceOrderParamsManager(code, True, volume_rate, volume_rate_index, None).get_m_val()[ 0] limit_up_price = gpcode_manager.get_limit_up_price(code) m_val_num = int(m_val / (float(limit_up_price) * 100)) @@ -481,9 +482,15 @@ accountID = data["accountID"] orderSysID = data["orderSysID"] sinfo = data["sinfo"] - result = huaxin_trade_api.cancel_order(direction, accountID, orderSysID, sinfo=sinfo, - blocking=True, request_id=request_id) - self.send_response({"code": 0, "data": result}, client_id, request_id) + if orderSysID: + result = huaxin_trade_api.cancel_order(direction, accountID, orderSysID, sinfo=sinfo, + blocking=True, request_id=request_id) + self.send_response({"code": 0, "data": result}, client_id, request_id) + elif code: + l2_data_manager_new.L2TradeDataProcessor.cancel_buy(code, "鎵嬪姩鎾ゅ崟") + self.send_response({"code": 0, "data": {"code": 0}}, client_id, request_id) + + except Exception as e: self.send_response({"code": 1, "msg": str(e)}, client_id, request_id) @@ -719,11 +726,15 @@ # 鍚屾L2璁㈤槄浠g爜 def OnSyncL2SubscriptCodes(self, client_id, request_id): - codes_sh, codes_sz = l1_subscript_codes_manager.request_l1_subscript_target_codes() - if codes_sh and codes_sz: - l1_subscript_codes_manager.save_codes(codes_sh, codes_sz) - result = {"code": 0, "data": {"codes_sh": len(codes_sh), "codes_sz": len(codes_sz)}} - self.send_response(result, client_id, request_id) + logger_debug.debug("OnSyncL2SubscriptCodes") + try: + codes_sh, codes_sz = l1_subscript_codes_manager.request_l1_subscript_target_codes() + if codes_sh and codes_sz: + l1_subscript_codes_manager.save_codes(codes_sh, codes_sz) + result = {"code": 0, "data": {"codes_sh": len(codes_sh), "codes_sz": len(codes_sz)}} + self.send_response(result, client_id, request_id) + except Exception as e: + logger_debug.error(e) def run(pipe_trade, pipe_l1): @@ -758,7 +769,7 @@ if __name__ == "__main__": - code="603106" + code = "603106" l2_data_util.load_l2_data(code, load_latest=False) buy_no_map = l2_data_util.local_today_buyno_map.get(code) print(buy_no_map.get("6114878")) -- Gitblit v1.8.0