规则与费用
下单数量为什么填不对?小数位和数量步长怎么分
有小数不等于能下单。把数量步长当成尺子刻度,一格一格检查。

你把数量从 1.23 改成 1.230,平台还是不接受;删掉最后一位,反而能下单。看上去像是“小数位不对”,真正起作用的通常是步长:数量必须从规定的起点出发,一格一格地增加,不能停在两格之间。
数量步长可以想成尺子的最小刻度。尺子每格是 0.01,就能填 1.23、1.24,不能填 1.235。末尾补零只改变写法,不改变数值,所以 1.23 和 1.230 在这把尺子上是同一个位置。
小数位只看外表,步长决定哪些数能用
“允许两位小数”很容易理解,却不总是准确。假设步长是 0.05,可用数量包括 0.05、0.10、0.15、0.20。它们看起来有两位小数,但 0.12 仍不合规,因为 0.12 不是 0.05 的整倍数。反过来,步长如果是 5,可用数量可能是 5、10、15,问题根本与小数位无关。
| 步长 | 可用数量示例 | 不能直接使用的数量 |
|---|---|---|
| 0.01 | 1.23、1.24、1.25 | 1.235 |
| 0.05 | 1.20、1.25、1.30 | 1.23 |
| 5 | 5、10、15 | 12 |
表里的数字只讲计算方法,不是 Binance 任何交易对的当前参数。真实参数要按交易对查询,而且会变。
一张订单至少要分清三条数量规则
Binance 公开的现货过滤规则用 LOT_SIZE 表示一组数量条件,其中有最小数量、最大数量和步长。订单数量要同时满足三个要求:不能低于最小值,不能高于最大值,还要正好落在步长格子上。
- minQty:数量下限,回答“至少买卖多少个基础资产”。
- maxQty:数量上限,回答“单张订单最多允许多少”。
- stepSize:增减刻度,回答“数量每次能变化多少”。
这里的“数量”通常用交易对左边的基础资产表示。ABC/USDT 里,数量是 ABC,价格和订单金额则以 USDT 计。把 USDT 金额拿去除以步长,或者拿 ABC 数量去比较最小金额,都会把单位搞反。
市价单还可能出现单独的 MARKET_LOT_SIZE。它同样包含最小数量、最大数量和步长,但只针对市价单。
不要看到 LOT_SIZE 就自行认定所有订单类型都只用这一组条件;应以当前交易对返回的规则和实际下单反馈为准。
为什么末尾补零没有用
1.2、1.20 和 1.200 的大小完全一样,就像一米、1.0 米和 1.00 米是同一段长度。若步长是 0.05,1.20 合规;若步长是 0.07,补多少个零也不能让 1.20 自动变成 0.07 的整倍数。
真正有效的调整,是把数量移到相邻的合法刻度。例如步长为 0.05,1.23 向下的合法数量是 1.20,向上是 1.25。但选择向上还是向下会改变订单金额和风险,不能由一篇教程替你决定。你应先看确认页,确认调整后的数量、预计金额和费用都在自己接受的范围内。
不要用“显示了几位小数”倒推规则。输入框可能隐藏末尾零,资产余额也可能显示更长或更短的小数。唯一可靠的依据是当前交易对的规则字段和订单返回信息。
不用编程,怎样判断数量是否落在格子上
对新人来说,最稳妥的方法不是研究浮点数,而是把步长改写成容易数格子的单位。
- 抄下当前订单适用的 stepSize,保留全部数字。只有它大于零时,才继续下面的除法;如果读到零、字段缺失或无法确认适用规则,先查官方说明与实际报错,不用零作除数,也不自行猜成“规则已停用”。
- 找出第一个非零位。例如 0.00100000 的有效步长是 0.001;0.05000000 的有效步长是 0.05。
- 用订单数量除以步长。如果结果是整数,说明落在格子上;如果还有小数,说明夹在格子之间。
- 再单独比较 minQty 与 maxQty。步长合规不等于上下限也合规。
- 最后计算订单金额,继续检查最小金额规则。
教学示例:stepSize 是 0.002,数量 0.014 除以 0.002 等于 7,所以在步长上;0.015 除以 0.002 等于 7.5,所以不在步长上。即使两者都有三位小数,结论也不同。
手算时不要先把余额四舍五入。比如实际可用数量带有更多小数,界面只显示一部分;你按显示值抄写,可能把本来合法的格子改坏。下单页如果提供“最大”或百分比按钮,也要在确认页检查它生成的最终数量,不能认为按钮一定消除了所有规则冲突。
按金额买入时,数量是谁算出来的
有些市价买单让你输入“打算花多少 USDT”,而不是“打算买多少 ABC”。这种写法里,你输入的是报价资产金额,系统再按可成交价格换算基础资产数量。最终到账数量可能受市场价格、深度、手续费和规则精度影响,不能用输入金额除以屏幕最新价,就把结果当成保证到账数。
限价单则更直观:输入数量和限价以后,两者相乘得到订单金额。但如果你先决定预算,再用预算除以价格得到一个长小数,不能把这个长小数原样塞进数量框。要按当前 stepSize 调整到合法刻度,然后重新计算金额。调整顺序应是“预算只是上限 → 算出候选数量 → 按步长处理 → 回看最终金额”,不能先把金额凑整,再忽略数量规则。
平台可能替界面输入做截断或格式化,也可能直接提示无效精度。不要假设它一定会向下取整,更不要依赖一次成功经验推断所有交易对。确认页显示什么,就按最终提交值检查什么。
为什么卖出全部余额会剩下一点
账户里显示的余额可能没有正好落在卖出步长上。例如余额是 1.237,而步长是 0.01,能按步长表达的最大数量至多是 1.23,余下 0.007 无法直接塞进这一张普通订单。手续费扣在哪种资产、是否有锁定数量,也会影响最终可用值。
这类小额余量常被叫作“零头”,但不要看到零头就认定平台少给了资产。先保留原始余额、可用余额、锁定余额、成交数量和手续费资产,再判断差异来自步长、费用还是未完成订单。也不要为了消掉零头进行一连串没有计划的交易;是否处理、如何处理,应看平台当时提供的官方入口和成本。
规则变了,旧订单和新订单怎么看
交易对精度和过滤参数并不是永久常数。官方会调整部分交易对的价格或数量精度,公开接口也会返回当前规则。因此,旧教程写着“这个币支持八位小数”,不能替代今天的查询。
核对历史成交时,应保留当时导出的原始记录,不要用今天的 stepSize 去改写过去已经成交的数量。核对新订单时,则应读取现在的规则。历史记录回答“当时实际发生了什么”,当前规则回答“现在允许怎样提交”,两者作用不同。
可使用本站现货下单规则查询读取公开的交易对规则。若要核字段定义,可对照 Binance 的现货过滤规则。工具不读取你的账户,公共规则也无法证明你有余额、权限或资格,所以查询通过不等于订单一定接受。
数量报错时,把这张小清单走完
错误提示写“精度”时,先确认它在说价格还是数量
一张限价单至少有价格和数量两个输入。价格也有自己的最小刻度,官方字段叫 tickSize;数量的刻度才是 stepSize。两个字段都可能表现成“小数不合规”,但修法不同。
价格报错要检查价格刻度,数量报错要检查数量步长,不能把数量删一位小数后就认为两边都处理了。
举个教学例子:价格刻度是 0.1,数量步长是 0.01。价格 10.05 不落在 0.1 的格子上,而数量 1.23 可以落在 0.01 的格子上。把数量改成 1.20,仍解决不了价格 10.05 的问题。看完整错误原文和被标红的输入框,能避免在错误的数字上来回试。
从余额算“最多能卖多少”,要向合法格子收敛
假设可用余额是 3.147,数量步长是 0.01。按步长能表达且不超过余额的候选值是 3.14,而不是四舍五入成 3.15。向上取整会超过可用余额,向下处理后还要重新核对最小数量与最小金额。这里的“向下”只是在解释怎样不超出既定余额,不是建议卖出全部。
如果手续费可能从同一种资产扣,或者页面会预留一小部分数量,最终可提交值还可能不同。不要自行写死“余额减某个百分比”的公式。使用页面生成的数量时,也要把确认页当作最终检查点。
表格里的小数为什么看着一样,比较却失败
CSV 打开后,表格可能把 0.01000000 显示成 0.01,把很小的数量显示成科学计数法,甚至把带点号的数字按文字处理。显示形式改变不一定代表原始值被改,但保存覆盖后可能丢失精度。原始文件留一份不动,工作副本再做计算。
做“数量 ÷ 步长”检查时,尽量使用记录原始字符对应的数值。若计算结果出现 6.999999999 之类的尾差,不要凭肉眼直接判失败;回到平台规则与订单提示核对。
普通用户无需自己实现交易程序,手算只是帮助定位哪一类条件可能不合规。
价格一变,合法数量也可能撞上金额门槛
把数量调到正确步长,只解决了“格子”问题。限价变低以后,同样数量对应的订单金额会变小,可能又低于最小金额;限价变高以后,订单金额和所需余额会变大。每次改价格,都重新算一次价格乘数量,不要沿用上一步的金额。
教学示例:合法数量是 2.50 个,原限价为 4,订单金额是 10;把限价改成 3.5 后,数量仍符合步长,但金额变成 8.75。是否过线取决于当前最小金额规则。数字不代表真实交易对。
同理,按预算反推数量时,先处理步长,再回算最终金额;若回算结果不符合预算或金额规则,就停止并重新选择输入。不要同时乱改价格、数量和订单类型,否则下一条报错出现时仍无法知道是哪一步起作用。
把每次候选数量写在纸上逐项划掉,也比连续点击提交更清楚,更不会把偶然成功误当成固定规则。
别把另一个交易对能用的数量照搬过来
同一种币换了报价资产,交易对就变了,数量规则也可能不同。ABC/USDT 能填的数量,不代表 ABC/另一种报价资产也接受。复制旧订单时,先重新读取新交易对的最小数量和步长,再检查订单金额。
页面切换交易对后,也要确认输入框里的旧数字有没有被保留。交易对已经变了、数量却沿用上一页,是很多“刚才还能下单,现在为什么不行”的来源。
- 产品是不是现货,而不是合约、杠杆或闪兑?
- 交易对有没有看反,数量单位是不是左边的基础资产?
- 订单类型适用 LOT_SIZE、MARKET_LOT_SIZE,还是两者中的具体条件?
- 数量是否在 minQty 与 maxQty 之间?
- 只有当前适用的数量步长大于 0 时,才检查数量除以 stepSize 后是否为整数;若步长返回 0,不拿它作除数,仍要核对其他适用的数量与金额条件。
- 价格乘数量后的金额是否也达到最小金额?
- 可用余额是否足够,是否有一部分资产被开放订单锁定?
如果仍然失败,记下交易对、订单类型、输入数量、输入价格、查询时间和完整错误文字。截图时遮住 UID、余额、邮箱等无关信息。排查精度只需要规则与输入值,不需要密码、验证码、API Key,更不需要把整份账户记录交给陌生人。