GONJUKUcost & risk desk

首页/文章/合约仓位怎么算

合约仓位怎么算:先定止损亏多少,再倒推开多大

陆嘉行 · 发布 2026-10-05 · 更新 2026-10-05 · 约 7 分钟 ·

抽象折线图,一条黑色折线在一条水平虚线上方起伏,其中一点被红圈标出,红色虚线从这一点落到底部刻度
止损价是先划好的那条线,仓位大小从它往回算。

开多大仓位,不从「放多少保证金」或「开几倍」算起,而是从「止损打到时最多亏多少钱」往回推:仓位价值 = 这一单愿意亏的金额 ÷ 每 1 USDT 仓位在止损时的损耗率,损耗率要把止损距离、滑点预留和开平两次手续费都算进去。

假设账户 2,000 USDT,这一单最多亏 20 USDT,BTCUSDT 永续 60,000 开多、58,800 止损,按普通用户吃单 0.05%、滑点预留 0.1% 算,下单数量是 0.015 BTC,仓位价值 900 USDT。杠杆不在这条式子里,它只决定这 900 USDT 占多少保证金,以及强平会不会先于止损触发。

以损定仓的公式:分母不只是止损距离

只用「仓位 = 风险金额 ÷ 止损距离」,算到的是价格从开仓价走到止损价这一段。在本文开平仓都收吃单手续费的假设下,还要加上开仓、平仓两笔费用。止损市价单的成交价也可能差于触发价,这部分滑点需要另留预算,不能当成零。

把这三样都折成「每 1 USDT 仓位价值会亏多少」,加在一起当分母:

损耗率 ≈ 止损距离 + 滑点预留 + 2 × 吃单费率

仓位价值 = 愿意亏的金额 ÷ 损耗率;下单数量 = 仓位价值 ÷ 开仓价,按数量步长向下取

这套金额算法用于 USDT 等报价币结算的线性合约,不直接套用币本位反向合约。止损距离做多是(开仓价 − 止损价)÷ 开仓价,做空是(止损价 − 开仓价)÷ 开仓价。上式把开平两次手续费都按开仓价值估算:多单止损平仓的价值更低,这样略偏保守;空单止损平仓的价值更高,这样会少算平仓手续费。做空或需要精算时,用下面这条式子。

每单位币的预计损失 = |开仓价 − 预计止损成交价| + 开仓价 × 开仓费率 + 预计止损成交价 × 平仓费率

下单数量 = 亏损预算 ÷ 每单位币的预计损失,再按数量步长向下取整

预计止损成交价要先计入滑点:若滑点按止损触发价的比例估算,多单用「止损价 ×(1 − 滑点率)」,空单用「止损价 ×(1 + 滑点率)」。例如 60,000 做空、61,200 止损,滑点假设 0.1%,开平费率各 0.05%,预计成交价为 61,261.2,每 BTC 预计损失为 1,261.2 + 30 + 30.6306 = 1,321.8306 USDT;20 USDT 预算对应约 0.01513 BTC。仍须向下取整,不能把取整前的数当成可直接下单的数量。持仓期间另有应付资金费时,还要先从亏损预算中扣出相应预留。

2,000 USDT 账户、止损 2%:一步步算出 0.015 BTC

下面的账户金额、开仓价、止损价、亏损上限和滑点都是演示假设;费率及下单限制的出处放在文末。60,000 是本站强平价系列文章沿用的示例开仓价,不是行情判断;「每单最多亏账户的 1%」也只是举例用的数,你的上限由你的账户和承受力定。

  1. 愿意亏的金额:2,000 × 1% = 20 USDT。
  2. 止损距离:(60,000 − 58,800)÷ 60,000 = 2%。止损价应该放在「价格到这里说明我判断错了」的位置,先定它,再算仓位;反过来为了凑一个好看的仓位去挪止损,这套算法就失去意义了。
  3. 损耗率:2% + 0.1% + 2 × 0.05% = 2.2%。
  4. 仓位价值:20 ÷ 2.2% ≈ 909.09 USDT。
  5. 下单数量:909.09 ÷ 60,000 ≈ 0.01515 BTC。BTCUSDT 的数量按 0.001 一档,向下取到 0.015 BTC,仓位价值 900 USDT。
  6. 复核:900 × 2.2% = 19.8 USDT,没有超过 20。

