外观
现货手册 / TGEX KNOWLEDGE BASE
业务概述
现货是交易所中最基础、最常见的交易方式:用户用一种资产买入另一种资产,订单成交后,双方按成交结果完成资产交换。它不涉及借贷和杠杆,也没有到期结算。许多交易所的交易业务都从现货开始,合约和期权则是在此基础上扩展出的其他产品。
下面先介绍现货的基本概念,再跟随一笔买单,了解资金如何冻结、订单状态如何变化,以及这些变化会如何呈现在交易页面上。
本册怎么读
建议按这条线往下读,避免在侧栏里跳着抓碎片:
| 顺序 | 读什么 | 回答什么 |
|---|---|---|
| 1 | 本页 | 委托 / 成交 / 账务怎么分开;统一案例数字 |
| 2 | 系统架构 | 谁受理、谁持热状态、谁推展示 |
| 3 | 交易规则 → 核心设计 | 单合不合法;账户 / 订单 / 订单簿对象 |
| 4 | 初始化四链路 → 下单 / 撮合 / 撤单 / 行情 | 服务怎么就绪;一笔限价单怎么跑 |
| 5 | 缓存总览 | 热路径权威态落在哪张内存表 |
本册主路径:平台撮合 · 限价单的下单、撮合、撤单、推送,以及委托查询、充提改账协同、手续费计费落地。
明确不展开或另册:市价单细节、第三方撮合、批量撤单;链上充提细节见钱包 · 核心充提流程,资金语义见资产与账务。
现货是什么
说白了:现货就是用一种币换另一种币,换成了就是你的。大家常听到的 BTC,可以理解成要买卖的「货」;USDT 是常见的稳定币,更像「付钱用的币」。在 BTC/USDT 这个交易对里:
- 你要买 BTC:付 USDT,拿到 BTC
- 你要卖 BTC:交出 BTC,拿到 USDT
一买一卖配对成功,就叫成交;两边账户里的币会按成交结果改掉。下单时系统会先把要用的币冻住,避免同一笔钱花两次;成交或撤单后再把账算清楚。
它和另外两类产品不一样:
- 合约:更关心你持了多少仓、保证金够不够,不是简单「币换币到手」
- 期权:还要看约定条件和到期怎么算结果
- 现货:就盯三件事——单有没有、成交了没有、账户里的币怎么变
所以看现货,先把下面三个东西分开,别混在一块:
| 看什么 | 人话 |
|---|---|
| 委托(订单) | 我还想买/卖多少?这单现在什么状态? |
| 成交 | 到底换成了多少?按什么价格换的? |
| 账务(余额) | 我还能用多少?冻住了多少?币最终归谁? |
打开主流交易所的现货交易页,通常会看到这些信息:
| 页面上 | 你在看什么 |
|---|---|
| 交易对 | 这一页买卖的是哪两种币,比如 BTC/USDT |
| 盘口 | 市场上大家挂着的买卖价和量(不一定是你的单) |
| 当前委托 | 你自己还没做完的单 |
| 成交记录 | 已经换成事实的记录:价格、数量、时间 |
| 余额 | 你账户里可用多少、冻住多少 |
| K 线 | 最近一段时间价格大概怎么走 |
记住两个常见容易混的点:
- 盘口是市场意愿;当前委托才是你的单。
- 盘口里的量还没换完;成交记录里的才是已经换成的。
光记名字还不够。下面就在 BTC/USDT 上跟一笔买单:看委托怎么从下单变成部分成交再撤掉剩余,成交发生了哪一截,账务里可用 / 冻结怎么变,以及页面上的当前委托、成交记录、盘口大致会怎样。
一笔交易案例
接着上面的三个对象来看。后文现货章节也沿用同一组数,避免每页换例子:
限价买入 0.01 BTC,先成交 0.006 BTC,再撤掉剩下的 0.004 BTC。
整笔单可以想成这条线(先看结果,系统内部怎么接力,见后面的主流程):

假设你是用户 A,账户里有 1,000 USDT,想按 60,000 USDT 的限价买 0.01 BTC(大约要准备 600 USDT)。市场上卖方暂时只愿意卖给你 0.006 BTC,买不完的部分你再撤单。先不算手续费,并假定成交价就等于你的限价。
对照上一节:表里的「订单」列就是委托;「新增 BTC / 支出」对应成交;「可用 / 冻结」就是账务;最后一列是页面上大概会看到的变化。
| 阶段 | A 可用 USDT | A 冻结 USDT | A 新增 BTC | 订单(委托) | 页面上大致怎样 |
|---|---|---|---|---|---|
| 初始 | 1,000 | 0 | 0 | 还没有单 | 余额里能用 1,000 USDT |
| 下单占用 600 | 400 | 600 | 0 | 未成交 | 当前委托出现这单;盘口这档买量增加 |
| 成交 0.006 BTC | 400 | 240 | 0.006 | 部分成交 | 成交记录多一笔;盘口买量减少;余额里多了 BTC、冻结变少 |
| 撤销剩余 0.004 BTC | 640 | 0 | 0.006 | 已撤销 | 当前委托去掉剩余;盘口再减掉没成交的那截买量 |
读表时可以按上一节的口诀核对:
- 委托:有没有单、还剩多少、最后是部分成交后撤掉
- 成交:真正换成的是 0.006 BTC,花掉约 360 USDT;撤单不会把这笔成交取消
- 账务:下单先冻 600 → 成交后冻结降到 240 → 撤单后冻结清零,可用回到 640
资金每一步怎么算,可在下方演算里拖着看。
INTERACTIVE EXAMPLE
教学演算订单变化,资金如何变化?
本金 1,000 USDT · 限价 60,000 · 买入 0.01 BTC · 不计手续费
可用 USDT400.00
冻结 USDT240.00
新增 BTC0.0060
资金核对:可用 400.00 + 冻结 240.00 + 已支出 360.00 = 1,000.00 USDT
假设成交价等于限价;真实结算还需考虑价格差与手续费。成交、撤单之后,成交记录和盘口还会再刷一刷,那是行情在推展示,并不另改你的订单和余额对错。推送细节见行情推送流程。系统里网关、委托、撮合怎么交接,见下单主流程、撮合主流程、撤单主流程;超时后怎么查单见委托查询主流程。
卖单对称理解
同一组数字从卖方看:用户 B 卖出 0.01 BTC,先成交 0.006,再撤剩余 0.004。下单时冻结 0.01 BTC;成交后减少 0.006 BTC 占用并增加 360 USDT;撤单后解冻剩余 0.004 BTC。买卖共用同一笔成交,只是资产方向相反。
手续费与优价成交
| 扩展 | 教学处理 |
|---|---|
| 假设 taker 0.1% 从获得币扣除 | 买方净得 BTC 略少于 0.006;账务需单独记费用流水 |
| 成交价优于买入限价 | 实际扣款小于原预占;多占用部分须在结算或撤单路径中释放并可解释 |
真实费率与扣费币种以产品配置为准;上表只用于演算。工程上成交时如何取费率、扣费、写入手续费暂存,见手续费计费落地。