统计已实现盈亏扣手续费,并按平仓时指数冻结为 U。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -284,12 +284,13 @@ def register_hub_bridge_routes(app: Flask, app_module: Any) -> None:
|
||||
cfg = hub_ctx.get("options_cfg")
|
||||
if not isinstance(cfg, dict):
|
||||
return jsonify({"ok": False, "msg": "期权未就绪", "version": 1}), 503
|
||||
from lib.options.options_history_lib import load_options_history
|
||||
from lib.options.options_db import init_options_tables
|
||||
from lib.options.options_margin_mode_lib import is_coin_margin_mode
|
||||
from lib.options.options_positions_lib import sum_options_net_pnl_usdc
|
||||
from lib.options.options_stats_lib import (
|
||||
compute_options_stats_for_window,
|
||||
history_pnl_to_usdt,
|
||||
load_local_options_stats_history,
|
||||
normalize_stats_window,
|
||||
)
|
||||
|
||||
@@ -301,7 +302,17 @@ def register_hub_bridge_routes(app: Flask, app_module: Any) -> None:
|
||||
raw_live = cfg["fetch_option_positions"](ex)
|
||||
if raw_live is None:
|
||||
return jsonify({"ok": False, "msg": "获取期权持仓失败", "version": 1})
|
||||
history = load_options_history(ex, cfg)
|
||||
# 与实例统计一致:本地已平(扣费+冻结 U),不跟实时指数漂移
|
||||
conn = cfg["get_db"]()
|
||||
try:
|
||||
init_options_tables(conn)
|
||||
history = load_local_options_stats_history(conn, ex)
|
||||
try:
|
||||
conn.commit()
|
||||
except Exception:
|
||||
pass
|
||||
finally:
|
||||
conn.close()
|
||||
stats = compute_options_stats_for_window(history_pnl_to_usdt(history, ex), window)
|
||||
open_float = sum_options_net_pnl_usdc(cfg, ex, raw_live)
|
||||
net_realized = stats.get("net_realized_pnl")
|
||||
|
||||
Reference in New Issue
Block a user