發佈時間:2026-10-14 16:52:35

作者:分析師 盧明宇

如果預先約定黃金ATR移動止損只向有利方向調整,那麼ATR變大、指標參考線回落時,多單已有止損也不能直接跟著下調。ATR給出歷史波動距離,參考公式給出候選價,是否修改已有訂單,還要按預定的管理規則判斷。若規則允許放寬,則是另一種安排,必須重新核對倉位和風險,不能把它當成原有保護程度沒有變化。

ATR先算出距離,止損規則再決定是否採用

常見的Chandelier Exit參考公式,是多頭候選價=最近22期最高價−3×ATR(22),空頭候選價=最近22期最低價+3×ATR(22)。StockCharts的Chandelier Exit說明明確指出,原始多頭參考值會隨窗口最高價和ATR變化而升降。它本身不保證只向上移動。

最高價提高,可以推高多頭候選價;ATR增大,會擴大減掉的距離。滾動窗口向前移動,舊高點退出後,窗口最高價也可能降低。因此,價格沒有再創新高時,指標線向下移動並不必然是程序出錯。22期和3倍只是這裡引用的公式設置,不代表適合所有黃金、白銀產品的最優參數。

計算前還要確定用最高價還是收盤價、滾動窗口還是入場以來的最高價、哪個週期和哪種平滑。這些輸入不同,復盤時不能混用。ATR沿用價格單位,不能把美元/盎司的距離當百分比;單位問題可參照ATR單位與跨品種比較。

滾動22期每次都會剔除窗口外的數據;入場以來的最高價則保留持倉開始之後的高點。在同一筆多單尚未結束時,後者不會僅因時間推移而降低,但減去的ATR距離仍可能增大。兩種最高價定義與「已有止損不能下調」的約束不是同一回事,不能只改變最高價定義,就認為訂單必定只上移。

波動變大時,參考線可能向下走

以下是同一假設交易日的黃金1小時圖教學路徑,全部價格及ATR單位均為美元/盎司,時間為北京時間。假設已有多單在10:00仍持有,此前止損為2305;10:00給定收盤價2335、最近22期最高價2340、Wilder平滑ATR(22)為10。此前完整歷史未提供,這些數值只用於設定計算的初始狀態,不是真實行情或回測記錄。

隨後兩根K線在11:00、12:00收盤。11:00這一根最高2343、最低2324.2、收盤2338;12:00這一根最高2342、最低2322.8、收盤2332。前一收盤均位於當根高低區間內,兩根真實波幅分別為18.8和19.2。按Wilder的ATR平滑方法延續22期計算,ATR依次為10.4和10.8,窗口最高價則保持2343。

具體計算為:11:00的ATR=(21×10+18.8)÷22=10.4;12:00的ATR=(21×10.4+19.2)÷22=10.8。它是延續前值的平滑計算,不是把當前一根K線的波幅直接當成ATR。若改用另一種平滑演算法,後面的候選價應隨之重算,不能保留本表數值卻更換演算法標籤。

收盤時點(北京時間) 最近22期最高價 ATR(22) 原始候選價:最高價−3×ATR 按只上移規則採用的止損價
10:00 2340 10 2310 2310
11:00 2343 10.4 2311.8 2311.8
12:00 2343 10.8 2310.6 2311.8

12:00的候選價=2343−3×10.8=2310.6,比11:00低1.2。若機械地複製候選價,止損就會下調1.2;若事先約定只上移,就保留2311.8。差別來自採用規則,而不是ATR數值算錯。

本例假設Bid建圖、多單止損按Bid達到條件檢查,每次收盤後的修改均成功;兩根新K線的最低價都高於此前生效的止損,故沒有提前觸發。未給出逐筆報價次序,也未模擬成交。若真實價格此前已達到止損條件,就不能繼續套用後面的持倉修改表。

只向有利方向移動,要把約束寫進規則

本例另加一條約束:多單新止損價=已有止損價與當前候選價中的較大值。空單若採取相同的只收緊原則,則取二者中的較小值。這是附加的持倉管理約束,不能說所有Chandelier指標或同名腳本都自動這樣處理。還要分清已有止損、初次設定和重新開倉,新倉不能無條件繼承舊倉的止損狀態。

還要約定多久重算、使用已收盤值還是盤中值,以及修改什麼時候開始生效。本例每小時收盤後重算,並假設即時成功;真實訂單需要以成功修改的記錄確認。重算之前,原止損仍可能觸發,不能在事後用新指標值改寫當時的退出條件。

畫出一條線,不等於後台訂單已經修改

圖表上的候選線、規則算出的擬採用價、訂單裡實際生效的止損價,可能是三個不同值。看見指標線更新,應核對修改請求是否發出、是否成功,再讀回訂單裡的止損價。產品允許的止損距離、報價口徑等限制,仍以實際產品和平台規則為準。圖表報價與止損觸發報價可幫助核對價格口徑。

MetaTrader 5訂單操作說明區分了服務器執行的止損與在終端執行的跟蹤止損。平台自帶跟蹤止損按所設距離工作,不表示它會自動讀取ATR並執行本文的約束。若依賴終端或腳本持續修改,關閉程序、斷網或修改失敗都可能影響後續更新,已有服務器止損與後續跟蹤更新應分別核對。

保持止損不變,也不能保證虧損上限

只向有利方向修改,有助於遵守預定的止損價邊界,但也可能在波動放大後更早退出,隨後價格又恢復原方向。它不保證收益更高,也不說明不能採用其他退出規則。參數不同會改變退出條件,不能用這組三行演算代替包含成本和實際執行限制的策略驗證。

止損價格距離還要結合倉位換算賬戶風險,參照止損距離與賬戶風險。即使訂單已設在2311.8,跳價、點差變化或流動性不足時,也可能出現不同於預期的成交;止損價與成交價的區別不能省略。保證金不足還可能導致強平,部分或全部本金可能損失。復盤應分別保存候選價、採用規則和實際訂單記錄,僅憑事後指標線,無法判斷風控是否生效。