你挂了张限价单,价格也碰到了,但就是没成交。这种事在 Polymarket 上比你想象中常见——问题通常不在价格,而在"成交"这件事本身。
核心结论:价格到了 ≠ 单子就能成
成交需要同时满足三个条件:你的出价≥对方的卖价、对手盘数量足够、撮合后链上结算成功。最后一个环节经常被人忽略,但恰恰是 Polymarket 最不稳定的地方。
Polymarket 用的是一个链下撮合、链上结算的混合模式:订单在链下匹配,速度很快,但最后一步要回到 Polygon 链上完成资金划转。这中间有个时间差——链下显示成交了,不等于链上真的结算了。
订单不成交,从两个方向排查
方向一:价格和深度的问题(最常见)
[做什么]:检查你挂单的价格在当前订单簿里是不是"最优卖价"或"最优买价"。
[怎么做]:打开该市场的订单簿,看卖一(最低卖价)和买一(最高买价)。你的买单价格如果低于卖一,就会排在队列后面等。等多久,取决于前面有多少单子、有没有人愿意以更低价格卖给你。
[完成标准]:能确认你的报价是目前订单簿里的最高买价或最低卖价。
如果价格没问题,接下来看深度。你的买单数量如果大于那个价位上的挂单总量,系统不会帮你"拆成多笔慢慢吃"——FOK(全成交或取消)类型的订单会直接失败。流动性差的市场尤其容易出现这种情况,短期市场(比如加密价格预测)里这种情况很常见。
方向二:链上结算失败("幽灵成交")
[做什么]:检查订单状态是否显示"成交"但最终没有生效。
[怎么做]:打开"当前委托"或"历史委托",看状态。
情况 A:显示"matched"或"成交",但最终没有持仓或资金变动。
这可能是幽灵成交(Ghost Fill)——链下匹配成功了,链上结算失败了。Polymarket 的 V2 版本修复了部分此类问题,但链下撮合和链上结算之间的时间差让这个问题无法完全根除。
[怎么办]:等待订单自然过期(系统会释放资金),或重新下单。这种情况在你这边没有可操作的补救措施。
情况 B:显示"live"或"挂单中"。
就是还没成交,回到方向一的逻辑继续排查。
风险提醒:在流动性差的市场上挂限价单,可能挂几天都没动静。而且一旦事件临近结算、价格剧烈波动,你的挂单可能瞬间被击穿——不是因为价格没到,而是因为盘口没有对手盘接你的量。下单前看一眼订单簿深度,如果卖一档位的挂单量远小于你要买的量,要么调高价格,要么降低数量。
排查清单
价格检查:你的报价是不是当前订单簿里的最优价?
深度检查:该价位上的对手盘数量够不够吃你的单子?
订单类型检查:如果用了 FOK,对手盘不足会直接失败。
状态检查:订单是否显示"matched"但实际没成交?如果是,可能是幽灵成交,等系统处理。



