账户总资产
{{ money(ov.total_asset) }}
可用资金 (估算)
{{ money(ov.cash_source==='ws' ? ov.cash_avail : ov.cash_est) }}
持仓市值
{{ money(ov.portfolio_mv) }}
仓位
{{ pct(ov.portfolio_pct) }} / {{ pct(ov.portfolio_cap) }}
浮动盈亏
{{ money(ov.float_pnl) }} {{ ov.float_pnl_pct==null?'':pct(ov.float_pnl_pct) }}
持仓数
{{ ov.names_count }} / {{ ov.max_names }}
等我拍板
{{ proposals.length }} 条
自主档位
{{ tx('autonomy', ov.autonomy) }}
颜色约定:
红=涨/盈
绿=跌/亏
琥珀=需注意
橙=被拦下
蓝=可操作/正常
?
等我拍板 · {{ proposals.length }} 条
暂无需要你确认的提议。
{{ nm(p.ts_code) }} {{ p.ts_code }}
{{ tx('action', p.action) }}
{{ p.expire_at }} 前有效
决策系统:{{ p.judge_reason }}
{{ propWhy(p) }}
约 {{ p.qty }} 股 · 参考价 {{ (p.hard_numbers||{}).price==null ? '—' : (p.hard_numbers||{}).price }}
· 约需 {{ money(((p.hard_numbers||{}).price||0)*(p.qty||0)) }}
采纳
驳回
采纳=记一笔待执行指令,由择时在窗口内择机下单;驳回=今日不再提这只。
我的持仓 · {{ heldPositions.length }} 只
持仓批次 + 账本(展开即载入,无需再点按钮)
{{ tx('lot', l.row.lot_type) }}
无持仓批次
载入中…
该股账本
今日暂无记录
{{ (l.decided_at||'').slice(5,16) }}
{{ tx('arbiter', l.arbiter) }}{{ tx('verdict', l.verdict) }} {{ tx('action', l.action) }} — {{ l.reason }}
{{ nm(s.row.ts_code) }}
{{ s.row.ts_code }}
{{ s.row.price }} 估
{{ s.row.avg_cost||'—' }}
{{ pct(s.row.price/s.row.avg_cost-1) }}
—
{{ money(s.row.market_value) }}
{{ pct(s.row.pct_of_scale) }}
{{ tx('cushion', s.row.cushion_state) }}
{{ pct(s.row.cushion_pct) }} · 连负{{ s.row.neg_cushion_days }}日
{{ tx('posStatus', s.row.status) }}
{{ tx('frozen', s.row.frozen_reason) }}
{{ nextStep(s.row) }}
减仓
清仓
rowMore(c,s.row)">
更多 ▾
设止损价
设目标价
{{ (s.row.frozen_reason && s.row.frozen_reason!=='NONE') ? '解冻' : '冻结(禁增持)' }}
加入黑名单
挂交易方案(做T/网格/跟踪止盈)
今日在办
今天下出去的买卖单,按状态分三档:还在跑的、已成交的、已经结束的。
在办中 {{ insLive.length }}
{{ nm(s.row.ts_code) }} {{ s.row.ts_code }}
{{ tx('action', s.row.action) }} · {{ tx('side', s.row.side) }}
{{ s.row.qty }} / {{ s.row.exec_qty||0 }}
{{ s.row.limit_price||'—' }}
{{ tx('insStatus', s.row.status) }}
今日成交 {{ insDone.length }}
{{ nm(s.row.ts_code) }} {{ s.row.ts_code }}
{{ tx('action', s.row.action) }} · {{ tx('side', s.row.side) }}
{{ s.row.qty }} / {{ s.row.exec_qty||0 }}
{{ tx('insStatus', s.row.status) }}
已了结 {{ insEnd.length }}
{{ nm(s.row.ts_code) }} {{ s.row.ts_code }}
{{ tx('action', s.row.action) }} · {{ tx('side', s.row.side) }}
{{ tx('insStatus', s.row.status) }}
今日否决 {{ denyToday.length }}
今天考察过、但没建仓的票,连原因一起摆出来。
{{ s.row.name }} {{ s.row.ts_code }}
{{ s.row.why || '—' }}
今天发生了什么 · {{ ledger.length }} 条 {{ showLedger?'▲ 收起':'▼ 展开' }}
今天还没有记录。
{{ (l.decided_at||'').slice(11,16) }}
{{ nm(l.ts_code) }}:{{ tx('arbiter', l.arbiter) }}{{ tx('verdict', l.verdict) }} {{ tx('action', l.action) }} —— {{ l.reason }}
我的策略 · {{ strategies.length }} 个
{{ stratEnabled ? '策略层已启用' : '策略层总开关未开(PMS_STRATEGY_ENABLED)' }}
还没有挂任何交易方案。到「我的持仓」某行「更多 ▾ → 挂交易方案」给它挂一个。
{{ nm(s.row.ts_code) }} {{ s.row.ts_code }}
{{ tx('stype', s.row.type) }}
{{ s.row.autonomy==='auto'?'自动执行':'待我拍板' }}
{{ stratStateText(s.row) }}
买入已暂停
决策系统风控:{{ s.row.buy_paused.reason || '资金异动' }}(卖出/平回不受影响;确认无碍点右侧「恢复买入」)
{{ tx('stratStatus', s.row.status) }}
暂停
恢复
恢复买入
撤下
操作日志 · 最近 {{ opLog.length }} 条
每一次页面写操作都留一行;被仓位 / 盈亏 / T+1 可卖 / 单股上限挡下的,连原因一起记,不静默。
还没有操作记录。
{{ (o.at||'').slice(11,16) }}
{{ o.result }}
{{ o.op }} · {{ nm(o.ts_code) }}
— {{ o.reason }}
现价 {{ stratDlg.price }} · 持仓 {{ stratDlg.total_qty }} 股(T+1 可卖 {{ stratDlg.avail_qty }})· 浮盈 {{ pct(stratDlg.cushion_pct) }}。参数按这些现值给了默认,不用盲填。
做T
网格
跟踪止盈
×持仓
≤ 1/3;每轮约 {{ stratQty }} 股
回落近支撑→买、按目标价差高卖(正T);近压力或滞涨→卖存量、低买回(反T)。当日 ≤ 3 次,14:50 强制平回,单票 / 全局当日T亏熔断。
~
默认取现价
×价
0.02=每 2% 一档
股
元
须落在单股上限内(合规检查兜底)
跌破未买档→买一份,涨破已买档→卖一份(从 T+1 可卖存量);跌破下界=继续持有、不再买。
浮盈
浮盈达此才开始跟踪
自高点
0.05=从高点回落 5% 就卖
×可卖
1=全清
浮盈
0=不设;达此直接全清
创新高抬止盈线,从高点回落到设定比例就卖(只卖不买,纯离场保护)。
自动执行
待我拍板
· {{ r }}
先校验
挂载并生效
组合操作
对整个组合的手动动作。数值都基于当前实际持仓算出、并预览影响金额,不用盲填;危险动作要二次确认。
{{ ov.buy_halt?'恢复买入':'暂停买入' }}
停止一切新增买入并撤销在途买入指令;卖出与止损不受影响。当前:{{ ov.buy_halt?'已暂停买入':'买入正常' }}。
{{ ov.exec_halt?'结束休假':'休假模式' }}
所有自动动作暂停,只保留对账与日报。当前:{{ ov.exec_halt?'休假中':'正常运行' }}。
调整仓位
当前总仓位 {{ pct(ov.portfolio_pct) }}(市值 {{ money(ov.portfolio_mv) }} / 规模 {{ money(ov.scale) }}),可用资金 {{ money(ov.cash_source==='ws'?ov.cash_avail:ov.cash_est) }}。
目标 %
{{ posMovePreview }}
清仓行业
卖光某个行业的全部持仓,从下面选(不用手打):
—— {{ ov.sector_ready===false?'行业数据未就绪':'当前无带行业的持仓' }}
一键清仓(紧急)
全部持仓({{ heldPositions.length }} 只,市值 {{ money(ov.portfolio_mv) }})按最快节奏卖出、不做择时优化。紧急离场用,需二次确认。
设置
每组先给一句「现在是什么状态」的合成说明,再让你改其中的项。改完点保存即时生效。
资金与仓位纪律:{{ sumPosition }}
总操作规模 元
总仓上限
单股上限
最多持仓 只
预留现金
补仓策略:{{ sumDca }}
是否补仓
上限(占底仓)
评估档(浮亏)
深档确认
回踩止损
保存修改 ({{ dirtyCount }})
放弃
关闭补仓=把「补仓上限」设为 0;调低总仓上限可能触发降仓提议。
系统在盯的候选 · 今日选股计划 · 计划日 {{ planStatus.date || '—' }}
决策系统盯着、可能冒出建仓提议的票。每只都标了今天为什么下单、或为什么没下单。
{{ n }};
上游计划暂不可用。
{{ s.row.rank }}
{{ s.row.name || nm(s.row.ts_code) }} {{ s.row.ts_code }}
{{ s.row.theme }}—
{{ s.row.tier || '—' }}
● {{ dispOf(s.row.ts_code).label }}
{{ dispOf(s.row.ts_code).why }}
强刷 + 灌行业映射
只重读
计划不带价格与金额 —— 买多少/什么价一律 PMS 自己算; 行情取不到价的票会被剔除。
计划日 {{ planStatus.date }} (日龄 {{ planStatus.age_tdays }} 交易日) ·
热度日 {{ planStatus.heat_date || '-' }} · 快照 {{ (planStatus.market_snapshot_days||[]).join(',') }} ·
上游主题上限 {{ planStatus.theme_cap }} · theme 灌映射 {{ JSON.stringify(planStatus.theme_sync||{}) }}
请求 {{ JSON.stringify(planStatus.query||{}) }} · 漏斗: 打分池
主榜 {{ (planStatus.funnel||{}).scored_main }} / 观察 {{ (planStatus.funnel||{}).scored_observe }}
→(券商预期 + 目标价≥现价 + 主题限额 + top)→ 实收
主榜 {{ (planStatus.funnel||{}).returned_main }} / 观察 {{ (planStatus.funnel||{}).returned_observe }}
按当前参数筛选: 排序池 {{ planCand.considered }} → 合格 {{ planCand.eligible }} →
取 {{ (planCand.items||[]).length }} 只 ·
白名单档位取全 {{ planCand.tier_complete===null ? '不适用' : (planCand.tier_complete ? '是':'否') }} ·
丢弃 {{ JSON.stringify(planCand.dropped||{}) }}
·
{{ planCand.st_unknown.length }} 只无名称, ST 判不了已放行
{{ (planCand.items||[]).map(x=>x.ts_code).join(' ') }}
榜单变化
重算变化
{{ chgSt.hint }}
{{ chg.kind === 'first' ? '首次落快照' : (chg.prev_date + ' → ' + chg.curr_date) }} ·
名册 {{ chg.roster_size.prev }} → {{ chg.roster_size.curr }} ·
新进 {{ chg.counts.entered }} · 掉榜 {{ chg.counts.exited }} ·
升档 {{ chg.counts.tier_up }} · 降档 {{ chg.counts.tier_down }} ·
覆盖翻转 {{ chg.counts.bucket_moved }} · 名次跳变 {{ chg.counts.rank_jump }}
·
榜尾进出 {{ chg.tail_churn.entered + chg.tail_churn.exited }} 只未计入 (那一版吃满 top,
尾部是截断噪音不是观点变化)
· 其中
{{ chg.tail_churn.held_exempt }} 只因是持仓票照报 (持仓票不受榜尾闸约束 ——
漏报一条就是一个仓位)
· 同一计划日出现多版:
{{ chgRevised.map(x => x[0] + '×' + x[1]).join(', ') }}
{{ s.row.why }}
上游把一只持仓票摘出榜或降了档, 是"还该不该继续拿着"的直接信号 ——
单独拎出来免得被几十条新进榜淹掉。它只是提示, 不自动产生任何指令:
要减要清仍走命令台或提议确认。
持仓
{{ s.row.tier_from }} → {{ s.row.tier_to }}
{{ s.row.rank_from }} → {{ s.row.rank_to }}
({{ s.row.rank_delta > 0 ? '+' : '' }}{{ s.row.rank_delta }})
主榜
同一「计划日」出现多行 = 上游那天重算过多版(UPSTREAM_PLAN_API.md §7.3:
`/plan` 是实时算的, 应答里没有 generated_at, 下游本来没办法判断手上这份是哪一版)。
指纹不含 score —— 分数抖动但次序没变不算新版本, 否则表白涨而信息量为零。
主榜明细
{{ s.row.upside==null ? '-' :
((s.row.upside>0?'+':'') + (s.row.upside*100).toFixed(0) + '%') }}
「预期空间」= 券商目标价相对现价的空间 (上游 upside 字段, 2.12 → +212%)。噪音大,
所以永不参与排序 —— 排序始终按 score; 只在 PMS_PLAN_MIN_UPSIDE 上做下限过滤。
筛选参数在「参数设置」里: PMS_PLAN_TOP_N / PMS_PLAN_TIERS / PMS_PLAN_INCLUDE_OBSERVE /
PMS_PLAN_MIN_SCORE / PMS_PLAN_MIN_SOURCES / PMS_PLAN_MIN_UPSIDE / PMS_PLAN_STALE_TDAYS。
发给上游的三个: PMS_PLAN_TOP / PMS_PLAN_OBS_TOP / PMS_PLAN_THEME_CAP (0=不传, 用上游默认
20/10/5)。PMS_PLAN_THEME_CAP_LOCAL 是 PMS 侧的同主题限额, 在 TOP_N 截断之前生效 ——
让上游别裁 (THEME_CAP 设大) + PMS 自己裁, 前 N 名才不会被单一主题垄断。
PMS_PLAN_EXCLUDE_ST 默认开: 上游名单明确不剔除 ST/*ST, 这道闸在 PMS 侧。
「主题」是传导主题(事件驱动、天天变、覆盖约三成), 不是行业 —— 行业硬拦截
请把 PMS_SECTOR_SOURCE 设成 gp_stock_category, 别用 PMS_PLAN_THEME_SYNC。
{{ planResult }}