我做过一条 MA 金叉趋势策略选股,止损写死 8%。2015 年某只小票上穿买入,第二天振幅 9%,第三天触止损;卖完又拉回去,金叉逻辑没错,账户记一笔亏。换一只大盘蓝筹,同样 8%,整段趋势走完都没碰到止损,回撤从峰值算却吃了 15%——止损像摆设。固定百分比的问题在这里:它假设每只股票、每个阶段波动差不多,而 A 股显然不是。

ATR(平均真实波幅)按最近 K 线的实际波动定距离,止损设成「入场价往下 N 倍 ATR」,高波动给宽一点,低波动收一点。听起来合理,但「合理」也要拿历史复盘验收:N 取 2 还是 3,过紧被洗、过松回撤大,只有曲线对比说了算。下面讲固定止损的坑、ATR 的直觉、和趋势入场怎么配,以及编辑器里实际能怎么搭——不编造界面没有的字段。示例环境是 青柠量化 的 A 股日线后复权回测,信号收盘确认、下一根开盘成交,含佣金滑点。

固定百分比止损,策略选股回测里常有两种骗法

第一种:止损写 5%,回测却按「信号 K 线最低价」触发,等于用未来信息。第二种:忽略 T+1,买入当日跌破 5% 就卖——A 股做不到。诚实回测里,固定止损在「固定仓位」组件里填止损比例(%),引擎在可卖日根据收盘价或下一根开盘判断,和 T+1 对齐。

即使口径正确,固定比例仍有两难:比例紧,趋势策略被洗出去,胜率好看不了;比例松,单笔亏损和组合回撤一起抬头。你扫 5%–12% 总能找到一段样本最优,换年份又变——和扫 MACD 参数是同一类过拟合。

ATR止损 不是圣杯,是把「止损距离」从固定常数改成跟波动挂钩的变量。同样 2 倍 ATR,10 元股价、ATR=0.8 的票,止损大约 1.6 元;ATR=0.2 的票,止损大约 0.4 元。同一 N,不同票自动缩放。

ATR 倍数止损的直觉

ATR 是近 N 根(常见 14)真实波幅的平均。单根真实波幅取「最高减最低、最高减昨收、昨收减最低」三者最大,再平滑。它比单看涨跌幅更贴近日内振幅。

止损价 ≈ 入场价 − k × ATR,k 常试 2 或 3。k 小,止损近,容易被正常回调扫掉;k 大,给趋势呼吸空间,但单笔亏损和回撤上限变大。没有 universal 最优 k,只有和你的入场、出场、持仓周期配不配。

移动止损也可以 ATR 化:最高价回撤 k×ATR 出场。编辑器里「固定仓位」有移动止损,但是按百分比回撤,不是按 ATR——若你要 ATR 移动止损,得用出场条件或后续版本能力,现阶段以文档和界面实际支持为准,别在文章里假装已经有一键开关。

Wilder 原版 ATR 用平滑移动平均,很多软件默认 14 根。周期短,ATR 跟近期波动跟得紧,止损距离日与日跳;周期长,更平滑。个人日线趋势里 14 是起点,不必第一天就改。真要试,固定 k=2.5,只扫 ATR 周期 10/14/20,看被洗率和回撤谁在样本外更稳。

把 ATR 倍数翻译成固定止损百分比

既然固定仓位组件里是止损比例(%),而未必有「N×ATR」一键字段,可以手工标定:

选 20–30 只你常做的趋势票,在可视化里叠加 ATR(14),在每笔模拟入场日读 ATR 和收盘价,算 2 × ATR / 收盘价 大概是几个百分点。

取中位数,比如 7.5%,填进固定仓位的止损比例,作为「等效 2×ATR」的起点。

回测一整段,看被洗次数和最大回撤,再试 9%(偏松)和 6%(偏紧)两档。

这种方法不优雅,但诚实——你承认引擎当前用百分比执行止损,只是用 ATR 来定百分比的量级。每隔半年或波动 regime 明显变了,重新抽样标定一次,比死抱 8% 强。

编辑器里 ATR 止损能怎么写

