市价单的成交价跟你下单时屏幕上看到的那个价格不一样,是正常的。屏幕上显示的价格只是上一笔成交价,不是你这笔单子的保证成交价。市价单的逻辑是:你告诉系统"我要买XX金额",系统立刻去订单簿上找现在能买到的卖单,一层一层吃,直到把你输入的金额花完为止。
成交价为什么变了:深度 + 滑点
你看到的那个价格,通常对应订单簿最上面那一层(最优价)的挂单量。如果你的买入金额很小,刚好只吃到了这一层,成交价就跟显示价差不多。
但如果你的金额比较大,把最优价那层吃完后,系统会自动去啃第二层、第三层——价格更高的卖单。订单簿越薄(深度不够),你每多吃一层,价格就往上推一点。最终成交价是你吃到所有层的加权平均价,这个平均价通常会高于你最初看到的价格。
| 场景 | 订单簿厚度 | 你的单子大小 | 实际成交价 |
|---|---|---|---|
| 理想情况 | 厚(主流币对,比如 BTC/USDT) | 小额 | 接近显示价 |
| 常见情况 | 一般厚 | 中等金额 | 略高于显示价 |
| 极端情况 | 薄(小币种,深度差) | 大额 | 显著高于显示价,滑点严重 |
OKX 官方文档里提过,市价单的"最差价保护"机制就是为了防止大额订单滑点太离谱,但这并不能消除滑点,只是限制滑点的上限。
还有一个容易被忽略的点:市价买单只能用"金额"下单,市价卖单只能用"数量"下单。所以你输入的是"我要买 1000 U 的币",系统会尽可能接近这个金额去执行,但实际成交金额和数量会因为成交价变动而略有偏差。
操作完成的校验方式
下完市价单后,去订单历史里点开这笔成交记录。页面会显示这笔订单的实际成交均价和成交数量。拿这个价格跟你下单时看到的参考价对比,差异就是滑点。如果滑点超出了你能接受的范围,下次可以考虑改用限价单或者在下单前先看一眼订单簿的深度分布。



