订单有效期类型全解析:GFD、GTC、GTD 到底什么意思?
目录
你在交易软件上下单时,可能注意过这样一个下拉选项:
- 当日有效
- 撤销前有效
- 指定日期前有效
或者你看到的英文缩写:GFD、GTC、GTD。
这些到底是什么?选错了会有什么影响?
今天这篇文章,一次性帮你搞懂。
一、为什么需要“有效期类型”?
你下一笔订单,不一定希望它“永久有效”。
- 你可能只想今天交易,不想把单子留到明天
- 你可能想挂一个单,等几天直到成交
- 你可能只想在某个日期之前有效
有效期类型 就是用来控制:这笔订单能活多久。
二、三种有效期类型详解
1. GFD(Good For Day)—— 当日有效
最常用、最默认的类型
| 属性 | 说明 |
|---|---|
| 全称 | Good For Day |
| 中文 | 当日有效 |
| 存活时间 | 从下单到当天收盘 |
| 收盘后 | 未成交部分自动撤销 |
特点:
- 绝大多数普通订单默认就是 GFD
- 不会隔夜,避免第二天行情反转带来的风险
- 适合日常短线交易
例子:
你在上午 10:00 挂了一个限价买单,到下午 15:00 收盘还没成交。
→ 订单自动撤销,明天不会出现。
2. GTC(Good Till Cancel)—— 撤销前有效
“挂到天荒地老,直到你手动取消”
| 属性 | 说明 |
|---|---|
| 全称 | Good Till Cancel |
| 中文 | 撤销前有效 |
| 存活时间 | 无限期(直到成交或手动撤单) |
| 收盘后 | 继续保留到下一个交易日 |
特点:
- 不会自动失效,必须手动撤销
- 适合中长线挂单,比如在某个价格埋伏
- 注意:部分交易所或券商可能有最长时间限制(如90天)
例子:
你觉得 au2607 跌到 480 元时会反弹,挂一个 GTC 买单在 480。
今天没跌到 → 明天继续挂着
一周后跌到了 → 自动成交
如果你改变主意 → 必须手动撤单
3. GTD(Good Till Date)—— 指定日期前有效
“给订单设一个过期时间”
| 属性 | 说明 |
|---|---|
| 全称 | Good Till Date |
| 中文 | 指定日期前有效 |
| 存活时间 | 从下单到你指定的日期 |
| 到期后 | 未成交部分自动撤销 |
特点:
- GFD 和 GTC 的“中间态”
- 你可以精确控制订单失效时间
- 适合有明确时间窗口的交易策略
例子:
你知道下周五有重要经济数据公布,想在数据公布前挂一个单。
设置 GTD:2026年6月5日有效。
6月5日收盘前没成交 → 自动撤销,不会影响到数据公布后的行情。
三、三者对比表
| 对比项 | GFD | GTC | GTD |
|---|---|---|---|
| 全称 | Good For Day | Good Till Cancel | Good Till Date |
| 中文 | 当日有效 | 撤销前有效 | 指定日期前有效 |
| 有效期 | 当天收盘为止 | 无限期(手动撤单) | 到指定日期 |
| 自动撤销 | ✅ 收盘后 | ❌ 不会 | ✅ 到期后 |
| 适用场景 | 日常短线交易 | 中长线埋伏单 | 有时间窗口的策略 |
| 风险 | 低(不过夜) | 中(可能忘记撤单) | 低(有明确截止时间) |
四、实际使用场景举例
场景1:日内交易者(选 GFD)
你只做当天买卖,不留隔夜仓。
→ 所有订单都用 GFD,收盘自动清空,省心。
场景2:中长线投资者(选 GTC)
你想在黄金 450 元的位置分批买入,但不知道什么时候能跌到。
→ 挂一个 GTC 买单,一直等着,跌到了自动成交。
场景3:财报/数据前埋伏(选 GTD)
下周三某公司发布财报,你想在财报前买入,但又不想让订单留到财报后。
→ 设置 GTD 截止到周二收盘,到期自动撤销。
场景4:不想长期占用资金(选 GTD)
你只愿意等一周,一周不成交就算了。
→ 用 GTD 设置 7 天后失效。
五、在代码和协议中如何表示
根据上期所文档中的协议字段:
| 有效期类型 | 数值 | 说明 |
|---|---|---|
| POBO_TRADE_TC_IOC | 1 | 立即完成否则撤销(FAK) |
| POBO_TRADE_TC_GFS | 2 | 本节有效 |
| POBO_TRADE_TC_GFD | 3 | 当日有效 |
| POBO_TRADE_TC_GTD | 4 | 指定日期前有效 |
| POBO_TRADE_TC_GTC | 5 | 撤销前有效(永久有效) |
| POBO_TRADE_TC_GFA | 6 | 集合竞价有效 |
伪代码示例:
# GFD 订单
order = {
"symbol": "au2607",
"price": 500.0,
"volume": 10,
"time_in_force": "GFD" # 当日有效
}
# GTC 订单
order = {
"symbol": "au2607",
"price": 480.0,
"volume": 10,
"time_in_force": "GTC" # 撤销前有效
}
# GTD 订单(需要指定失效日期)
order = {
"symbol": "au2607",
"price": 490.0,
"volume": 10,
"time_in_force": "GTD",
"expire_date": "20260605" # 2026年6月5日失效
}
六、注意事项(重要)
⚠️ GTC 不是真的“永远”
- 部分交易所或券商会对 GTC 设置最大有效期(如 90 天)
- 到期后会自动撤销,需要重新下单
⚠️ GTD 需要填过期日期
- 过期日期必须是交易日
- 通常以交易所日历为准,周末和节假日自动顺延或失效(视具体规则)
⚠️ 不同交易所名称可能不同
- 有的叫 DAY(=GFD)
- 有的叫 GTC(相同)
- 有的叫 DATE(=GTD)
- 对接时以具体协议文档为准
七、一句话总结
| 类型 | 一句话记住 |
|---|---|
| GFD | 只活今天,收盘就死 |
| GTC | 你不杀它,它就不死 |
| GTD | 给它设个死亡日期 |
Do not communicate by sharing memory; instead, share memory by communicating.

浙公网安备 33010602011771号