按实际成交逐笔算一遍,结果在同一位置:开仓手续费 900 × 0.05% = 0.45;止损按 58,800 再差 0.1% 成交,成交价约 58,741.2,价格亏损 0.015 ×(60,000 − 58,741.2)≈ 18.88;平仓手续费约 881.12 × 0.05% ≈ 0.44。合计约 19.77 USDT。

只按价格距离算,会多开多少

同一笔单子,如果分母只放 2%:20 ÷ 2% = 1,000 USDT,折 0.01667 BTC,向下取到 0.016 BTC,仓位价值 960 USDT。

开仓前看一眼,「960 × 2% = 19.2 USDT」,好像还在预算里。按同样的费率和滑点假设估算:960 × 2.2% ≈ 21.1 USDT,超出预算约 1.1 USDT,相当于计划亏损的 5.6%。实际成交的滑点可能比假设更小,也可能更大。

止损越近,这笔漏算越显眼。止损距离 0.5% 时,0.2% 的费用和滑点占到损耗率的将近三成(0.2 ÷ 0.7 ≈ 28.6%),只按价格距离算,会按 4,000 USDT 开仓,实际该开约 2,857 USDT(20 ÷ 0.7%),多开四成。短线、止损贴得近的单子,最不能省掉分母里那两项。吃单费率本身能压到多低,看 maker 和 taker 差多少;把自己的费率和成交次数代进去,用手续费成本计算器。

杠杆开几倍,不改变止损时亏多少

仓位价值定下来以后,止损时亏多少就基本定了:0.015 BTC 从 60,000 跌到 58,800,开 2 倍还是开 20 倍,价格亏损都是 18 USDT。倍数改的是另外两件事:要占用多少保证金,强平价离开仓价多远。

下表还是这张 900 USDT 的多单,逐仓,不追加保证金,按第一档维持保证金率 0.40%、速算数 0、不计手续费。强平距离 =(1 ÷ 倍数 − 0.004)÷(1 − 0.004),推导见合约爆仓价是怎么算出来的。表中先后顺序假设止损也由标记价格触发,价格连续下行且没有触发保护阻止执行;若止损看最新价,两种价格可能不同步,不能只凭距离判断谁先触发。

倍数占用保证金(USDT)理论强平距离和 2% 止损比
2 倍45049.80%止损先到
5 倍18019.68%止损先到
10 倍909.64%止损先到
20 倍454.62%止损先到,只差约 2.6 个百分点
50 倍181.61%强平先到

50 倍那一行占用保证金 18 USDT,理论强平价约为 60,000 ×(1 − 1 ÷ 50)÷(1 − 0.004)= 59,036.14 USDT,高于 58,800 的止损价。在表中同用标记价格、连续下行的假设下,先碰到的是强平线。此时不能再用正常止损成交的 19.8 USDT 估算强平损失,强平还涉及清算费用和实际成交。

在强平风险这一项上,至少要让强平价落在止损价外面,并留出余量,容纳资金费扣款和不同价格的偏差;这仍不能保证止损成交。余量留多少、倍数上限怎么反推,杠杆开几倍合适里有一条现成的式子。用强平价计算器把实际参数填一遍,检查与这张简化表的差别,尤其要计入表中未扣的开仓手续费。

算出来不到最小一单,该怎么处理

账户小的时候,倒推出来的数量可能比合约允许的最小下单数量还小。假设账户只有 200 USDT,同样每单最多亏 1%,也就是 2 USDT:

  • 止损 2%:2 ÷ 2.2% ≈ 90.9 USDT,折 0.0015 BTC,向下取到 0.001 BTC,仓位价值 60 USDT。按文中引用的规则,0.001 BTC 达到最小下单数量,60 USDT 也超过 50 USDT 的最小名义价值。这只通过了数量和名义价值两项检查,还需满足可用保证金、订单类型及下单时的其他限制。
  • 止损 5%:损耗率 5.2%,2 ÷ 5.2% ≈ 38.5 USDT,折 0.00064 BTC,不到 0.001 BTC。按 60,000 的示例价,最小一单 60 USDT,止损时约亏 60 × 5.2% = 3.12 USDT,是账户的 1.56%,超过了你给自己定的 1%。

