市价单、限价单、止损单差在哪?你要的是成交,还是价格
第一次打开下单窗口,除了「买入」「卖出」,还有一排看不太懂的选项:Buy Limit、Sell Limit、Buy Stop、Sell Stop。
想等跌回来一点再买,选哪个?想等涨破才追,又是哪个?随便挑一个,结果常常是:单子挂了一整天没动,或是成交在你没想到的价格。
差别不在买或卖,在你要的是什么:成交、价格,还是「触到才动」。
这是 MASQuant 迈思量化「交易学院 · 新手实务」第八篇。前七篇讲的是合约规格、手数、杠杆、止损、点差、隔夜利息,还有保证金不够时的追缴与强制平仓;这一篇回到按下提交前的最后一步:用哪一种单提交出去。
先讲结论
市价单保证成交、不保证价格;限价单保证价格、不保证成交;止损单等价格触到才提交,提交后按市价成交。
先想清楚这笔单要的是哪一个,再决定用哪一种。
市价单:现在就要,用现在的价格
市价单(Market order)不指定价格,用市场上现在能成交的价格,立刻成交。跟第五篇〈点差是什么?〉讲的一样:买,用买价(Ask)成交;卖,用卖价(Bid)成交。
它保证成交(市场开着、有报价、保证金也够的前提下),但不保证价格:从提交到成交有一点时间差,报价可能已经变了。成交价跟你看到的价格不一样,叫滑点(Slippage)。平常差距通常很小;行情很快(例如重要数据公布)或流动性差(交易清淡、附近愿意报价的量很少)时,可能变大,方向也不固定。
限价单:指定一个更好的价格,等它来
限价单(Limit order)是指定一个比现价更有利的价格,挂着等价格来:买的挂在现价下方(Buy Limit),卖的挂在现价上方(Sell Limit)。
它刚好跟市价单相反:保证价格——成交价只会是你指定的价格或更好;不保证成交——价格没来到就不会成交,差一点点也一样。有些市场就算价格碰到了,还要看挂单排队的顺序与数量。
止损单:价格触到了,才用市价提交
止损单(Stop order)是设一个触发价,价格触到了才提交,提交后就是一张市价单,按当时的价格成交。挂的方向跟限价单相反:买的挂在现价上方(Buy Stop),卖的挂在现价下方(Sell Stop)。
名字里有「止损」,但止损只是用途之一:
- 止损出场:买入后跌到某个位置就卖出。第四篇〈止损怎么设?〉的止损,在 MT5 是填在单子上的止损栏位(S/L),运作方式一样。
- 突破进场:涨破某个位置才买,或跌破才卖——要价格先走过那条线,再动作。
因为触发后按市价成交,止损单保证的是「触到就提交」,不是成交价——这就是第四篇说止损不保证按设定价格成交的原因(举例用的数字,不是真实行情):
多单止损设在 95,周五收在 97
周一开盘直接跳到 92(中间的价格没有交易过,叫跳空)
→ 一开盘就触发,出场价大约 92,不是 95
股票、期货的下单软件也有市价、限价之分;「触到才提交」这一类,有的叫止损单,有的叫触价单或条件单,细节各家不同。认名字不如认机制。
一张表整理
| 市价单 | 限价单 | 止损单 | |
|---|---|---|---|
| 保证什么 | 成交 | 价格(或更好) | 价格触到就提交 |
| 不保证什么 | 价格(可能滑点) | 成交 | 成交价(触发后按市价,可能滑点) |
| 挂在现价哪一边 | 不用挂,立刻成交 | 买在下、卖在上 | 买在上、卖在下 |
| 适合什么情况 | 现在一定要成交 | 要更好的价格,没等到也能接受 | 等价格先走过某条线(突破、跌破)才动作 |
挂的方向可以这样记:限价单挂在「对你比较划算」的那一边;止损单挂在「价格要先走过去」的那一边。
举个好算的例子
(这是举例用的数字,不是真实行情;先不管买价和卖价的差距)
假设现在的价格是 100:
想现在就买 → 市价单
想等跌到 98 再买 → Buy Limit 98(买的限价单,挂下方)
想等涨破 102 才追 → Buy Stop 102(买的止损单,挂上方)
想等涨到 102 再卖 → Sell Limit 102(卖的限价单,挂上方)
想等跌破 98 才卖 → Sell Stop 98(卖的止损单,挂下方)
「等跌到 98 再买」比现在便宜 2,「等涨破 102 才追」比现在贵 2。用止损单追突破,是多付一段价格,换一个「真的涨破了」的确认,代价是涨破后也可能跌回来;用限价单等回调买得便宜,代价是价格可能根本不回来。这是取舍,不是对错。

