括号订单(bracket order)

括号订单(bracket order)指的是一个被两侧离场单同时保护起来的头寸:多头的入场价下方挂止损、上方挂止盈(空头则相反),两张单子互相关联,其中一张成交,另一张随即被撤销。市场还没决定先碰到哪一边,这个括号就已经把这笔交易的风险和回报都写死了。

Senzoukria · 术语表 · 更新于 2026 年 9 月


一个括号由哪几部分组成

  • 入场单:开仓用的市价单、限价单或止损单。
  • 亏损一侧的离场单:挂在交易逻辑被证伪的位置上的止损单。
  • 盈利一侧的离场单:挂在预期行情被认为已经走完的位置上的限价单。
  • 两者之间的关联:任意一侧成交时撤销另一侧,免得账户上留下一张无头寸对应的裸单。

关联逻辑跑在哪里

「成交一单即撤另一单」这件事,可以由券商的服务器处理,可以由支持该功能的交易所处理,也可以由交易者本机上的软件处理。区别会在断线的那一刻暴露出来:服务器端的关联在应用离线时照样生效,客户端的关联则不然。你这条链路提供的是哪一种,属于风控方案的一部分,不是细节。

在成交之前还是之后挂

在入场单成交之前就算好的括号,前提是先假定一个入场价。如果入场用的是市价单、而订单簿又在动,真实成交价就可能与假定值不同,此时离假定价固定距离的那张止损,承担的已经不是当初计划的风险了。把两张离场单挂到已经建立的头寸上、距离从真实成交价量起,说出来的才是实际承担的风险。代价是成交与保护之间有一小段无保护的窗口;交易者是明明白白地接受它,而不是被一个预先算好的括号骗过去。

在 Senzoukria 里

Trading 页面的下单窗口不会在成交之前先挂括号。窗口里的「Stop (ticks)」和「Risk ($)」两栏只是仓位计算辅助:它们按你填入的预算,反推出「这么宽的止损大约该下多少手」,本身不发出任何订单。保护是挂到已建立头寸上的——用券商账户面板里的「Set stop / target」,或者在图表上想要的价位右键。图表会把结果画成 LONG / SL / TP 三枚药丸标签;交易台的「Protections」(保护)阶段(「Exit orders received」)会逐个头寸列出券商回报的「Loss-side exit」(亏损侧离场单)和「Profit-side exit」(盈利侧离场单),同一侧多出来的单子则单独计为「{n} other working orders on this side」。只有当券商把这张止损列在在途订单里时,它才算数;收到回报也不等于覆盖量足够或一定能成交。

常见误区

  • 券商还没确认两张离场单,就相信图表上画出来的括号。
  • 入场走的是市价单、行情又快,却按计划中的入场价来算仓位。
  • 关联逻辑跑在客户端,却以为它能扛过一次断线。
  • 止盈只按盈亏比推出来,而不是放在市场真正表现过的价位上。

其他语言版本

常见问题

括号订单和 OCO 订单是一回事吗?
OCO(one-cancels-the-other,一单成交即撤另一单)这对单子,正是括号中离场的那一半:两张单互相关联,一张成交就撤掉另一张。括号在此之上还包含了开仓的入场单。日常使用里两个词的界线本来就很模糊,一个带着关联止损和止盈的头寸,通常就被说成「上了括号」。
为什么有的平台不肯在成交之前挂括号?
因为成交之前入场价是未知的,而从一个猜出来的价格量出的止损距离会把风险说错。把两张离场单挂到真实头寸上,能让显示出来的风险保持诚实,代价是成交之后有一小段无保护的窗口。
如果券商只回报了一侧的离场单怎么办?
那么不管图表画成什么样,这个头寸都没有上括号。请到券商那边查在途订单,把缺的那一侧补上。两侧剩余数量不相等,同样需要这么查一遍——一次部分成交就足以让两侧对不上。

继续阅读