先说清楚产品现状,避免瞎编参数名。固定仓位组件提供:仓位比例、止盈比例(%)、止损比例(%)、移动止损开关及回撤(%)。这是百分比风控,不是 ATR 专用字段。ATR 作为指标组件可以添加,描述里提到可用于「止损 = 买入价 − N×ATR」的思路,但具体实现要分两层:

近似写法一(逻辑出场):在离场信号里用「数值比较」,例如收盘价 < 某参考价。难点是「入场价 − N×ATR」里入场价不是指标,引擎若不支持「持仓成本线」作比较,这条在纯可视化里可能拼不全,需要看你当前版本是否支持持仓均价或等价变量。拼不全时,别硬写——先用固定比例止损跑通,ATR 只作可视化参考。

近似写法二(研究对比):同一策略开两组回测,一组固定止损 8%,一组 12%,用 ATR 指标在可视化里人工观察「当时 ATR 的 2 倍大概是几 percent」,把百分比设到那个量级——这是手工标定,不是自动 ATR 止损,但能建立直觉。

若版本在仓位或出场规则里提供了 ATR 相关设置,以界面为准;没有的话,用 ATR 指标 + 图表叠加,把固定止损百分比设成「约等于 2×ATR 占股价比例」的中位数,是务实折中。诚实比Marketing 重要。

策略编辑器:趋势入场、ATR 指标与仓位止损组件
策略编辑器:趋势入场、ATR 指标与仓位止损组件

和趋势入场配对:均线、MACD 零轴上方

ATR止损 解决「走多少算错」,不解决「该不该进」。它配趋势策略选股的入场,不配「RSI 超卖抄底」那种逆势逻辑——后者止损应更紧、出场更急,用 ATR 反而可能太宽。

均线趋势:MA5 上穿 MA20 买入,收盘价跌破 MA20 或 MA60 逻辑出场,固定仓位里设较宽百分比止损(如 10%–12%)或按 ATR 标定后的比例当地线。逻辑出场负责「趋势可能结束」,止损负责「趋势已经明显错了还死扛」。

MACD 零轴上方金叉:DIF 上穿 DEA 且 DIF>0、DEA>0 入场,DIF 下穿 DEA 出场。MACD 趋势段 ATR 往往抬升,固定 8% 容易被洗;可把止损调到「入场日 ATR×2.5 约占股价的百分比」附近,或在复盘里统计历史上被洗次数 vs 少回撤次数。

入场和止损别互相打架:极严入场(三均线多头 + 零轴金叉)+ 极宽止损,样本少、单笔大,回撤仍可能惊人;松入场 + 紧止损,交易多、摩擦大。先定入场骨架,再动止损倍数。

SuperTrend、Chandelier Exit 本质也是 ATR 倍数轨道,只是包装成一条线。编辑器里有 SuperTrend 等指标时,可以叠加在可视化里和固定止损对比:价格跌破 SuperTrend 线的那根,和你 2×ATR 百分比止损是不是同一天触发。若高度重合,说明百分比定得合理;若差很远,说明 8% 可能偏紧或偏松。

仓位配置:固定比例、止损比例与移动止损选项
仓位配置:固定比例、止损比例与移动止损选项

策略选股回测里:过紧被洗 vs 过松回撤大

我习惯对同一入场规则扫三档止损:紧(约 1.5×ATR 等价的 %)、中(2×)、松(3×)。看三样东西:

被洗率:买入后 N 日内触止损、但之后价格又创新高的比例。高,说明止损太近或入场太追。

最大回撤:松止损往往单笔亏损大,但可能减少「卖飞后再涨」;紧止损回撤曲线有时更平滑,年化可能更低。

交易次数:止损不是入场,但频繁止损会增加回合,佣金叠加。

动画复盘里看触止损那根 K 线:是趋势破坏,还是正常回踩 MA20?若是后者,要么放宽 ATR 倍数,要么把逻辑出场改成「跌破 MA20 再卖」,止损只防跳空和崩盘。

连续被洗五六笔之后,别立刻把止损从 6% 调到 15%——先看出场和入场有没有问题。我遇到过整个 2022 年 MA 金叉都被洗麻了,换再宽的 ATR 也只是晚几天亏;那种年份要承认策略休息,而不是无限放宽止损。

