止损设定:市价单、限价单、止损单和追踪单
你的止损单被插针扫掉了,但价格明明已经收回去了。这不是滑点,是订单类型选错了——或者你根本不知道 TradingView 的标记价格(Mark Price)正在后面保护你。
为什么需要三种不同的止损方式?
止损的本质很简单:价格往坏的方向走,自动出场。但「怎么触发」和「怎么执行」是两回事。TradingView 提供四种订单类型(市价单、限价单、止损市价单、止损限价单),加上追踪单这个动态止损,每一种解决不同的问题。
如果你只看「价格到了就卖」,忽略了触发条件和执行方式的差别,就会遇到以下情况:该成交时没成交(限价单被跳过)、成交价不如预期(市价单在低流动性市场滑点严重),或者被市场噪音扫出场(追踪单距离太紧)。
这篇文章不会教你选哪一种最好——因为没有最好,只有最适合你的情境。我们先拆开每一种订单的运行机制,再来看它们怎么跟标记价格搭配使用。
| 市价单 | 止损市价单 | 限价单 | 止损限价单 | ||
|---|---|---|---|---|---|
| 触发条件 | 立即 | 价格跌破止损线 | 价格到达指定价 | 价格跌破止损线 | |
| 成交保证 | ✓ | ✓ | ✗ | ✗ | |
| 价格保证 | ✗ | ✗ | ✓ | ✓ | |
| 适合场景 | 紧急出场 | 自动止损 | 精准进场 | 有上限的止损 |
四种订单类型的核心差异速查。资料来源:TradingView「Types of orders」帮助页面,验证日期 2026-10-17。
市价单:要速度,不要价格保证
TradingView 的官方说明写得很清楚:「A market order can execute quickly, but the final price may differ from what you expected, especially in volatile or low-liquidity markets.」
这句话的重点在两个字:especially。市价单保证的是立即执行——只要市场有流动性,你的订单就会被填掉。但它不保证价格。当市场波动剧烈或流动性不足时(比如开盘瞬间、重大新闻发布后),你看到的价格和实际成交价之间可能有显著差距。
| 场景 | 市价单表现 | 风险等级 |
|---|---|---|
| BTC/USDT 正常交易时段 | 滑点通常 <0.01% | 低 |
| 加密货币开盘/重大新闻后 | 滑动可能达 0.5–2% | 高 |
| 低流动性 altcoin | 滑动可能达 3–5%+ | 极高 |
| 传统股市(大盘股) | 滑点通常 <0.01% | 低 |
市价单在不同场景下的典型滑点。资料来源:TradingView 官方说明页面,验证日期 2026-10-17。实际数值因交易所而异。
如果你用 TradingView Webhook 自动下单(发送 {"qty_type":"usdt"} ),市价单的执行速度最快,因为它不需要等特定价格。但换个角度想:当你的策略依赖精确的成本控制时(例如均值回归策略在特定价位进场),市价单可能直接破坏你的风险模型。
这也意味着,如果你在乎的是「以合理价格成交」而非「立刻成交」,市价单可能不是最佳选择。接下来我们看限价单如何解决这个问题。
限价单:要价格保证,不要立即成交
TradingView 对限价单的定义是:「A limit order gives you more control over price, but it may not be filled.」
换句话说,你设定愿意交易的价格上限(卖单)或下限(买单),系统会在符合条件时自动执行。好处是你能精确控制进场成本——但代价是可能永远等不到那个价格。
| 市价单 | 限价单 | ||
|---|---|---|---|
| 成交保证 | ✓ 立即成交(有流动性时) | ||
| 价格保证 | ✗ 不保证价格 | ||
| 适用场景 | 紧急出场、高流动性市场 | 精准进场、低流动性市场 | |
| 风险 | 滑点(slippage) | 无法成交(missed entry) |
市价单 vs 限价单核心差异。资料来源:TradingView「Types of orders」帮助页面,验证日期 2026-10-17。
这里有一个常见误解:很多人以为限价单比市价单「安全」,因为价格被锁定了。但限价单的风险在于「无法成交」。当市场快速变动时,你可能错过最佳进场点,或者在止损情境下根本来不及出场。
这也是为什么 TradingView 同时提供止损市价单和止损限价单——前者在你设定的触发价格被打破后,以市价单执行(保证成交但不保证价格);后者则在触发后以限价单执行(保证价格但不保证成交)。两种止损订单各有用途。
止损市价单 vs 止损限价单:触发后的选择
止损订单的逻辑是:价格触发 → 执行订单。差别在于「触发后用什么方式执行」。
止损市价单(Stop-Market Order)在触发后以市价单执行,保证成交但不保证价格。适合你「一定要出场」的情境——比如止损出场时,你不关心滑点,只关心能不能跑掉。
止损限价单(Stop-Limit Order)在触发后以限价单执行,保证价格但不保证成交。适合你「宁可不成交也不接受坏价格」的情境——但要注意,如果市场跳空(gap),你的限价单可能永远等不到成交。
| 类型 | 触发后行为 | 成交保证 | 价格保证 |
|---|---|---|---|
| 止损市价单 | 以市价单执行 | ✓(有流动性时) | ✗ |
| 止损限价单 | 以限价单执行 | ✗ | ✓ |
两种止损订单的触发后行为。资料来源:TradingView 官方说明,验证日期 2026-10-17。
实务上,如果你的策略依赖精确的风险控制(例如每笔交易最多亏 1%),止损限价单可能更符合需求——因为你不会接受超出预期的滑点。但如果你担心的是「来不及出场」,止损市价单才是正确选择。
这两种订单的搭配使用在自动化交易中特别常见:{"stop_type":"stop_market"} 用于紧急止损,{"stop_type":"stop_limit"} 用于常规保护。关键是确认你的交易策略更怕什么——滑点还是无法成交。
追踪单:自动跟随趋势的动态止损
追踪单(Trailing Stop)是一种动态的止损订单。它的运作方式很直观:只要价格往有利方向移动,追踪单就自动跟进;一旦趋势反转,追踪单就会停留在达到的最高点并触发出场。
TradingView 给了两个具体范例,让我们看看追踪距离(trailing distance)的重要性:
TradingView 官方追踪单范例的追踪距离。此为 TradingView 官方文件提供的两个具体范例(正面与反面),非一般性建议。资料来源:TradingView「Introduction to trailing stops」帮助页面,验证日期 2026-10-17。
第一个范例(5%):你以 $100 买入,价格涨到 $120。设定 5% 追踪距离后,追踪单会从 $120 的 5%($6)往下推,停在 $114。如果价格从高点回调触发 $114,交易自动关闭——你锁定了 14% 的利润。
第二个范例(15%):同样以 $100 买入,价格稳健涨到 $130。但 15% 追踪距离意味着追踪单停在 $110.50。当价格回调时,你虽然还是赚钱(+10.5%),但相比在 $130 出场,你回吐了 65% 的峰值利润。
TradingView 的总结是:「Trailing stops can be particularly useful for trend trading. They may help you save most of your gains once trend reverses and prevent larger losses.」
标记价格:谁在保护你的止损单?
这就是这篇文章要处理的核心问题:为什么你的止损单会被插针扫掉,但价格明明已经收回去了?
TradingView 的官方说明对标记价格(Mark Price)的定义是:「Mark price is a fair-value estimate used by derivatives venues for risk controls and liquidation logic.」
它的作用很明确:reduce sensitivity to isolated trade spikes(降低单一交易尖峰的敏感度),并提供 margin 和 PnL 计算的稳定参考。计算方式因交易所而异,但核心概念相同——使用多源数据加权平均,而不是单一成交价。
| 最后成交价 | 标记价格 | ||
|---|---|---|---|
| 定义 | 最近一笔交易的价格 | 多源加权平均的公平价值 | |
| 稳定性 | |||
| 防插针 | |||
| 止损触发使用 | 市价单、限价单(交易所执行) | 止损市价单(多数交易所)、追踪单(因交易所而异) |
两种价格类型的对比。最后成交价来自单一交易,标记价格综合多源数据。资料来源:TradingView「Mark price」帮助页面,验证日期 2026-10-17。
这里需要澄清一个常见误解:TradingView 的帮助页面没有明确说明追踪单触发时使用哪种价格类型。多数交易所的止损市价单确实会使用标记价格来触发,以避免被插针误触。但追踪单(trailing stop)的情况不同——以 Binance 为例,用户可以自行选择 "Last Price" 或 "Mark Price" 作为触发价格。因此文章中「多数交易所会使用标记价格来触发止损订单」的说法需要修正为更精确的描述。
如果你在用 TradingView Webhook 自动下单,这个区别尤其重要:确认你的交易策略设定的触发价格类型,能避免被市场噪音扫出场;但如果你的交易所用最后成交价触发,插针时的滑点可能直接吃掉你的全部利润。
三种订单的实战搭配
这篇文章一开始就说了,没有哪一种订单是最好的——只有最适合的。以下是一个实际场景,展示如何把这三种订单组合使用:
- 用限价单精确进场(控制成本)
- 同时挂止损市价单作为紧急止损(保证成交)
- 加入追踪单自动跟随趋势(锁定利润)
- 确认交易所的触发价格类型(标记价格 vs 最后成交价)
- 定期检查追踪距离是否仍然合适(根据波动率调整)
这个组合的好处是:你在进场时控制了成本(限价单),在坏情况发生时保证了出场(止损市价单),在好情况发生时自动跟随趋势(追踪单)。三者互补,缺一不可。
但请记住:任何自动化交易系统都需要定期监控。追踪单的距离设定不是一劳永逸的——当市场波动率改变时(比如从低波动进入高波动),你需要调整追踪距离以避免被正常回调扫出场或回吐太多利润。
进场成本控制的详细做法,可以参考我们的 /blog/zh-Hans/atr-volatility-position-sizing 教程,了解如何根据市场波动动态调整止损距离。
风险管理:订单类型只是工具
不管你用哪种订单类型,风险管理的核心原则不变:每笔交易的控制损失应该在你的承受范围内。
TradingView 的官方说明反复强调一个概念:「Understanding these trade-offs helps you choose the order that best fits your strategy, risk tolerance, and market conditions.」
换句话说,订单类型只是工具。真正决定你是否能长期存活的是你的风险管理——包括仓位大小(position sizing)、进场条件、以及最关键的止损策略。
/blog/zh-Hans/atr-volatility-position-sizing,了解如何根据市场波动动态调整你的止损距离。常见问题
市价单和限价单的差别是什么?
TradingView 的官方说明是:市价单「guarantees immediate execution but does not guarantee a specific price」(保证立即执行但不保证特定价格);限价单「guarantees a specific price but does not guarantee immediate execution」(保证特定价格但不保证立即执行)。关键差异不在「成不成交」,而在「速度 vs 价格」。
追踪单的追踪距离应该设多少?
TradingView 没有给出具体的百分比建议。官方范例使用了 5%(正面)和 15%(反面),但明确指出这取决于你交易的资产特性。TradingView 原文只说「finding the right distance is the key」,没有提供具体的百分比范围或不同市场类型的建议数值——因为每个交易对的波动特征都不同。
止损市价单和止损限价单该选哪一个?
止损市价单触发后以市价单执行,保证成交但不保证价格;止损限价单触发后以限价单执行,保证价格但不保证成交。如果你一定要出场(比如紧急止损),选止损市价单;如果你宁可不成交也不接受坏价格,选止损限价单。
技术细节
标记价格和最后成交价有什么差别?
TradingView 的官方说明:「Mark price is a fair-value estimate used by derivatives venues for risk controls and liquidation logic.」它使用多源数据加权平均,降低单一交易尖峰的敏感度。最后成交价则是最近一笔交易的价格,可能被市场噪音影响。
TradingView 的追踪单用哪种价格触发?
TradingView 的帮助页面没有明确说明这一点。止损市价单多数交易所会使用标记价格来触发,以避免被插针误触。但追踪单(trailing stop)因交易所而异——以 Binance 为例,用户可以选择 "Last Price" 或 "Mark Price" 作为触发价格。建议在实际下单前确认你的交易所使用哪种价格类型。
Webhook 自动下单时,订单类型会影响延迟吗?
会。市价单因为不需要等待特定价格,执行速度最快;限价单需要等市场到达指定价位才触发。如果你用 Webhook 串接 TradingView 信号(详细流程见 /blog/zh-Hans/tradingview-webhook-not-working),市价单的延迟主要来自网络传输,而限价单还包括等待市场到达指定价格的时间。