成交与费用
限价单部分成交手续费怎么算,扣了好几笔正常吗?
订单页只有一张限价单,成交明细却有三行、手续费扣了三笔,通常不是重复收费。用三笔合计 0.84 USDT 的假设例子,看懂逐笔扣费、撤单后的未成交余量,以及钱包到账为什么比成交数量少。
假设一张买 10 枚的限价单,分 2 枚、3 枚、5 枚三次成交,成交明细就会有三行,手续费也扣三笔,合计 0.84 USDT。每次成交各收一次手续费,同一张单里还可能既有吃单又有挂单。所以要从每一笔成交算起:成交多少、价格多少、吃单还是挂单、手续费扣了哪种资产,逐笔记下再合计。
本文只讨论中心化交易所的现货订单簿。
如果还没看过成交明细,先读买币手续费怎么收,分清买卖各扣一次费用和净到账,再回来看限价单。
先分清订单和成交
限价委托表达的是“最高愿意用什么价格买”或“最低愿意用什么价格卖”,真正成交多少,要看市场撮合结果。一张买入 10 枚 A 币的委托,可能像开头那样分三次成交,也可能只成交 4 枚,余下 6 枚被取消。手续费只跟已经发生的成交有关,未成交部分不会产生现货成交手续费。
| 记录 | 主要看什么 | 适合核对什么 |
|---|---|---|
| 订单 | 原计划买卖多少、已经成交多少、还剩多少、是否取消 | 数量和订单状态 |
| 成交明细 | 每一次的成交价、成交量、成交方式、手续费和扣费资产 | 逐笔费用与净到账 |
限价单也不一定都是挂单。挂单方(maker)的订单留在订单簿中等待别人来成交;吃单方(taker)的订单立刻与市场里已有的挂单成交。一张限价单可以先吃掉市场里的卖单,剩余部分再留在订单簿中成为挂单,所以同一订单里出现两种费率并不奇怪。下单时勾选「只做 Maker」,会立即成交的限价单直接被系统取消,挂进订单簿的单子成交时都按挂单计,规则见用只做 Maker 避免限价单立即吃单。

