diff --git a/backend/main.py b/backend/main.py index 4c42912..d5acb3a 100644 --- a/backend/main.py +++ b/backend/main.py @@ -545,6 +545,8 @@ async def paper_summary(user: dict = Depends(get_current_user)): total = len(closed) wins = len([r for r in closed if r["pnl_r"] > 0]) total_pnl = sum(r["pnl_r"] for r in closed) + total_pnl_usdt = total_pnl * 200 # 1R = $200 + balance = 10000 + total_pnl_usdt win_rate = (wins / total * 100) if total > 0 else 0 gross_profit = sum(r["pnl_r"] for r in closed if r["pnl_r"] > 0) gross_loss = abs(sum(r["pnl_r"] for r in closed if r["pnl_r"] <= 0)) @@ -554,6 +556,8 @@ async def paper_summary(user: dict = Depends(get_current_user)): "total_trades": total, "win_rate": round(win_rate, 1), "total_pnl": round(total_pnl, 2), + "total_pnl_usdt": round(total_pnl_usdt, 2), + "balance": round(balance, 2), "active_positions": len(active), "profit_factor": round(profit_factor, 2), "start_time": str(first["start"]) if first and first["start"] else None, diff --git a/frontend/app/paper/page.tsx b/frontend/app/paper/page.tsx index 709dce8..e41f194 100644 --- a/frontend/app/paper/page.tsx +++ b/frontend/app/paper/page.tsx @@ -74,10 +74,15 @@ function SummaryCards() { }, []); if (!data) return
当前资金
+= 10000 ? "text-emerald-600" : "text-red-500"}`}>${data.balance?.toLocaleString()}
+总盈亏(R)
-= 0 ? "text-emerald-600" : "text-red-500"}`}>{data.total_pnl >= 0 ? "+" : ""}{data.total_pnl}
+= 0 ? "text-emerald-600" : "text-red-500"}`}>{data.total_pnl >= 0 ? "+" : ""}{data.total_pnl}R
+= 0 ? "text-emerald-500" : "text-red-400"}`}>{data.total_pnl_usdt >= 0 ? "+" : ""}${data.total_pnl_usdt}
胜率