diff --git a/frontend/src/pages/AbnormalMoves.tsx b/frontend/src/pages/AbnormalMoves.tsx
index 384ef28..a5fd15c 100644
--- a/frontend/src/pages/AbnormalMoves.tsx
+++ b/frontend/src/pages/AbnormalMoves.tsx
@@ -54,6 +54,8 @@ export function AbnormalMoves() {
const [minCloseness, setMinCloseness] = useState(0.5)
const [query, setQuery] = useState('')
const [watchlistOnly, setWatchlistOnly] = useState(false)
+ // 默认过滤 ST/*ST 风险警示股票 (口径与后端 is_st_name 一致: 名称含 ST)
+ const [excludeSt, setExcludeSt] = useState(true)
const [preview, setPreview] = useState<{ symbol: string; name: string } | null>(null)
const overview = useQuery({
@@ -110,12 +112,13 @@ export function AbnormalMoves() {
}
if (boardFilter !== 'all') list = list.filter(r => r.board === boardFilter)
if (watchlistOnly) list = list.filter(r => watchSymbols.has(r.symbol))
+ if (excludeSt) list = list.filter(r => !(r.name ?? '').toUpperCase().includes('ST'))
const q = query.trim().toLowerCase()
if (q) {
list = list.filter(r => `${r.symbol} ${r.name ?? ''}`.toLowerCase().includes(q))
}
return list
- }, [view, windowFilter, direction, boardFilter, watchlistOnly, watchSymbols, query, minCloseness])
+ }, [view, windowFilter, direction, boardFilter, watchlistOnly, excludeSt, watchSymbols, query, minCloseness])
const counts = view?.counts
const updating = overview.isFetching
@@ -298,6 +301,15 @@ export function AbnormalMoves() {
/>
只看自选
+