
图表碰到你的限价,订单却还挂着?那一刻有人按这个价格成交,不代表队列已经轮到你的全部数量。先看订单状态,再查价格方向、已成交量和剩余量。
第一步:订单到底是什么状态?
操作入口可参照币安学院:现货交易入门,再到当前委托和历史记录找原订单。
余额没动,不等于下单失败。这是两件事。先确认自己看的是正确的现货交易对,再打开当前委托、订单历史和成交历史,一项项抄下来:买卖方向、委托价、原数量、已成交数量、剩余数量、订单编号、提交时间。
Binance Spot 开发文档列出了订单状态的官方枚举。网页、App 和导出文件未必显示同样的英文。但定义是通用的,能帮你分清委托有没有进撮合、成交了多少、为什么不再开放。
| 状态 | 含义 | 接下来看什么 |
|---|---|---|
NEW | 委托已被撮合引擎接受 | 方向、价格、订单簿与时效条件 |
PARTIALLY_FILLED | 只有一部分数量成交 | 已成交、剩余数量与分笔手续费 |
FILLED | 委托已经全部完成 | 到成交历史逐笔翻明细 |
CANCELED | 委托已被用户取消 | 取消时间,以及此前是否已有成交 |
REJECTED | 委托未被引擎接受和处理 | 错误原文、余额与交易规则 |
EXPIRED | 按订单规则或交易所条件到期 | GTC、IOC、FOK 与页面给出的到期原因 |
EXPIRED 不只对应一种原因。官方枚举里同时列着 IOC/FOK 的未成交处理、交易所维护等情况。所以别只凭“已过期”三个字下结论。它未必是系统故障,也未必是你操作错了。
买单和卖单的限价方向看反了吗?
成交角色还需区分币安学院:Maker 和 taker,限价单也可能立即吃单。
限价买单填的是你愿意支付的最高价。限价卖单填的是你愿意接受的最低价。假设最近成交价为 100:95 的限价买单,要等卖方愿意在 95 或更低成交;105 的限价卖单,要等买方愿意在 105 或更高成交。
95、100 和 105 只是为了说清方向。它们不是行情,不是目标价,也不是交易建议。真正要比的是委托价和同一交易对、同一市场当时的买一卖一。不是另一个交易对,也不是你后来才看到的最新价。
限价单也不天然等于 maker。买单价格一提交就能吃到现有卖单,或者卖单能吃到现有买单,它就可能立刻全部或部分成交,身份变成 taker。想接着分清执行方式和费用角色,可以看站内现货订单类型说明与手续费核对方法。
价格明明“到过”,为什么还是没全部成交?
官方的币安学院:什么是限价单说明了价格约束与等待成交的关系。
K 线或成交图上触到了目标价,只能说明那一刻有人成交。轮没轮到你的全部数量,是另一回事。至少还要看三样:队列、可成交数量,以及市场是不是同一个。
同价位前面可能已有委托
Binance Academy 的限价单说明写得很清楚:限价单按价格和时间优先进订单簿。同一价格上,更早进来的委托先用掉可匹配数量。所以盘面上闪过一笔同价成交,不等于这个价位上每张单都能成交。
对手方数量可能不够
一笔很小的成交就能让图表画出那个价格,却填不满订单簿里的所有委托。普通 GTC 限价单可以先部分成交,剩下的继续等。已经成交的那部分不会回滚,后来取消剩余委托也不会。
可能看错交易对或市场
先对交易对和市场标签。BTC/USDT 的价格,不能证明 BTC/FDUSD 的订单应该成交。
部分成交后,剩余资产在哪里?
部分成交时,订单记录会把原数量、已成交和剩余数量分开列,成交历史里可能出现一笔,也可能好几笔。可用余额和总资产对不上,先去看这张还开着的剩余委托,以及其他当前委托。别急着猜资产丢了,更别立刻再下一张同方向的单。
决定取消,先对一遍交易对和订单编号。取消只处理还没成交的部分,已经完成的成交仍留在成交历史里。要复算多笔成交,可以把各笔价格和数量手动填进站内分批成交均价计算器。工具不连接账户,也读不到你的真实订单。
止损限价已触发,为什么仍可能没成交?
止损限价有两个阶段。价格条件先触发,然后才生成限价单。触发只是第一步。行情快速越过限价、对手方数量不够、同价队列太长,新生成的这张限价单照样可能挂着不动,或者只成交一部分。
依次查看触发记录、生成的委托和最终状态。止损价决定何时触发,限价决定接受什么价格。
GTC、IOC 和 FOK 怎样改变结果?
GTC(Good Til Canceled):订单留在订单簿,直到成交或取消;IOC(Immediate Or Cancel):立即尽可能成交,未成交部分随后到期;FOK(Fill or Kill):必须立即全部成交,否则整单到期。
所以历史记录里的 EXPIRED,很可能就是时效规则跑出来的结果。界面上有没有这些选项、默认值是哪个,会随产品和版本变。以你提交订单时看到的那个页面为准。
“提交失败”和“挂单未成交”不是同一类问题
提交时直接报错,委托可能压根没进订单簿。Binance Spot 交易规则会按交易对检查价格步进、数量步进、名义价值这些条件:
PRICE_FILTER约束允许的价格范围与tickSize;LOT_SIZE约束数量范围与stepSize;MIN_NOTIONAL或NOTIONAL约束价格乘数量得到的名义价值。
这些参数按交易对设置,也会更新。普通用户不用自己算 API 字段,但要把页面显示的最小数量、最小成交额、价格精度和错误原文完整留下来。别把旧文章里的固定门槛套到所有交易对。委托还没被受理,就转到现货下单规则报错排查。本文剩下的部分,只管订单已经进了状态记录之后的未成交问题。
超时、网络中断、含义不清的报错,要单独处理。Binance Spot API 文档写得明白:接口超时不一定代表撮合失败。这是开发者接口的状态边界,不代表网页或 App 的每条报错都是一个意思。普通用户更稳妥的做法是先翻当前委托和历史记录,确认真的没生成订单,再决定要不要重提。
限价单没成交,按什么顺序排查?
- 用自己保存的官方入口登录,确认看的是现货市场、正确交易对;
- 在当前委托、订单历史和成交历史里找同一个订单编号;
- 记下方向、委托价、原数量、已成交、剩余数量、状态、提交时间;
- 状态是
NEW,就把委托价和买一、卖一比一比,别忘了同价队列; - 是
PARTIALLY_FILLED,已成交和剩余部分分开处理; - 是
EXPIRED,回看 GTC、IOC、FOK 和页面给的到期原因; - 提交时报了明确的过滤规则或余额错误,就按原文查精度、数量、名义价值和可用余额;
- 状态仍然说不清,别连着重提。留好去敏后的订单信息,从账户内官方支持入口问。
求助前应保留哪些记录?
至少记下这些:交易对、市场、方向、订单类型、委托价、原数量、已成交、剩余数量、状态、时效条件、订单编号、时间。错误原文和去敏后的订单信息可以给官方支持。密码、验证码、私钥、助记词、API Secret、远程控制权限,一个都别给。
本文读不到你的账户、订单簿排队位置和实时余额。目标价合不合理、该不该取消、要不要换市价单,同样判断不了。数字资产交易可能造成损失,只承担自己扛得住的那部分。
怎样判断是正常排队,而不是页面卡住?
订单编号能找到、状态仍开放、当前可成交价格还不符合限价条件,这通常是在等待。页面一时没刷新,不值得冒重复下单的风险。
| 证据 | 可以说明什么 | 不能说明什么 |
|---|---|---|
| 有订单编号 | 委托已形成记录 | 不代表一定会成交 |
| 出现部分成交 | 已有数量完成撮合 | 不代表剩余数量即将完成 |
| 委托仍在当前委托 | 剩余部分仍开放 | 看不出前方具体排队量 |
| 图表触及委托价 | 市场曾在该价附近成交 | 不能证明轮到本单 |
网页显示和实时撮合之间会有短暂的刷新差。先重新打开订单记录,按订单编号对一遍。别靠连点提交按钮来试。网络中断如果正好发生在确认那一瞬间,先看订单到底生成了没有。状态还不明就补一张同方向的单,很容易变成重复的风险敞口。
等、取消还是重新报价,要考虑什么?
这个决定文章替不了你。先问自己三句:原来的价格条件还符合计划吗?已经成交的那部分,有没有改变剩下的需求?取消后重新提交,新的成交价格、手续费角色和滑点风险,你接不接受?答不上来就先停手,把记录留好。这比追着行情反复改单更容易控制错误。
取消之前,再对一遍订单编号和剩余数量。取消请求走完,回订单历史看最终状态,再去成交历史把取消前的分笔成交逐笔过一遍。确认旧单确实不再开放,才谈得上要不要另提一张。取消请求处理的这段时间里,市场还在撮合——所以点下取消的那一刻,不是结果。
限价单未成交常见问题
价格触及委托价就一定会成交吗?
不一定。还要看同一市场的队列顺序,以及当时有多少可成交数量。一笔很小的同价成交,填不满所有委托。
取消部分成交订单会撤销已成交部分吗?
不会。取消只处理还没成交的剩余数量。已成交的明细仍留在成交历史里,可以逐笔翻。
看到 EXPIRED 就是系统故障吗?
不是。IOC、FOK 这类时效规则和交易所条件都可能让订单到期。结合订单类型和页面给出的原因判断。