From 0f04dc8c629f970d52ea5938dd60a54736b515b1 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期三, 25 六月 2025 15:09:44 +0800 Subject: [PATCH] bug修复/策略完善/结构调整 --- api/outside_api_callback.py | 28 +++++++++++++++++++++++++++- 1 files changed, 27 insertions(+), 1 deletions(-) diff --git a/api/outside_api_callback.py b/api/outside_api_callback.py index b39f369..bc65062 100644 --- a/api/outside_api_callback.py +++ b/api/outside_api_callback.py @@ -10,6 +10,7 @@ from huaxin_client.client_network import SendResponseSkManager from strategy import strategy_params_settings, env_info, strategy_manager from strategy.env_info import RealTimeEnvInfo +from strategy.strategy_manager import PlateWhiteListManager from strategy.strategy_variable_factory import DataLoader from third_data.history_k_data_manager import TradeDateManager from third_data.kpl_block_manager import KPLCodeJXBlocksManager @@ -17,6 +18,10 @@ from trade.trade_manager import TradeStateManager from utils import socket_util, middle_api_protocol, tool +OPERRATE_SET = 1 # 璁剧疆 +OPERRATE_DELETE = 2 # 鍒犻櫎 +OPERRATE_GET = 3 # 鑾峰彇 +OPERRATE_ADD = 4 # 鏂板 class MyAPICallback(ActionCallback): @@ -62,12 +67,16 @@ @return: """ settings = strategy_params_settings.StrategyParamsSettingsManager().get_settings() + settings_vars = vars(settings) for k in data: if k == "trade_state": if data[k]: TradeStateManager().open_buy() else: TradeStateManager().close_buy() + continue + if k not in settings_vars: + # 娌℃湁鍦ㄥ睘鎬ч噷闈� continue settings.__setattr__(k, data[k]) strategy_params_settings.StrategyParamsSettingsManager().set_settings(settings) @@ -158,6 +167,22 @@ logging.exception(e) return {"code": 1, "msg": str(e)} + def __on_plate_white_list(self, data): + operate = data["operate"] + if operate == OPERRATE_GET: + plates = PlateWhiteListManager().get_plates() + return {"code": 0, "data": list(plates)} + elif operate == OPERRATE_ADD: + plate = data["plate"] + PlateWhiteListManager().add_plate(plate) + return {"code": 0} + elif operate == OPERRATE_DELETE: + plate = data["plate"] + PlateWhiteListManager().remove_plate(plate) + return {"code": 0} + + + def OnCommonRequest(self, client_id, request_id, data): ctype = data["ctype"] result_json = {} @@ -182,5 +207,6 @@ # 鑾峰彇涓嬪崟璁板綍 datas = trade_record_log_util.get_trade_records(trade_record_log_util.TYPE_PLACE_ORDER) result_json = {"code": 0, "data": datas} - + elif ctype == 'plate_white_list': + result_json = self.__on_plate_white_list(data) self.send_response(result_json, client_id, request_id) -- Gitblit v1.8.0