Files
crypto_monitor/lib/trade/compensating_close_lib.py
T

17 lines
572 B
Python

"""开仓后挂 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)