fix: show expiry-filter sample stats so ops map filter effect is visible
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -229,9 +229,21 @@ export type MovePointsStats = {
|
||||
buckets: MoveBucket[];
|
||||
};
|
||||
|
||||
export type ExpiryFilterMeta = {
|
||||
min_hours_filter: number;
|
||||
raw_sample_count: number;
|
||||
filtered_sample_count: number;
|
||||
raw_hours_min: number | null;
|
||||
raw_hours_max: number | null;
|
||||
filtered_hours_min?: number | null;
|
||||
filtered_hours_max?: number | null;
|
||||
};
|
||||
|
||||
export type OpsMap = {
|
||||
leverage: LeverageStats;
|
||||
move_points: MovePointsStats;
|
||||
min_hours?: number;
|
||||
expiry_filter?: ExpiryFilterMeta;
|
||||
};
|
||||
|
||||
export async function fetchHealth(): Promise<Health> {
|
||||
|
||||
@@ -88,8 +88,25 @@ export default function OpsMapPage() {
|
||||
|
||||
const lev: LeverageStats | undefined = data?.leverage;
|
||||
const mov: MovePointsStats | undefined = data?.move_points;
|
||||
const filt = data?.expiry_filter;
|
||||
const rangeLabel = range === "day" ? "日" : range === "week" ? "近7日" : "近30日";
|
||||
|
||||
const sampleHint = (() => {
|
||||
if (!filt) return `杠杆样本 ${lev?.sample_count ?? 0}`;
|
||||
const raw = filt.raw_sample_count;
|
||||
const kept = filt.filtered_sample_count;
|
||||
const hMin = filt.raw_hours_min;
|
||||
const hMax = filt.raw_hours_max;
|
||||
const span =
|
||||
hMin != null && hMax != null
|
||||
? ` · 样本距到期约 ${Math.floor(hMin)}–${Math.ceil(hMax)}h`
|
||||
: "";
|
||||
if (raw === kept) {
|
||||
return `杠杆样本 ${kept}(≥${minHours}h 未减少)${span}`;
|
||||
}
|
||||
return `杠杆样本 ${kept}/${raw}(≥${minHours}h)${span}`;
|
||||
})();
|
||||
|
||||
return (
|
||||
<div className="layout">
|
||||
<div className="brand">比特骆驼行情采集分析</div>
|
||||
@@ -152,7 +169,7 @@ export default function OpsMapPage() {
|
||||
<div className="value" style={{ fontSize: "1.1rem" }}>
|
||||
{lev.start_ymd} → {lev.end_ymd}
|
||||
</div>
|
||||
<div className="hint">杠杆样本 {lev.sample_count}</div>
|
||||
<div className="hint">{sampleHint}</div>
|
||||
</div>
|
||||
<div className="tile">
|
||||
<div className="label">达标线</div>
|
||||
|
||||
Reference in New Issue
Block a user