外观
现货手册 / TGEX KNOWLEDGE BASE
核心设计
把资产、订单和订单簿作为相互关联的独立对象。合法边界见[交易规则](/pages/0703);谁持运行态见[系统架构](/pages/0702);统一案例数字见[业务概述](/pages/0701)。
账户与资产
买单占用计价币,卖单占用基础币。冻结金额不能只依赖客户端计算,应由服务端结合价格、数量和费用规则确定。未成交资金在订单终止后释放。可用与冻结的口径见资产体系与余额设计;现货热路径权威在用户币币账户缓存。
教学演算中的占用可先按下列方式理解(真实公式以产品规则为准):
| 方向 | 占用什么 | 简化估算 |
|---|---|---|
| 限价买入 | 计价币 | 约 限价 × 数量,若费用从计价币扣则再加费用缓冲 |
| 限价卖出 | 基础币 | 约等于委托数量 |
| 市价买入 | 计价币 | 通常按提交金额或按估价占用,版本差异需核对 |
| 市价卖出 | 基础币 | 约等于委托数量 |
业务概述的统一案例中,用户以 60,000 限价买入 0.01 BTC、先忽略费用时,预占 600 USDT。部分成交 0.006 BTC 后,已支出 360,剩余占用应降到约 240;撤销剩余后再把 240 解冻回可用。
订单与状态流转
- 未成交
- 部分成交
- 完全成交 / 已撤销
这是一条示意路径。未成交也可以直接完全成交或撤销;部分成交后继续成交或撤销。工程状态枚举对应未成交、部分成交、完全成交、已撤销,具体存储值不必暴露给业务读者。
阅读订单时建议区分三类数量:
| 数量概念 | 含义 |
|---|---|
| 原始数量 | 用户最初提交的买卖量 |
| 已成交数量 | 累计成交,只增不减 |
| 剩余数量 | 尚未成交、仍可能挂在簿上或等待终止的部分 |
撤单只作用于剩余数量,不能把已成交量改回零。一个委托可以关联多笔成交记录;每笔成交都应能回溯到双方订单、价格、数量与唯一标识。
订单簿与撮合机制
已检查实现中,买方价格队列降序,卖方价格队列升序,撮合优先寻找最优对手价格。买单价格达到卖方价格时可以成交。
订单簿反映尚未成交的意图,不等于成交历史,也不等于用户的全部历史委托。深度展示通常是把同价位未成交量聚合后的结果,见行情推送流程。进簿与比价时序见撮合主流程。
以下细节在文档中不固化,需结合具体撮合路径确认后再写入业务说明:
- 相同价位的排队规则(例如是否严格时间优先)
- 外部成交分支如何写入本地订单与账务
把「最优价优先」写成业务约束是安全的;把未经核对的同价排队或外部成交语义写成事实,则会误导读者。