Use exchange fees, UPL, funding for LIVE PnL; USDC 1:1 to USDT.

Option open P&L stays local (option net); exit target ignores estimated close fees.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-07-26 21:49:20 +08:00
parent b7e055e37b
commit ca66c494e7
12 changed files with 685 additions and 25 deletions
+19 -3
View File
@@ -275,13 +275,27 @@ export default function PlanPage() {
</span>
</div>
<div className="kv">
<span></span>
<span>{plan?.mode === "LIVE" ? "(交易所)" : ""}</span>
<span className={`mono ${pnlClass(pos?.perp_upl)}`}>{fmt(pos?.perp_upl)}</span>
</div>
<div className="kv">
<span></span>
<span>{plan?.mode === "LIVE" ? "期权净盈亏" : "期权浮盈"}</span>
<span className={`mono ${pnlClass(pos?.option_upl)}`}>{fmt(pos?.option_upl)}</span>
</div>
{plan?.mode === "LIVE" && open ? (
<>
<div className="kv">
<span></span>
<span className="mono">{fmt(pos?.fees_paid)}</span>
</div>
<div className="kv">
<span></span>
<span className={`mono ${pnlClass(pos?.funding_usdt)}`}>
{fmt(pos?.funding_usdt)}
</span>
</div>
</>
) : null}
{plan?.last_error ? (
<div className="kv">
<span></span>
@@ -390,7 +404,9 @@ export default function PlanPage() {
<span className="pos-value mono">{fmt(pos?.option_mark_px)}</span>
</div>
<div className="pos-cell">
<span className="pos-label"></span>
<span className="pos-label">
{plan?.mode === "LIVE" ? "净盈亏" : "浮盈亏"}
</span>
<span className={`pos-value mono ${pnlClass(pos?.option_upl)}`}>
{fmt(pos?.option_upl)}
</span>