常见错误
一、想等突破,却挂成限价单
想等涨破 102 才买,却挂了 Buy Limit 102——意思是「102 或更便宜都愿意买」,现价 100 已经符合。有的平台会让它立刻成交,你在还没突破的 100 就买入了;MT5 则不接受,买的限价单必须在现价下方。反过来,想等 98 捡便宜却挂 Buy Stop 98,一样挂错边。挂之前先确认:这张单在现价的哪一边。
二、以为限价单一定会成交
价格差一点点没到,单子就一直挂着。在 MT5 还要注意:多数外汇与差价合约品种的 K 线用卖价画,但买的挂单看买价(Ask)触发——图上看起来碰到你的 Buy Limit 了,买价可能还差一个点差。要出场却用限价单,也一样:价格不来,就出不去。
三、以为止损单一定按设定价成交
触发后就是市价单,跳空或行情急动时会有落差,实际亏损可能比「止损距离 × 手数」算的更大。
四、重大消息时照常用市价单
数据公布前后行情跳得快,点差也可能变大好几倍(第五篇讲过),滑点和点差会一起放大。不是不能用,而是这时「保证成交」的代价可能特别高;不是非现在不可的单,等报价稳一点,也是一种选择。
在 MT5 怎么下
- 按 F9(或工具栏的新订单 New Order)打开新单窗口。
- 市价成交:类型(Type)选市价执行(Market Execution;依平台设置也可能显示为 Instant Execution 等),填手数,按卖出(Sell)或买入(Buy)。
- 挂单:类型选挂单(Pending Order),再选 Buy Limit、Sell Limit、Buy Stop、Sell Stop,填价格(Price),可一起填止损(Stop Loss)、止盈(Take Profit)与到期(Expiration),按下单(Place)。
- 价格放错边,平台不会接受;有些品种还规定要离现价至少一段距离(品种规格的 Stops level)。
- 挂好的单在工具箱(Toolbox,Ctrl+T)的交易(Trade)标签页,按右键可修改或删除。
挂单类型还有 Buy Stop Limit、Sell Stop Limit:触价后不提交市价单,而是改挂一张限价单(例如涨破后,等回落到某个价格才买)。
常见问题
市价单和限价单差在哪?
市价单用现在的价格立刻成交,保证成交、不保证价格,可能滑点。限价单指定比现价更有利的价格等它来,保证价格(或更好)、不保证成交。
止损单是什么?会按我设的价格成交吗?
价格触到你设的触发价才提交,提交后变成市价单成交,常用来止损出场或突破进场。它保证触到就提交,不保证成交价,跳空或行情急动时可能滑点。
Buy Limit 和 Buy Stop 怎么分?
都是先挂着的买单。Buy Limit 挂在现价下方,等跌到比较便宜才买;Buy Stop 挂在现价上方,等涨破才买。卖的相反:Sell Limit 挂上方、Sell Stop 挂下方。
限价单为什么一直没成交?
最常见的是价格没来到你指定的价格。在 MT5,买的挂单看买价(Ask)触发,但 K 线多半用卖价画,图上看起来碰到了,买价可能还差一个点差。
结语
第一篇说先看规格,第二篇说先算手数,第三篇说保证金不是止损,第四篇说止损放在你看错的地方,第五篇说一进场就是负的很正常,第六篇说持仓过夜要把隔夜利息算进成本,第七篇讲保证金不够时的追缴与强制平仓。这一篇讲的是按下提交前的最后一个选择:用哪一种单。
三种单没有好坏,差在各自保证的东西不同。
市价单要的是成交,限价单要的是价格,止损单要的是确认。
风险揭露:CFD 属于高风险金融产品,可能导致快速资金损失。过往业绩不代表未来结果,所有策略与回测仅供参考,不构成投资建议。市价单与止损单不保证成交价格,限价单不保证成交,行情急动、跳空或流动性不足时可能滑点;实际可用的下单类型与成交方式依平台、产品及账户类型而异。交易前请充分了解本公司风险揭露条款。
延伸阅读:



