发布时间: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,跳价、点差变化或流动性不足时,也可能出现不同于预期的成交;止损价与成交价的区别不能省略。保证金不足还可能导致强平,部分或全部本金可能损失。复盘应分别保存候选价、采用规则和实际订单记录,仅凭事后指标线,无法判断风控是否生效。