跳至主要內容

吊燈停損是什麼:為什麼停損線只上移、不下移

吊燈停損把停損位掛在持倉期間的最高價之下,隨價格上漲而抬升,永不回落。這條「只上不下」的規則不是風格偏好,而是讓虧損保持有界的唯一機制。

發布於 2026/08/12閱讀 9 分鐘吊燈停損ATR趨勢追蹤風險控制

吊燈停損(Chandelier Exit)由 Chuck LeBeau 提出,名字來自它的掛法:停損線像吊燈一樣從天花板垂下來——天花板是持倉期間出現過的最高價,垂下的長度是若干倍 ATR。價格越漲,天花板越高,吊燈跟著往上掛;價格回落,天花板不動,吊燈也不動。

這篇文章講清楚三件事:這條線怎麼算、為什麼必須只上移不下移、以及它在什麼情況下會讓你虧錢。

先說 ATR:為什麼用波動率而不是百分比

固定百分比停損(例如「跌 8% 就走」)有一個說不通的地方:8% 對不同標的的意義完全不同。一檔日均波動 1% 的公用事業股,跌 8% 代表發生了實質性的壞消息;一檔日均波動 5% 的成長股,跌 8% 可能只是一個普通的星期二。用同一把尺量兩件不同尺寸的東西,結果必然一邊太鬆、一邊太緊。

ATR(Average True Range,平均真實波幅)解決的就是這個問題。先算單日真實波幅:

TR = max(今日最高 - 今日最低,
         |今日最高 - 昨日收盤|,
         |今日最低 - 昨日收盤|)

後兩項是為了把跳空計入波動——如果今天整根 K 線都在昨天收盤價之上,只看當日高低點會嚴重低估實際的價格移動。

再對 TR 做 Wilder 平滑(注意不是普通 EMA,兩者的係數不同):

ATR(n) = (前一日 ATR × (n-1) + 今日 TR) / n

我們的引擎預設 atr_period = 14。ATR 的單位是價格,不是百分比,所以「3 倍 ATR」在高波動標的上自然就是更寬的距離,不需要你手動為每個標的調參。

吊燈停損線的完整演算法

設持倉期間出現過的最高價為 HH(自進場當日算起,逐日更新),倍數為 k

停損線 = HH - ATR(n) × k
最終停損 = max(歷史上算出的所有停損線)     ← 關鍵:取最大值,只上不下

第二行才是「吊燈」的靈魂。如果只有第一行,價格自高點回落時 HH 不變、ATR 卻可能因為波動放大而變大,停損線反而會往下掉——那就不是停損,而是一個會自己讓路的假承諾。

我們的引擎給了兩個倍數,是刻意為之:

參數預設值作用
entry_mult2.0進場當日的初始停損,貼得緊一點,避免剛進場就承擔過大風險
exit_mult3.0持倉期間的移動停損,放得寬一點,給趨勢留出呼吸空間
atr_period14ATR 的平滑週期
sma_period100進場過濾:只在收盤價站上均線時才考慮做多
breakout_period22進場觸發:收盤價創下過去 22 日新高

初始停損與移動停損分開設,是因為這兩件事的目的不同。進場那一刻你對這筆交易一無所知,唯一該控制的是「如果立刻證明我錯了,我最多虧多少」;而在浮盈狀態下,過緊的停損會把你從一段剛剛開始的趨勢裡洗出去。同一個倍數同時承擔這兩個職責,必然有一頭被犧牲。

為什麼必須只上移

把「停損可以下移」允許一次,你就失去了策略裡唯一一個確定的量。

考慮一筆在 100 元進場、初始停損 92 元的交易。如果停損可以下移,那麼當價格跌到 93 元時,你會面臨一個非常有說服力的理由:「最近波動變大了,ATR 從 4 變成 6,停損應該放寬到 88 才合理。」這個論證在數學上甚至是自洽的——ATR 確實變大了。但它的結果是:你的最大虧損從進場時說好的 8 元,變成一個由「未來波動率」決定的、事先不知道上限的數。

這不是紀律問題,是結構問題。回測裡最容易被忽略的一點是:一個允許停損下移的策略,其虧損分布沒有右尾截斷。你在樣本裡看到的最大單筆虧損,只是這段歷史恰好沒有走到更糟而已;換一段樣本,它可以任意大。而「只上不下」的停損讓每筆交易的最壞情況在進場時就已鎖定(跳空除外,下面會說),整套策略的風險因此可以被加總、被預算。

反過來說,停損上移帶來的另一個效果同樣重要:它把一筆虧損交易逐步變成保本交易,再變成獲利交易,而且這個過程不需要你做任何判斷。趨勢追蹤的報酬結構就是「大量小虧 + 少量大賺」,而那些大賺之所以能變大,正是因為停損始終在價格下方跟隨,而不是在某個你覺得「漲夠了」的位置提前把它砍掉。

它會在哪些情況下讓你虧錢

任何聲稱沒有代價的策略都在騙人。吊燈停損的代價很具體:

跳空穿越。 停損線是一個價格水準,不是一張保單。財報或併購消息導致隔日直接低開在停損線之下時,實際成交價就是低開價,虧損會超過你算好的那個數。這是停損唯一無法涵蓋的情境,也是部位管理不能省略的原因。

盤整期裡的反覆停損。 價格在一個區間內上下,每次向上突破 22 日新高觸發進場,隨後回落觸發停損。這種環境下策略會持續小虧,而且虧得非常規律。歷史上趨勢追蹤最難熬的時期從來不是暴跌,而是長時間沒有方向的橫盤。

波動放大導致的過寬停損。 在一次劇烈下跌之後 ATR 會顯著上升,此時新開部位的停損距離會比平時寬得多。名義上你的停損百分比變大了,實際承擔的風險也隨之變大——除非你同步縮小部位。ATR 讓停損距離自適應,但它不會替你調整部位。

它不告訴你買什麼。 吊燈停損是一套出場規則。進場條件(站上均線 + 創新高)只是把它接進一個完整策略的最小配置。把出場規則的有效性理解成整套策略的有效性,是回測解讀裡最常見的錯位。

動手驗證

以上每一條都可以在回測工具裡自己跑一遍。建議的三組對照實驗:

  1. 固定 exit_mult = 3.0,把 entry_mult 從 1.5 調到 4.0,觀察交易次數與勝率如何反向變化;
  2. 固定進場參數,只改 atr_period(7 / 14 / 28),看停損的敏感度;
  3. 挑一段公認的橫盤區間跑一次,把「大量小虧」這件事看成數字,而不是概念。

需要說明的是:這些實驗能告訴你參數如何影響結果,但不能告訴你哪組參數「更好」——那屬於另一個話題,見《回測的三個陷阱》裡關於過度配適的部分。

本文僅用於量化技術研究與教育目的,不構成任何投資建議。歷史回測結果不代表未來報酬,交易風險由投資人自行承擔。

把文章裡的結論自己跑一遍

文中每一條說法都可以在回測工具裡重現。訪客無需註冊即可試用。