From b381f779ae142d4c63c89ed38942d5920e71b87e Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 07 七月 2025 15:12:10 +0800 Subject: [PATCH] 禁止扫入下单 --- api/outside_api_command_callback.py | 62 +++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 8 deletions(-) diff --git a/api/outside_api_command_callback.py b/api/outside_api_command_callback.py index db672cd..a2bbe17 100644 --- a/api/outside_api_command_callback.py +++ b/api/outside_api_command_callback.py @@ -14,7 +14,8 @@ import constant import inited_data import outside_api_command_manager -from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer, LCancelRateManager +from cancel_strategy.s_l_h_cancel_strategy import SCancelBigNumComputer, LCancelRateManager, \ + CancelRateHumanSettingManager from code_attribute import gpcode_manager, code_volumn_manager, zyltgb_util, code_nature_analyse from code_attribute.code_data_util import ZYLTGBUtil from code_attribute.code_l1_data_manager import L1DataManager @@ -54,7 +55,8 @@ from trade.huaxin import huaxin_trade_api, huaxin_trade_data_update, \ huaxin_trade_record_manager, huaxin_trade_order_processor, huaxin_sell_util from trade.huaxin.huaxin_trade_record_manager import PositionManager, DealRecordManager, DelegateRecordManager -from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager +from trade.buy_radical.radical_buy_data_manager import RadicalBuyBlockManager, BeforeSubDealBigOrderManager, \ + TotalDealBigOrderThresholdMoneyManager from trade.sell import sell_manager from trade.sell.sell_rule_manager import TradeRuleManager, SellRule from trade.trade_data_manager import RadicalBuyDealCodesManager @@ -1066,8 +1068,8 @@ except: pass # L鎾ゆ瘮渚� - l_down_cancel_rate, must_buy = LCancelRateManager.get_cancel_rate(code, - buy_mode=OrderBeginPosInfo.MODE_RADICAL) + l_down_cancel_rate, must_buy, cancel_rate_info = LCancelRateManager.get_cancel_rate(code, + buy_mode=OrderBeginPosInfo.MODE_RADICAL) # 鍦ㄦ寕鐨勮窛绂绘垚浜よ繘搴︿綅閲戦/锛堣繙杩戞湡鍙傝�冮噺-鍗曞綋鏃ュ疄鏃舵垚浜ら噺锛�*100% expire_rate = "鏈煡" @@ -1079,8 +1081,8 @@ expire_rate = "100%" else: expire_rate = f"{100 - round(100 * total_left_num * 100 / (referer_volume - today_volumn), 2)}%" - except: - pass + except Exception as e: + logger_debug.exception(e) fdata = {"id": orderSysID, "code_info": (code, code_name), "total_num": total_nums, "finish_num": deal_or_cancel_num, @@ -1106,8 +1108,13 @@ "block": '', "trade_queue": [], "l_down_cancel_rate": l_down_cancel_rate, + "l_down_cancel_rate_info": cancel_rate_info, "expire_rate": expire_rate } + l_down_cancel_rate = CancelRateHumanSettingManager().get_l_down(code) + if l_down_cancel_rate is not None: + fdata["l_down_cancel_rate"] = l_down_cancel_rate + limit_up_data = kpl_data_manager.KPLLimitUpDataRecordManager.record_code_dict.get(code) # 鑾峰彇褰撳墠鏉垮潡 try: @@ -1319,7 +1326,9 @@ if volumes_data: is_new_top = code_nature_analyse.is_new_top(code, gpcode_manager.get_limit_up_price_by_preprice(code, - volumes_data[0]["close"]), + volumes_data[ + 0][ + "close"]), volumes_data) data = { @@ -1390,7 +1399,8 @@ "top_block_count_by_market_strong": constant.RADICAL_BUY_TOP_IN_COUNT_BY_MARKET_STRONG, "special_codes_max_block_in_rank": constant.RADICAL_BUY_TOP_IN_INDEX_WITH_SPECIAL, "ignore_block_in_money_market_strong": constant.IGNORE_BLOCK_IN_MONEY_MARKET_STRONG, - "buy_first_limit_up": 1 if constant.CAN_BUY_FIRST_LIMIT_UP else 0 + "buy_first_limit_up": 1 if constant.CAN_BUY_FIRST_LIMIT_UP else 0, + "can_auto_add_white": 1 if constant.CAN_AUTO_ADD_WHITE else 0 }} self.send_response({"code": 0, "data": data, "msg": f""}, client_id, @@ -1414,6 +1424,9 @@ if radical_buy.get('buy_first_limit_up') is not None: constant.CAN_BUY_FIRST_LIMIT_UP = True if radical_buy.get( 'buy_first_limit_up') else False + if radical_buy.get('can_auto_add_white') is not None: + constant.CAN_AUTO_ADD_WHITE = True if radical_buy.get( + 'can_auto_add_white') else False self.send_response({"code": 0, "data": {}, "msg": f""}, client_id, @@ -1472,7 +1485,40 @@ client_id, request_id) + elif ctype == "test_cancel_order": + # 鑾峰彇鐩稿悓鏉垮潡鐨勬定鍋滀唬鐮佹暟閲� + code = data.get("code") + trade_manager.start_cancel_buy(code, force=True) + self.send_response({"code": 0, "data": {}}, + client_id, + request_id) + elif ctype == "set_total_deal_big_order_threshold_money": + code = data.get("code") + money = data.get("money") + if not code or not money: + self.send_response({"code": 1, "data": {}, "msg": "code/money涓虹┖"}, + client_id, + request_id) + return + TotalDealBigOrderThresholdMoneyManager().set_money(code, int(money)) + self.send_response({"code": 0, "data": {}}, + client_id, + request_id) + elif ctype == "set_l_down_rate": + # 璁剧疆L鍚庢挙鍗曟瘮渚� + code = data.get("code") + rate = data.get("rate") + if rate < 0 or rate > 1: + self.send_response({"code": 1, "msg": "姣斾緥鑼冨洿涓嶅湪0-1涔嬮棿"}, + client_id, + request_id) + return + rate = round(rate, 2) + CancelRateHumanSettingManager().set_l_down(code, rate) + self.send_response({"code": 0, "data": {}}, + client_id, + request_id) except Exception as e: logging.exception(e) -- Gitblit v1.8.0