统计「止损卖飞」:触止损后 10 个交易日内价格又涨回入场价之上的比例。比例极高,止损太近;比例很低但回撤巨大,止损太松或入场太追高。这个比例比单一最优 k 更能指导你改参数。

回测对比:不同止损宽度下的曲线与回撤
回测对比:不同止损宽度下的曲线与回撤

T+1、涨跌停:A 股别忽略的执行层

日线回测里,买入信号确认在收盘,成交在次日开盘。止损最早在买入后的可卖日生效。若买入次日一字跌停,卖不出就是真实风险——ATR止损 救不了流动性,只能让你少在这种票上重仓。

涨跌停附近 ATR 会失真:一字板 days 的 TR 异常,ATR 可能被拉高或拉低。复盘时注意这类 K 线,必要时用成交额或「非 ST、非长期停牌」过滤,减少极端样本绑架结论。

不同行业的 ATR 中位数差很多:银行日线 ATR 占股价比例常低于小盘成长。全市场用同一个止损百分比,等价于对小盘更紧、对大盘更松。若你主要做某一类票,标定时只抽那一类;若全市场扫,接受「一刀切百分比是近似」,或在筛选里用波动率相关的粗过滤(如换手率、市值)缩小池子,让 ATR 标定更一致。

单账户、仓位与止损的联动

趋势策略常 25%–30% 单次仓位、最多 4–5 只。止损宽,单笔对账户伤害大;窄,连续被洗五六笔也伤。我会用「单笔最大亏损不超过账户 2%」反推仓位:若 ATR 止损约 8% 股价,单次仓位约 25%,账户风险约 2%——心算一下,比只盯止损百分比全面。

单账户下,同一天多个趋势信号,槽位满则跳过。宽止损 + 高仓位 + 多信号,容易很快占满并同时暴露在市场风险里。信号少时可以把单次仓位略提,但别和止损同时放到最激进。

批量 vs 单账户:同一 ATR 标定止损的可执行差异
批量 vs 单账户:同一 ATR 标定止损的可执行差异

可视化:ATR 和止损线一起看图

回测页的可视化叠加 ATR 指标,买入日标记入场,心算 2×ATR 的竖线距离。你会直观看到:有些买入发生在 ATR 突然放大后(消息、涨停次日),这时固定比例止损几乎必触;有些买入 ATR 很低,8% 止损远在天边,等于没保护。

也可以对比「若用收盘价 < 入场价 − 2×ATR 作离场条件」和固定 8% 的差异——即使暂时不能在策略里自动表达,人工数几十笔,能判断 ATR 化有没有价值,再决定要不要等引擎支持更灵活的出场表达式。

可视化:ATR 曲线与入场、止损触发位置
可视化:ATR 曲线与入场、止损触发位置

和固定止盈怎么分工

趋势策略里,我倾向主出场用逻辑(死叉、破 MA),止损用 ATR 标定后的宽百分比,固定止盈要么不设,要么设很高(如 50%+)防极端妖股——窄止盈会把趋势截断,和「让利润奔跑」对着干。

震荡策略反过来:止盈可以紧,止损也可以紧,ATR 倍数用小一点。别把趋势课的止损参数生搬硬套到 RSI 超卖反弹上。

固定仓位里的移动止损是按「从最高价回撤 X%」算,不是 ATR 移动止损。趋势强时可以先不开移动止损,只靠宽百分比 + 逻辑出场;趋势转弱、想锁利润,再开移动止损试 10%–12% 回撤,和 ATR 标定的初始止损分开想——初始止损是「错了就走」,移动止损是「对了也要防吐」。

一套可今晚就做的对比实验

拿现有 MA 或 MACD 趋势策略,复制三份,只改固定仓位止损比例为 6%、9%、12%,其余不动。同一区间、单账户、同一最大持仓,跑完并排看最大回撤和交易次数。

可视化里打开 ATR,随机抽 10 笔买入,手算 2×ATR 约占股价几%,看 9% 档是不是接近中位数。

动画复盘各挑 3 笔「6% 被洗、12% 没洗但多亏一截」的单子,决定你更能接受哪种错误。

这套流程不依赖尚未实现的「持仓价 − N×ATR」自动表达式,也能把 ATR止损 从概念落到数字。

