Skip to content
现货手册 / TGEX KNOWLEDGE BASE

业务概述 ​

现货是交易所中最基础、最常见的交易方式:用户用一种资产买入另一种资产,订单成交后,双方按成交结果完成资产交换。它不涉及借贷和杠杆,也没有到期结算。许多交易所的交易业务都从现货开始,合约和期权则是在此基础上扩展出的其他产品。

下面先介绍现货的基本概念,再跟随一笔买单,了解资金如何冻结、订单状态如何变化,以及这些变化会如何呈现在交易页面上。

本册怎么读 ​

建议按这条线往下读,避免在侧栏里跳着抓碎片:

顺序读什么回答什么
1本页委托 / 成交 / 账务怎么分开;统一案例数字
2系统架构谁受理、谁持热状态、谁推展示
3交易规则 → 核心设计单合不合法;账户 / 订单 / 订单簿对象
4初始化四链路 → 下单 / 撮合 / 撤单 / 行情服务怎么就绪;一笔限价单怎么跑
5缓存总览热路径权威态落在哪张内存表

本册主路径:平台撮合 · 限价单的下单、撮合、撤单、推送,以及委托查询、充提改账协同、手续费计费落地。
明确不展开或另册:市价单细节、第三方撮合、批量撤单;链上充提细节见钱包 · 核心充提流程,资金语义见资产与账务。

现货是什么 ​

说白了:现货就是用一种币换另一种币,换成了就是你的。大家常听到的 BTC,可以理解成要买卖的「货」;USDT 是常见的稳定币,更像「付钱用的币」。在 BTC/USDT 这个交易对里:

  • 你要买 BTC:付 USDT,拿到 BTC
  • 你要卖 BTC:交出 BTC,拿到 USDT

一买一卖配对成功,就叫成交;两边账户里的币会按成交结果改掉。下单时系统会先把要用的币冻住,避免同一笔钱花两次;成交或撤单后再把账算清楚。

它和另外两类产品不一样:

  • 合约:更关心你持了多少仓、保证金够不够,不是简单「币换币到手」
  • 期权:还要看约定条件和到期怎么算结果
  • 现货:就盯三件事——单有没有、成交了没有、账户里的币怎么变

所以看现货,先把下面三个东西分开,别混在一块:

看什么人话
委托(订单)我还想买/卖多少?这单现在什么状态?
成交到底换成了多少?按什么价格换的?
账务(余额)我还能用多少?冻住了多少?币最终归谁?

打开主流交易所的现货交易页,通常会看到这些信息:

页面上你在看什么
交易对这一页买卖的是哪两种币,比如 BTC/USDT
盘口市场上大家挂着的买卖价和量(不一定是你的单)
当前委托你自己还没做完的单
成交记录已经换成事实的记录:价格、数量、时间
余额你账户里可用多少、冻住多少
K 线最近一段时间价格大概怎么走

记住两个常见容易混的点:

  1. 盘口是市场意愿;当前委托才是你的单。
  2. 盘口里的量还没换完;成交记录里的才是已经换成的。

光记名字还不够。下面就在 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 可用 USDTA 冻结 USDTA 新增 BTC订单(委托)页面上大致怎样
初始1,00000还没有单余额里能用 1,000 USDT
下单占用 6004006000未成交当前委托出现这单;盘口这档买量增加
成交 0.006 BTC4002400.006部分成交成交记录多一笔;盘口买量减少;余额里多了 BTC、冻结变少
撤销剩余 0.004 BTC64000.006已撤销当前委托去掉剩余;盘口再减掉没成交的那截买量

读表时可以按上一节的口诀核对:

  1. 委托:有没有单、还剩多少、最后是部分成交后撤掉
  2. 成交:真正换成的是 0.006 BTC,花掉约 360 USDT;撤单不会把这笔成交取消
  3. 账务:下单先冻 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;账务需单独记费用流水
成交价优于买入限价实际扣款小于原预占;多占用部分须在结算或撤单路径中释放并可解释

真实费率与扣费币种以产品配置为准;上表只用于演算。工程上成交时如何取费率、扣费、写入手续费暂存,见手续费计费落地。

同组:系统架构 · 交易规则 · 核心设计 · 下单主流程

TGEX · 交易所设计与业务流程