第二种情况,能选的只有三条:接受这一单亏损超出上限,按最小一单开;把止损收近——前提是收近之后它仍然是「判断错了」的位置,而不是为了凑数;或者这一单不做。加杠杆帮不上忙,它不改变仓位价值,也就不改变止损时亏多少。最小下单数量和最小名义价值两道门槛怎么判断,在合约最少多少钱能开一单里按 2026 年 10 月的交易规则页逐个合约列过。

止损单按哪个价格触发,什么时候会亏得比算的多

上面所有的数都默认一件事:价格到了止损价,止损单触发,以接近止损价的价格成交。这一步有三个地方会走样。

第一,触发看的是哪个价格。币安 U 本位合约的接口文档里,止损市价单(STOP_MARKET)有一个触发价格类型参数 workingType,可选 MARK_PRICE(标记价格)或 CONTRACT_PRICE(最新价格),不指定时默认是最新价格。普通成交 K 线由成交价格形成,强平看的是标记价格;若你查看的是普通成交 K 线,却用标记价格触发止损,图上可能已经碰到止损价而单子还没触发,反过来也一样。查看图表时先确认有没有切到标记价格 K 线。

第二,价格保护。同一份文档里,止损市价单有个 priceProtect 参数,打开后,触发那一刻标记价格和最新价格的偏离如果超过该合约的价格保护阈值,单子不会触发。它防的是插针被扫,代价是极端行情里止损可能不执行。

第三,触发之后是市价单。按市价成交就要付吃单费率,成交价取决于那一刻的盘口;行情跳空或者盘口很薄时,实际成交价可以比 0.1% 的预留差得多。式子里的滑点预留是你给自己留的估计,不是交易所给的保证,预算按 20 USDT 算,实际亏损仍可能超过它。

还有一笔不在这张账里:持仓跨过资金费结算时点,如果你是付费方,资金费会另外扣。假设某次结算费率 0.01%,900 USDT 仓位付 0.09 USDT,单次不多,拿得久就要加进预算。怎么折算,见资金费率:持仓成本里不能漏算的那一块。

这篇用到的数

吃单 0.05%:本站 2026 年 8 月截取的币安合约手续费页中普通用户的 USDT 档,不是所有合约的统一费率,换成你自己的档位重算。BTCUSDT 最小下单数量 0.001 BTC、最小名义价值 50 USDT:币安U本位合约交易规则页,2026-10-05 复核。止损触发价格类型与价格保护:币安 U 本位合约下单接口文档中 workingType、priceProtect 两个参数的说明,2026-10-05 查阅。账户、开仓价、止损价、亏损上限和滑点预留均为演示假设;示例金额可按文中的式子复算。

常见问题

算出来的仓位,杠杆该开几倍?

同样的数量、开平仓成交价和费率下,调杠杆不改变这笔交易的盈亏,但会改变初始保证金需求。先定仓位,再检查保证金和强平距离。本文不追加保证金的逐仓多单里,50 倍的理论强平距离约 1.61%,短于 2% 止损距离;若止损也用标记价格且价格连续下行,强平线会先被碰到。止损若用最新价,须另考虑它与标记价格的偏离,不能把表中的顺序当保证。

止损单触发了,实际亏损为什么比算的多?

止损市价单触发后按市价成交,要付吃单手续费,成交价也可能比触发价更差,行情跳空时差得更多。如果开了价格保护,标记价格和最新价格偏离超过该合约的阈值时,止损单不会触发。持仓跨过资金费结算时点,资金费也会另外扣。式子里的滑点预留只是估计,不是上限。

全仓模式下也这样算吗?

止损时亏多少的算法一样:仓位价值 = 愿意亏的金额 ÷ 每 1 USDT 仓位的损耗率。区别在强平:全仓用整个合约账户余额撑这一单,强平价通常更远,但一旦止损没执行,亏掉的可能不止这一单的预算。