持仓与在途订单:实时表格、撤单、4 Hz 合并
未平仓头寸和在途订单两张表映射经纪商的 PnL 与订单 plant 针对当前账户回报的内容,每笔订单带一个撤单按钮,持仓数据流被合并到 4 Hz,但开仓、平仓和反手这三种状态变化除外。
Senzoukria · 文档 · 更新于 2026 年 9 月
位置
- 位置
- Trading 页面 → 右栏,紧邻当日统计与资金曲线
- 来源
- 当前账户的经纪商 PnL plant(持仓、统计)与订单 plant(在途订单)
- 刷新
- 持仓每个品种最快每 250 ms 一次;状态变化立即刷新
它做什么
“未平仓头寸”列出经纪商回报的每个头寸,包含 Symbol、Side(LONG 或 SHORT)、Qty、Avg(均价)、Last(市场价)和 uPnL(浮动盈亏,带符号)。没有持仓时,表格显示“Flat. No open positions.”
“在途订单”列出待成交订单,包含 Symbol、Side、Type、Qty(部分成交时括号内为已成交数量)、Limit、Stop、Status 和一个撤单按钮。空状态显示“No pending orders right now.”撤单会针对该订单 id 发出撤销;后端自行解析该行所属的账户,与一键全平使用同一约定。错误显示在表格上方。
列
| 表格 | 列 | 说明 |
|---|---|---|
| 未平仓头寸 | Symbol · Side · Qty · Avg · Last · uPnL | 价格保留两位小数;uPnL 按正负着色 |
| 在途订单 | Symbol · Side · Type · Qty(已成交)· Limit · Stop · Status · 撤单 | 订单类型大写并去掉下划线;没有价格时显示 — |
持仓数据流如何合并
经纪商的 PnL plant 每次更新都发一条消息,不做任何节流,而过去每一次发布都会提交一次图表根节点并重绘入场线标签,该标签把盈亏精确到分。实盘实测中,一个未平仓头寸会把根节点提交从每秒 3–5 次推到 12–17 次。合并器应用三条规则:什么都没改变的事件不发布;每个品种的发布上限为 4 Hz,因此显示的盈亏最多落后 250 ms;而状态变化(开仓、平仓、反手)立即发布,因为“我已空仓”必须在它成为事实的那一刻就显示出来。一个 100 ms 的节拍会把队列排空,所以行情转静之前的最后一次更新等待不超过 350 ms。
当日统计所用的已平仓交易盈亏以开仓那一刻经纪商的已实现盈亏为锚,因此分多笔减仓无论节奏如何都只记为一笔交易。
局限与陷阱
- 这两张表显示的是经纪商回报的内容。这里没有的在途订单是没有收到,这和不存在不是一回事;有疑问时请到经纪商平台核对。
- 每个品种独立节流,因此一个活跃头寸不会拖慢另一个。
- 切换账户会清空两张表和合并器的记忆,然后从新的数据流重新填充。
- 实盘交易在你自己的经纪商账户上进行;行情费用由数据提供方计收。
相关页面
其他语言版本
常见问题
- 为什么浮动盈亏是小步跳动,而不是每个 tick 都更新?
- 持仓数据流每个品种每秒最多发布四次,以保持图表的响应速度。只有开仓、平仓和反手会绕过这个上限。
- 我能从表格里修改一笔在途订单吗?
- 表格只提供逐单撤销。止损与止盈的管理在账户面板或图表中完成,那里会把头寸和它的离场单放在一起处理。