eb975b0133
Co-authored-by: Cursor <cursoragent@cursor.com>
17 lines
572 B
Python
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)
|