"""开仓后挂 TP/SL 失败时的补偿平仓(避免裸仓)。""" from __future__ import annotations from typing import Callable def log_compensating_close_error(prefix: str, exc: BaseException) -> None: print(f"[{prefix}] {exc}", flush=True) def run_compensating_close(close_fn: Callable[[], None], *, log_prefix: str = "compensating_close") -> None: """执行补偿平仓;二次失败只打日志,不掩盖原始异常。""" try: close_fn() except Exception as e: log_compensating_close_error(log_prefix, e)