币安帮助中心对挂单方和吃单方的说明,2026-09-23 截图。
逐笔手续费怎么算
每一笔的手续费这样算:
单笔理论手续费 = 这一笔的计费金额或数量 × 这一笔适用的费率
关键是按“这一笔”计算。成交金额要用实际成交价和成交量,费率要用当时适用于该笔成交的费率,扣费币种则看成交记录。建议把“理论手续费”和“实际手续费”分开:前者帮助理解算法,后者才是账户真正发生的费用。
平台还可能逐笔取整。把几笔未取整的理论费用先相加,再统一取整,结果可能与账户逐笔扣费之和不同。因此,记账时不要为了凑整而改动成交记录。
三笔手续费合计 0.84 的例子
假设某 A 币/USDT 买单分三次成交。第一笔是吃单,教学假设费率为 0.10%;后两笔是挂单,假设费率为 0.08%。为了突出两种费率的区别,三笔成交价都设为 100 USDT,手续费也暂用 USDT 记账。
| 成交 | 数量 × 价格 | 费用计算 |
|---|---|---|
| A 吃单 | 2 × 100 | 200 × 0.10% = 0.20 |
| B 挂单 | 3 × 100 | 300 × 0.08% = 0.24 |
| C 挂单 | 5 × 100 | 500 × 0.08% = 0.40 |
三笔共成交 10 枚,成交额为 200 + 300 + 500 = 1,000 USDT;手续费为 0.20 + 0.24 + 0.40 = 0.84 USDT。综合费率是 0.84 ÷ 1,000 = 0.084%。这个 0.084% 只是三笔结果的加权平均,不是平台另设的一档费率。整张订单统一按 0.08% 或 0.10% 重算,都会失真。币安普通用户现货挂单、吃单目前都是 0.100%,你的账单里两种成交可能费率相同;这里设成不同,只是为了看清逐笔计算。
成交价格也变化的例子
再假设一张限价 101 USDT、买入 5 枚 B 币的订单。它先以 98.00 和 99.20 吃掉市场里的两档卖单,剩余部分以 101.00 留在订单簿,后来作为挂单成交。费率仍是假设的,费用继续以 USDT 展示。
| 成交 | 数量 × 价格 | 费用计算 |
|---|---|---|
| D 吃单 | 1.50 × 98.00 | 147.00 × 0.10% = 0.14700 |
| E 吃单 | 2.25 × 99.20 | 223.20 × 0.10% = 0.22320 |
| F 挂单 | 1.25 × 101.00 | 126.25 × 0.08% = 0.10100 |
总成交额是 147.00 + 223.20 + 126.25 = 496.45 USDT,总手续费是 0.14700 + 0.22320 + 0.10100 = 0.47120 USDT。数量加权平均成交价为 496.45 ÷ 5 = 99.29 USDT,但不能用 99.29 再乘一个统一费率倒推原手续费,因为三笔的成交方式不同。按这些假设,整张单的综合费率约为 0.47120 ÷ 496.45 = 0.09491%,它只适合拿来粗略复核。
这个例子里,订单吃到了第二档的 99.20,剩下的部分又按 101.00 的限价成交,平均成交价因此高于第一档的 98.00。这段差距来自成交价格,不是手续费,不要算进手续费那一栏;想单独算出它,可以按买卖价差和滑点怎么核对的方法来。
成交数量为什么不等于净到账
真正核钱包余额时,还要看手续费从哪种资产扣除。币安的 BNB 抵扣说明提到,手续费默认从你这笔交易收到的资产里扣:买入扣买到的币,卖出扣收到的计价币(如 USDT);开启 BNB 抵扣且符合条件时,改扣 BNB。具体扣了哪种币,看成交明细。
假设以 25.00 USDT 限价买入 8 枚 C 币,订单先吃掉 24.80 和 24.90 两档卖单,剩余部分挂在 25.00,最后成交 6 枚,余下 2 枚取消。以下费率同样是假设的,并假设手续费从买到的 C 币中扣除。
| 成交 | 数量 × 价格 | 扣费计算(C 币) |
|---|---|---|
| T101 吃单 | 2 × 24.80 | 2 × 0.10% = 0.0020 |
| T102 吃单 | 3 × 24.90 | 3 × 0.10% = 0.0030 |
| T103 挂单 | 1 × 25.00 | 1 × 0.08% = 0.0008 |
成交数量合计为 2 + 3 + 1 = 6 枚 C 币,成交额为 49.60 + 74.70 + 25.00 = 149.30 USDT,手续费合计为 0.0020 + 0.0030 + 0.0008 = 0.0058 枚 C 币。在这个假设里,净收到数量为 6 - 0.0058 = 5.9942 枚 C 币。未成交余量仍是 8 - 6 = 2 枚 C 币。
所以,订单页显示买到 6 枚,钱包只增加 5.9942 枚,并不一定是少成交了。先看 0.0058 枚 C 币是否正好是手续费。若成交明细显示改扣 BNB,就不能再从 6 枚 C 币中减费。
卖出也是同样道理。若明细显示卖出 6 枚 C 币,成交额为 149.30 USDT,手续费为 0.1493 USDT,那么按同样的假设,净收到 149.30 - 0.1493 = 149.1507 USDT。
部分成交后撤单,手续费怎么算
“已取消”不等于整张订单没有成交。先看累计成交数量,再算:
未成交余量 = 委托数量 - 累计成交数量
假设限价买入 10 枚 D 币,其中 4 枚以 50 USDT 成交,余下 6 枚取消。已成交金额为 4 × 50 = 200 USDT。若假设该笔费率为 0.10%,理论手续费是 200 × 0.10% = 0.20 USDT。取消的 6 枚没有成交,不能把 10 × 50 = 500 USDT 当作计费金额,也不能因为订单最后显示取消就把已经产生的 0.20 USDT 抹掉。
| 项目 | 数量(枚) |
|---|---|
| 原始委托数量 | 10 |
| 成交明细数量合计 | 4 |
| 取消时未成交余量 | 6 |
| 数量关系 | 4 + 6 = 10 |
若订单页显示累计成交 4 枚,成交明细合计只有 3 枚,先检查日期范围是否漏掉一笔;若合计成了 5 枚,则检查是否把同一笔记录了两次。不要自己编一笔数字把账凑平,因为它没有真实的成交时间、价格和手续费可查。
不同扣费资产要分别合计
同一订单的几笔手续费可能不是同一种资产。假设三笔实际记录分别是 0.00012 BNB、0.00011 BNB 和 0.08 USDT,应写成:
- BNB 手续费:0.00012 + 0.00011 = 0.00023 BNB
- USDT 手续费:0.08 USDT
不能写成“总手续费 0.08023”,因为 BNB 与 USDT 的单位不同。若想统一折成 USDT,可以另记换算时间、换算价格和折算结果,同时保留原币费用。这样才能分清平台实际扣了多少币,以及这些币按某个时点折合多少 USDT。
BNB 抵扣余额不足时
打开 BNB 抵扣并不保证每一笔都扣 BNB。币安官方说明指出,现货账户需要有足够的 BNB;余额不足时,会按手续费和交易总览中列出的原始手续费收取。下单时显示的预计费用也只供参考,最终费用取决于实际成交。
因此,若前两笔扣 BNB,后一笔改扣买到的币或收到的 USDT,先不要认定为重复收费。逐笔核对成交时间、当时可用的 BNB、抵扣状态、实际手续费和扣费资产。没有足够资料解释余额变化时,在备注里写“待平台核对”,不要把猜测当结论。抵扣开关在哪、按折后费率怎么算出 BNB 数量,见开启 BNB 抵扣后怎么核对省了多少。
缺一笔或多一笔时怎么查
把订单记录和成交明细放在一起,从下面三件事开始:
- 确认查的是同一账户、同一现货交易对和同一段时间,并留意时区是否一致。
- 把该订单每笔成交数量相加,看是否等于订单页的累计成交数量;再把每笔成交额相加,对照订单页的成交额。
- 对照成交时间、成交编号、价格、数量、手续费和扣费资产,检查是否遗漏或重复抄录。
同一个订单号出现多行通常是分批成交。两笔成交即使时间、价格和数量都相同,也可能都是真实成交;没确认成交编号前,一笔都不要删。若来自不同页面的两条记录看起来相同,回到官方成交历史核对,确认后只在自己的记录里保留一次。
可以按下面的表格逐笔记录:
| 每笔要记什么 | 怎么填写 |
|---|---|
| 成交时间与交易对 | 按记录抄写,并注明时区 |
| 订单编号与成交编号 | 两项分别记;同一订单可以有多笔成交 |
| 吃单还是挂单 | 看这一笔成交的实际记录 |
| 成交价、成交数量、成交额 | 分别抄下,保留完整小数 |
| 实际手续费与扣费币种 | 例如扣了多少 BNB 或 USDT |
| 备注 | 写明已经核清,或哪一项还要问客服 |
一张订单核完后,再做简单汇总:委托数量、成交数量合计、未成交余量、成交额合计,以及每一种资产各自的手续费合计。交易手续费应与永续合约的资金费用分开核对;后者可参考永续合约资金费用的算法。
算完还差一点,再查这四项
上一节开头的三件事都核过还对不上,再查下面四项:
- 成交方式:是否把整张限价单都按挂单费率计算,忽略了其中的吃单成交。
- 扣费资产:是否把 BNB、买到的币和 USDT 直接相加,或漏掉了某一币种的手续费。
- 历史条件:是否拿现在的费率等级、优惠或抵扣状态去重算过去的成交。
- 小数精度:是否只抄了页面四舍五入后的显示值,遗漏了更小的费用。
需要请平台客服协助时,准备订单编号、成交编号、交易对、成交时间、实际手续费和扣费资产即可。
参考资料
以下官方资料于 2026-09-11 查阅,说明挂单与吃单、手续费扣费资产以及 BNB 抵扣规则;实际费率仍以账户成交时记录为准。
作者:Refqo 编辑部