之前写过盈透的订单教程,本文来讲讲嘉信理财(thinkorswim 交易软件)的高级订单。
如果你对盈透那几篇感兴趣,请看:
关于嘉信订单的基础知识,在这几篇文章中也有提到,可以再复习一下:
美股券商订单类型(thinkorsiwm 为例,其他券商类似)
注意:本人主要讲 thinkorswim 软件的操作,嘉信理财我只推荐这款交易软件
本文后面会统一把 thinkorswim 简称为 TOS
由于 TOS 有多个高级订单可以选,本文作为第一篇,会覆盖:
- 高级订单的入口
- 独立 OCO: 已有仓位挂止盈止损
- 1st trgs OCO:开仓后自动止盈止损
- Link:绝对价格/相对价格的设置
- 1st trgs 2 OCO / 3 OCO:分档出场
- 已混点与决策表
第二篇:不会互斥取消的多单结构:Blast All、1st trgs All、1st trgs Seq → 嘉信高级订单技巧(2)
TOS 高级订单入口
手机 App 操作入口
在下单页面,点击左下角「More / 更多」,点击 「Create Advanced Order / 创建高级订单」,即可打开高级订单编辑界面:

其中右上角可以切换高级订单类型,下方则是订单详情设置了。
一般高级订单都是多个订单的组合,上方绿色边框的是你的主订单,也就是你在点击 「创建高级订单」 按钮之前所设置的订单。
下方点击➕就可以添加订单。
电脑软件操作入口
在电脑端的 thinkorswim,无论是你点击了 「Buy」 「Sell」 按钮,还是点击了 「Bid」、「Ask」 报价,还是右键菜单选择 Buy 或者 Sell,都会触发弹起底部的订单编辑器(Order Entry Tools)
在与提交订单的绿色按钮同一行的左边,即可看到高级订单的入口,默认是 「单个订单 / Single」
点击就会展开高级订单下拉菜单:
电脑端的差异就是,它不会另外打开一个编辑高级订单的界面,你需要在上面主订单的位置继续添加具体的高级订单组合。
下拉菜单里和本文相关的项主要是:OCO、1st trgs OCO、1st trgs 2 OCO、1st trgs 3 OCO。 其余如 Blast All / 1st trgs All / 1st trgs Seq,见第 2 篇。
独立 OCO
先说一下 OCO 家族最基本的单位:什么是 OCO?
OCO = One Cancels Other(一个成交,取消另一个)。
一组 OCO 通常就是两条腿:比如 限价止盈 + 止损,谁先成交,另一条自动取消。
什么时候用独立 OCO
仓位已经在账户里,你只想补一套退出单。这和后面的 1st trgs OCO 差别在有没有「第一单触发」。
最小例子
假设已持有 AAPL 100 股,现价约 282.5:
- 止盈:SELL 100 @ 300 LIMIT
- 止损:SELL 100 @ 270 STOP
在高级订单里选 OCO(注意:不是 1st trgs OCO),把两腿都加进同一组,确认后提交。

注意
- 没有持仓多头股票却挂 卖出 的 OCO,可能变成开空或被拒
- 独立 OCO 没有「主订单成交后才激活」的保护;两腿提交后就会按各自类型工作。
- 若你对照过盈透:独立 OCO 接近「已有仓位上的 Bracket / OCA 出场腿」。可复习:盈透附加订单、盈透 OCA。
还没开仓、想「买进的同时挂好止盈止损」→ 用下一节 1st trgs OCO。
1st trgs OCO / 订单1激活OCO订单
这是最最常用的高级订单类型了。第一笔订单成交后,再激活一组 OCO 订单。
名字可能比较抽象,我先完整的把它原始句子写出来:
first triggers (one cancels other) 第一个订单成交后,激活一组 OCO 订单。 OCO 就是 one cancels other 的缩写。一组 OCO 由两个订单组成,这两个订单其中一个成交,另一个则自动取消。
看过我之前写的盈透订单类型的,应该记得这个「OCO」,这算是行业约定俗成的说法,很多券商都会这么叫。
OK,再梳理一下,那么 「1st trgs OCO」这个高级订单,总共至少有3个订单组成,第一个订单为主订单,其余订单构成一组 OCO。
需要注意的是,这里盈透和 TOS 有一些差异,TOS 把盈透的 OCA(one cancels all / 一个成交取消其余所有)合并进了 OCO。
因此,你可以在 TOS 的 「1st trgs OCO」类型中添加任意多的子订单。(「多个子订单」和后文的 1st trgs 2 OCO 不是一回事,见文末易混点。)

