Administrator
2025-07-07 b381f779ae142d4c63c89ed38942d5920e71b87e
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
@@ -1067,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 = "未知"
@@ -1080,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,
@@ -1107,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:
@@ -1479,6 +1485,14 @@
                                   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")
@@ -1491,6 +1505,21 @@
                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)
            logger_debug.exception(e)