diff --git a/backend/main.py b/backend/main.py index 01d604b..ca49793 100644 --- a/backend/main.py +++ b/backend/main.py @@ -464,6 +464,15 @@ async def get_signal_latest(user: dict = Depends(get_current_user), strategy: st data["factors"] = json.loads(data["factors"]) except Exception: pass + # 对 v53_btc:把 alt_score_ref 提升为顶层字段,方便前端直接读 + if strategy == "v53_btc" and isinstance(data.get("factors"), dict): + f = data["factors"] + if data.get("score", 0) == 0 and f.get("alt_score_ref") is not None: + data["display_score"] = f["alt_score_ref"] + data["gate_passed"] = f.get("gate_passed", True) + else: + data["display_score"] = data.get("score", 0) + data["gate_passed"] = f.get("gate_passed", True) result[sym.replace("USDT", "")] = data return result diff --git a/frontend/app/signals-v53/page.tsx b/frontend/app/signals-v53/page.tsx index 742720d..d47ebfa 100644 --- a/frontend/app/signals-v53/page.tsx +++ b/frontend/app/signals-v53/page.tsx @@ -36,6 +36,8 @@ interface LatestIndicator { p95_qty: number; p99_qty: number; score: number; + display_score?: number; // v53_btc: alt_score_ref(参考分) + gate_passed?: boolean; // v53_btc顶层字段 signal: string | null; tier?: "light" | "standard" | "heavy" | null; factors?: { @@ -307,11 +309,11 @@ function IndicatorCards({ symbol }: { symbol: Symbol }) { {isBTC ? ( <>

- {data.factors?.alt_score_ref ?? data.score}/100 + {data.display_score ?? data.factors?.alt_score_ref ?? data.score}/100 参考分

- {(data.factors?.gate_passed) ? (data.tier === "standard" ? "标准" : "不开仓") : "Gate否决"} + {(data.gate_passed ?? data.factors?.gate_passed) ? (data.tier === "standard" ? "标准" : "不开仓") : "Gate否决"}

) : (