Include LIVE close-fee estimate in target PnL; rest after manual and emergency close.

Align docs so LIVE exit matches SIM fee buffer; manual full close now enters rest_seconds like auto/emergency.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-26 22:58:10 +08:00
parent 16efa44ffb
commit 9d3b36826c
7 changed files with 51 additions and 7 deletions
+6 -2
View File
@@ -183,7 +183,7 @@ class StrategyEngine:
detail = r.detail
close_data = r.data
if r.ok:
self._after_close()
self.enter_rest_after_close()
elif st in ("open", "option_closed_perp_pending"):
# A:双腿(或续平永续)
r = self.matcher.close_group(reason="emergency", bypass_liquidity=True)
@@ -201,7 +201,7 @@ class StrategyEngine:
detail = r.detail
close_data = r.data
if r.ok:
self._after_close()
self.enter_rest_after_close()
residuals = self.matcher.settle_all_residuals_now()
return {
@@ -214,6 +214,10 @@ class StrategyEngine:
"state": self.state(),
}
def enter_rest_after_close(self) -> None:
"""全平成功后进入组间休息(自动 / 手动 / 紧急共用)。"""
self._after_close()
def _after_close(self) -> None:
s = get_settings()
row = self.db.fetchone("SELECT * FROM strategy_state WHERE id=1")