光说概念太抽象,我们上具体例子:
买入股票后,自动挂单止盈和止损
止盈和止损,所有新手都会忽略的,但却是最重要的环节。通过这个高级订单,帮你解决。
逻辑很简单:
第一个订单(买入股票)成交之后,触发一组 OCO。OCO 由止盈和止损两单组成。
根据上面所说的原理:
- OCO 只会在第一个买入单成交后才会激活(避免你无端先卖空)
- OCO 的止盈和止损两个订单互斥,只要其中一个触发,另一个自动取消。
实例: 苹果现价 282.5,打算以这个价格买入 100 股。 止盈点:300 止损点:270
那就可以这么设置(电脑端和手机端):


如果你是做空,则买卖方向反过来,止盈在下方,止损在上方
自动止盈止损的变体
上面是用限价单做了最简单的实例,除了 限价单,我们还有更多的订单类型可用,以及更多的订单有效期可供选择。你可以组合出更高级的用法。
比如「突破买入」
BUY STOP 100 IBIT @ 35.00
当 IBIT 突破到 35 才买入;买入成交后,自动触发止盈止损:
SELL 100 @ 38.00 LIMIT SELL 100 @ 33.80 STOP

这是单档退出(一组止盈 + 一组止损)。若希望突破成交后分两档/三档止盈,见下文 1st trgs 2 OCO / 3 OCO。
绝对价格 / 相对价格
在电脑端的 TOS 中,当你编辑高级订单组合的时候,会发现子订单一个设置项:Link


总共有 8 个可选(Link 的 8 项清单随客户端版本/产品(股票 vs 期权)略有差异,建议加「以当前客户端为准」):
- MAN:即「手动」。这也是默认项,选择 MAN 后,Price 列你需要输入一个绝对值的价格。比如你想 284.3 卖出,就得填 284.3
- TRG:Trigger price,绑定主订单的价格,可以简单理解为第一个主订单的成交价格。选择后输入 +/- 相对价格,比如 +1 或者 -2,意思是开仓价格+1usd 或者 -2usd
- LAST:最新成交价
- BID:买一价
- ASK:卖一价
- ASK/BID:系统自动判断,买单用 ASK,卖单用 BID
- MARK:中间价,通常就是 bid-ask 的中间值
- AVG PRC:你的平均持仓成本价
怎么选(实用版)
| 场景 | 更常见的 Link |
|---|---|
| 止盈写死目标价 | MAN 填绝对价 |
| 止盈/止损相对开仓价偏移 | TRG ± 金额(或按你客户端支持的百分比) |
| 已有仓、参考持仓成本 | AVG PRC |
其余 LAST / BID / ASK / MARK 更偏盘口敏感场景;搞不清时优先 MAN + 绝对价,确认页看一眼再提交。
1st trgs 2 OCO / 3 OCO:分档出场
上面单档 bracket(1st trgs OCO)解决的是:开仓后一套止盈 + 一套止损。
若你的计划是:分批止盈(例如先走一半、再走一半),可以用:
- 1st trgs 2 OCO:主单成交后,激活 两组 OCO
- 1st trgs 3 OCO:主单成交后,激活 三组 OCO
结构(以 2 OCO 为例)
- 主订单:例如 BUY 200 AAPL @ Limit(或 Stop 突破)
- 成交后同时激活:
- OCO 组 1(对应 100 股):止盈 T1 + 止损 S1
- OCO 组 2(对应 100 股):止盈 T2 + 止损 S2

