统计已实现盈亏扣手续费,并按平仓时指数冻结为 U。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -93,6 +93,7 @@ def _build_cfg(app_module: Any) -> dict[str, Any]:
|
||||
format_position_row,
|
||||
options_api_ready,
|
||||
cancel_option_order,
|
||||
fetch_option_order,
|
||||
fetch_option_pending_orders,
|
||||
place_option_limit_order,
|
||||
place_option_market_order,
|
||||
@@ -132,6 +133,7 @@ def _build_cfg(app_module: Any) -> dict[str, Any]:
|
||||
"fetch_option_book_depth": fetch_option_book_depth,
|
||||
"place_option_limit_order": place_option_limit_order,
|
||||
"place_option_market_order": place_option_market_order,
|
||||
"fetch_option_order": fetch_option_order,
|
||||
"fetch_option_pending_orders": fetch_option_pending_orders,
|
||||
"cancel_option_order": cancel_option_order,
|
||||
"fetch_option_positions": fetch_option_positions,
|
||||
@@ -1276,20 +1278,15 @@ def register_options_routes(app: Flask, cfg: dict[str, Any]) -> None:
|
||||
ex, err = _require_options_ex(cfg)
|
||||
if ex is None:
|
||||
return jsonify({"ok": False, "msg": err})
|
||||
from lib.options.options_history_lib import load_options_history
|
||||
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_from_history,
|
||||
history_pnl_to_usdt,
|
||||
)
|
||||
from lib.options.options_stats_lib import compute_options_stats
|
||||
|
||||
raw_live = cfg["fetch_option_positions"](ex)
|
||||
if raw_live is None:
|
||||
return jsonify({"ok": False, "msg": "获取期权持仓失败"})
|
||||
history = load_options_history(ex, cfg)
|
||||
# 币本位已平盈亏按指数折 U,与持仓浮盈/合计口径一致
|
||||
stats = compute_options_stats_from_history(history_pnl_to_usdt(history, ex))
|
||||
# 已平仓走本地库:扣手续费 + 平仓时冻结 U,不跟实时指数漂移
|
||||
stats = compute_options_stats(cfg["get_db"], ex)
|
||||
open_float = sum_options_net_pnl_usdc(cfg, ex, raw_live)
|
||||
net_realized = _safe_float(stats.get("net_realized_pnl")) or 0.0
|
||||
total_pnl = None
|
||||
|
||||
Reference in New Issue
Block a user