别在止损上追求「一次定终身」。市场波动 regime 变了,2020 年的等效 2×ATR 可能是 6%,2024 年可能是 9%。这不是策略失效,是波动环境变了。季度或半年重新标定一次百分比,比在一条曲线上把 k 从 2 扫到 2.73 更像成年人做法。

参数扫描的纪律

N 倍 ATR 和 ATR 周期(默认 14)都能扫。一次只动一个:先固定 ATR(14),扫 k=2、2.5、3;再固定 k=2.5,扫周期 10、14、20。扫完看样本外一年,别只看样本内最优。WFO 若做不动,至少留 2022 或类似震荡段做「压力样本」。

AI 生成策略时,常给「ATR 动态止损」一句话但没接组件——验收时看固定仓位里止损比例有没有填、出场有没有接、ATR 指标有没有真的加进图里。草稿省时间,不能省核对。

和合伙人或过去的自己争论「8% 还是 10%」时,把三档止损的回测曲线和动画截图丢出来,比吵观点快。止损没有道德高低,只有和你的入场、仓位、睡眠能不能共存。

收束:止损是趋势策略选股的呼吸空间,不是越紧越专业

固定百分比止损简单,但在 A 股不同波动结构里容易「该紧不紧、该松不松」。ATR 提供的是按波动缩放距离的框架;能不能在策略里一键表达,取决于当前编辑器对仓位、出场、持仓成本比较的支持范围。务实路径是:趋势入场写清楚,用 ATR 标定止损百分比的数量级,回测对比紧中宽三档,单账户 + 动画复盘对齐真实摩擦。

今天可以做一个小实验:选一条你已有的 MA 或 MACD 趋势策略,只改固定仓位里的止损比例三档(如 6%、9%、12%),同时打开 ATR 指标看图,记录每档大约对应几倍 ATR——你会很快知道「8% 止损」在你的票池里到底是紧还是松。

止损设得再漂亮,也替代不了入场质量。若 MACD零轴上方 金叉本身在样本外已失效,加 3×ATR 宽止损只是晚几天认输。先确认入场还有边际,再在止损宽度上花时间——顺序反了,容易变成「用宽止损给烂信号续命」。

趋势策略里还有一个常见误区:把「少止损」当成「少犯错」。该止损的不止损,叫扛单;不该止损的被洗出去,叫成本。ATR 标定的意义,是让「该与不该」的边界跟着波动走,而不是消灭止损。接受一定被洗率,和接受一定错过率一样,是交易的一部分。

写进策略 README 给自己:「本策略趋势入场,固定仓位止损 9%,标定自 2024 年样本 2×ATR 中位数,逻辑出场 MA20 跌破。」半年后若发现被洗率飙升,先查是不是波动率 regime 变了,再动百分比。文档和版本名对齐,比凭记忆「上次好像是 8%」可靠。

佣金滑点对宽止损策略影响相对小,对窄止损、高周转策略是隐形杀手——ATR 标定后若止损从 12% 收到 6%,交易次数往往上去,要同时看净收益而不是只看被洗率。回测页打开成本假设,别在零佣金里挑「最优 k」。

逻辑出场和百分比止损同时存在时,谁先触发谁生效——动画里看清是「先破 MA20」还是「先触止损」,别回测完了仍说不清卖的原因。原因说不清,下一轮优化就是瞎改。

宽止损不等于可以重仓。若单次 40% 仓位配 12% 止损,单笔账户风险约 4.8%,连续两次就伤筋动骨。ATR 标定解决的是「价格距离」,仓位解决的是「账户距离」,两个旋钮要一起算。

入场若用 MACD零轴上方 或均线金叉,止损层建议先固定,只扫 6/9/12 三档百分比,别入场止损同时网格搜索——自由度太高,样本内总能凑出漂亮组合,样本外一起塌。

ATR 是工具,不是信仰。它帮你把「8% 还是 10%」从拍脑袋变成有参照的估计;最后仍要在回测和动画里接受:趋势策略本来就会挨洗,止损只是让挨洗的价格可控。

下载 青柠量化 桌面端 可在本地保存策略版本、跑后复权回测和动画复盘;数据在机器上,改止损宽度、对比曲线,自己说了算。

免责声明: 本文仅作量化研究方法与软件使用说明,不构成任何投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。