数量怎么对齐
| 主单数量 | 建议 |
|---|---|
| 200 股 | 2 OCO,每组 100 |
| 300 股 | 3 OCO,每组 100;或 2 OCO 做 150+150 |
| 100 股还想分两档 | 需能拆成两组数量(如 50+50);注意整手/期权乘数等约束 |
原则:各组出场数量之和 = 主单(或你计划兑现的)数量,避免多平或少平。
价格表示例(数字请按你截图当日行情改)
假设主单买入 200 股,成本参考 100:
| 组 | 数量 | 止盈 | 止损 |
|---|---|---|---|
| OCO1 | 100 | 105 Limit | 97 Stop |
| OCO2 | 100 | 110 Limit | 97 Stop |
说明:
- 两档止盈不同,体现分批目标。
- 止损可以相同或不同;上表用同一止损价、数量拆开,是常见写法之一。
- 以你确认页与模拟盘验证为准——部分成交、改单后数量是否联动,客户端版本可能有差异。
为什么不用「一个 1st trgs OCO 里塞 4 条腿」来分档?
在一个 OCO(OCA 语义)里塞「T1、T2、S1、S2」四条腿时:
- 组内仍是互斥族:一腿成交可能取消其余,不一定符合「T1 成交后 T2 仍挂着」的分档直觉。
- 分档的正确语义更接近:两组(或三组)各自的 OCO,组与组之间不因另一组止盈而成交就整组清空(具体以平台行为为准,但产品设计意图上 2/3 OCO 就是为此)。
细节对比见下一节易混点。
3 OCO
与 2 OCO 相同,只是多一组(例如 100×3 或自定义数量)。
对大多数人:两档足够;档越多,确认页越容易设错数量/方向。
谁需要 / 谁不需要
- 需要:明确的分批止盈计划、希望开仓瞬间一次挂完。
- 不需要:单一目标价 + 单一止损 → 1st trgs OCO 即可,别增加复杂度。
易混点:多子单 OCO ≠ 1st trgs 2 OCO
当你选择 1st trgs OCO 时,手机和电脑端都可以给 OCO 组添加超过 2 个子订单。
此时它在语义上更接近 OCA(One Cancels All):任一子单成交,取消同组其余子单。

这和 1st trgs 2 OCO / 3 OCO 容易混,对照如下:
| 1st trgs OCO + 多子单 | 1st trgs 2 OCO / 3 OCO | |
|---|---|---|
| 产品入口 | 1st trgs OCO,手动加多条腿 | 菜单直接选 2 OCO / 3 OCO |
| 结构 | 一组互斥(OCA) | 两组/三组 OCO,组间并行 |
| 典型用途 | 少见;复杂条件硬塞 | 分档止盈(每档自己的止盈+止损) |
| 分批止盈 | 不推荐靠「多腿互斥」硬模拟 | 推荐 |
另外:
- 分批止盈不要用 1st trgs Seq(见第 2 篇)。Seq 是强顺序接力,不是「两档止盈并存」。
- 普通交易者很少需要往一个 OCO 里塞 6、7 条腿:难理解、易设错。
- 若逻辑复杂到平台高级订单表达不清,再考虑 API/程序化;分档出场优先用 2/3 OCO,而不是先上 API。
OCO 家族怎么选
| 你的情况 | 用哪个 |
|---|---|
| 已有仓,挂止盈 + 止损 | OCO |
| 开仓同时挂止盈 + 止损 | 1st trgs OCO |
| 开仓后分 2/3 档止盈(+ 对应止损) | 1st trgs 2 OCO / 3 OCO |
| 一个互斥组里多条腿 | 1st trgs OCO 多子单(≈OCA)——通常不是分档首选 |
| 多个独立订单、互不取消 | 不是 OCO → 第 2 篇 Blast All / 1st trgs All / Seq |

实操注意
- 确认页:高级订单每条子单的数量、方向、价格、TIF 可能不一致,提交前逐行看。
- 部分成交:主单未完全成交时,子单如何变化。以你当前客户端确认页与 Working Orders 为准;重要账户先 paperMoney 测一次。
- 改单 / 取消:优先理解「整组」与「单腿」取消的差异,避免只改一腿导致保护单裸奔。
- Auto Send:测试时关掉,避免误发。
- TIF:GTC / EXT / EXTO 等与 OCO 组合时,出场腿是否覆盖盘前盘后,需与 订单有效期 对照。
一挪迈的总结
OCO 家族只做一件事:让退出条件互斥且自动。
- 已有仓位 → OCO
- 开仓顺便挂退出 → 1st trgs OCO
- 要分档 → 1st trgs 2/3 OCO
下一篇:嘉信高级订单技巧(2)(Blast All / 1st trgs All / 1st trgs Seq)
