TR_t=\max\left(H_t-L_t,\ |H_t-C_{t-1}|,\ |L_t-C_{t-1}|\right)
\]
止损距离不是一个固定点数。固定点数假设市场波动率恒定。商品期货不满足这个假设。
同一个合约,在低波动阶段可能连续数个交易日维持窄幅运行。进入宏观数据、库存变化、交割月切换或夜盘跳空阶段后,日内波幅会迅速扩大。如果止损距离不随波动率调整,策略会在高波动阶段频繁触发;如果止损设置过宽,单笔损失又会突破账户风险预算。
ATR止损解决的是波动率问题。支撑位止损解决的是市场结构问题。两者不是同一类工具,也不存在可以脱离品种、周期和交易逻辑的固定优劣关系。
更稳定的做法,通常不是二选一,而是先确认结构失效位置,再使用ATR设置结构位外侧的缓冲区。
ATR止损的量化本质:只测波幅,不测方向
ATR由J. Welles Wilder于1978年提出。它的功能非常明确:量化市场波动率。
ATR不判断上涨或下跌。ATR上升,只说明单位周期内的真实波幅扩大。它不包含方向信息。将ATR上升直接解释为价格即将上涨,属于变量含义错误。
真实波幅比单纯高低价差多一层信息
真实波幅使用以下三个数值中的最大值:
1. 当日最高价减去当日最低价。
2. 当日最高价减去前一日收盘价的绝对值。
3. 当日最低价减去前一日收盘价的绝对值。
公式为:
\[
TR_t=\max\left(H_t-L_t,\ |H_t-C_{t-1}|,\ |L_t-C_{t-1}|\right)
\]
第一项记录日内波动。后两项记录跳空影响。
对于存在夜盘、隔夜信息和开盘跳空的商品期货,只使用当日最高价与最低价,可能低估真实风险。ATR将前收盘纳入计算,能够识别开盘价与前收盘之间的距离。
标准ATR通常使用14个周期作为计算参数。周期可以是日线,也可以是小时线、15分钟线或其他交易周期。周期改变后,ATR的统计含义也随之改变。
日线ATR回答的是:
这个合约近期每天通常承受多大的真实波幅?
15分钟ATR回答的是:
这个合约近期每个15分钟K线通常承受多大的真实波幅?
二者不能混用。用15分钟ATR给日线趋势策略设置止损,结果通常会显著偏窄。用日线ATR给超短线策略设置止损,结果通常会显著偏宽。
ATR止损的基本形式
多头持仓的动态止损价:
\[
Stop_{long}=P_{entry}-n\times ATR
\]
空头持仓的动态止损价:
\[
Stop_{short}=P_{entry}+n\times ATR
\]
其中:
- \(P_{entry}\)是入场价格。
- \(ATR\)是当前计算周期下的平均真实波幅。
- \(n\)是止损倍数。
中短线交易中,常见的倍数范围是1.5倍至3倍ATR。这个范围不是最优参数。它只是常见的参数搜索区间。
倍数越小,止损越近。交易被正常波动触发的概率上升。倍数越大,止损越远。单笔价格风险扩大,持仓数量必须同步下降。
ATR止损的优点在于规则简单。给定周期、ATR算法和倍数后,结果可以重复。不同交易员对同一组数据计算,理论上应得到相同的止损距离。
这也是它适合量化交易的原因。
ATR止损的滞后性
ATR是历史波幅的统计结果。它不是即时波动率。
如果合约长期处于低波动状态,ATR会维持较低水平。突然出现大幅波动后,新的高TR值会进入计算窗口,ATR随后上升。这个过程存在滞后。
滞后会带来两个问题。
第一,波动率刚开始扩大时,原有止损可能仍然过近。价格先完成一次快速扩张,ATR才开始调整。
第二,波动率已经收缩时,ATR仍可能维持高位。策略此时继续使用较宽止损,风险效率下降。
ATR不是实时风险探测器。它是一个滚动统计量。滚动统计量必然受到窗口长度影响。
14周期ATR对近期波动变化反应较快,但稳定性较弱。更长周期的ATR更平滑,但会牺牲响应速度。参数选择必须与策略持仓周期匹配。
支撑位止损的结构逻辑:价格失效位置优先
支撑位止损不从波动率出发。它从交易逻辑出发。
如果多头交易的前提是价格守住某一低点、平台下沿、前期密集成交区或突破后的回踩区域,那么止损位置应当位于该结构失效之后。
这类止损关注的不是价格离入场点有多少个点,而是:
- 交易成立所依赖的低点是否被有效跌破。
- 突破结构是否重新回到原区间。
- 回踩支撑是否转化为阻力。
- 前期震荡区间是否被反向穿透。
- 价格是否在关键水平外形成连续收盘。
支撑位止损的核心表达可以写成:
\[
Stop_{long}=S-\delta
\]
其中:
- \(S\)是结构支撑位。
- \(\delta\)是支撑位外侧的缓冲距离。
空头交易则对应阻力位上方:
\[
Stop_{short}=R+\delta
\]
其中\(R\)是阻力位。
结构位本身不是一个绝对精确的价格点。真实交易中,支撑和阻力通常表现为区域,而不是单一数值。直接把止损放在支撑位价格上,容易受到报价波动和短时穿刺影响。
因此,支撑位止损也需要缓冲区。问题在于缓冲区多大。
如果缓冲区固定为10个点,它无法适应不同波动阶段。如果缓冲区固定为某个百分比,它也未必适应不同合约的价格波动结构。
这正是ATR可以介入的位置。
支撑位止损的主观成分
支撑位止损比ATR止损更依赖定义规则。
以下几种结构都可能被称为支撑:
- 前一波段低点。
- 多次测试未破的水平位。
- 横盘区间下沿。
- 缺口或跳空起点。
- 突破前的阻力位。
- 均线附近的动态区域。
- 前高回踩形成的价格平台。
如果没有明确的识别算法,不同交易员会得到不同支撑位。回测时也容易出现未来函数问题。
例如,使用后续K线确认一个局部低点,再把这个低点作为过去交易时的支撑位。这个支撑位在当时并不存在。回测结果会被污染。
支撑位算法至少需要定义以下内容:
1. 使用多少根K线确认局部高低点。
2. 支撑位是取最低价、收盘价,还是价格区域。
3. 多次测试时如何合并相近水平。
4. 穿透支撑后,使用影线判定还是收盘价判定。
5. 合约换月、涨跌停和夜盘数据如何处理。
6. 止损触发使用触价成交,还是下一根K线开盘成交。
这些细节不明确,支撑位止损就不是一个完整的交易规则。
支撑位止损与假突破
支撑位附近经常出现短时穿透。价格跌破支撑后快速收回,或者盘中跌破、收盘重新回到支撑上方。此类情况会触发过近的止损。
但不能因此得出“支撑位止损必然会被扫损”的结论。是否触发,取决于:
- 支撑位识别方式。
- 订单触发方式。
- 交易周期。
- 合约的最小变动价位。
- 当前ATR水平。
- 止损距离。
- 行情是否存在跳空或流动性收缩。
支撑位止损的问题不是结构无效,而是结构价格与订单价格之间缺乏缓冲。
支撑位决定交易逻辑何时失效,ATR决定结构位外侧需要留出多少统计空间。
两类止损的直接比较
ATR止损和支撑位止损分别优化不同目标。前者降低波动率变化带来的参数失配,后者保持交易逻辑与价格结构的一致性。
| 参数 | ATR止损 | 支撑位止损 |
|---|---|---|
| 核心依据 | 历史真实波幅 | 关键价格结构 |
| 主要解决的问题 | 波动率变化 | 交易逻辑失效 |
| 止损距离 | 入场价加减ATR倍数 | 支撑或阻力外侧 |
| 规则重复性 | 高 | 取决于结构识别算法 |
| 对跳空的处理 | 通过TR纳入前收盘 | 需要额外设计 |
| 对震荡噪音的容忍度 | 由ATR倍数决定 | 由结构位与缓冲区决定 |
| 主要缺陷 | 对波动变化存在滞后 | 主观性和结构识别误差 |
| 对仓位管理的适配 | 直接 | 需要先计算结构距离 |
| 回测难度 | 较低 | 较高 |
| 适合场景 | 规则化趋势跟踪、波动率调整 | 结构突破、回踩、区间交易 |
不能只比较止损触发次数。
止损触发次数低,不代表策略质量高。止损较宽时,触发次数可能减少,但单笔亏损和资金占用增加。止损触发次数高,也不一定代表规则错误。趋势反转频繁、信号质量下降或交易成本上升,都可能造成相同结果。
应同时观察:
- 单笔平均亏损。
- 盈亏比。
- 最大连续亏损次数。
- 最大回撤。
- 风险调整后收益。
- 止损触发后的价格路径。
- 交易成本占单笔风险的比例。
- 不同波动率分位数下的表现。
- 参数变化后的结果稳定性。
对于商品期货,品种之间的波动特征差异较大。黑色系、有色金属、能源和农产品不能共享同一套固定点数止损。即使是同一品种,主力合约切换和交割月临近也可能改变数据分布。
海龟法则的启示:ATR不只是止损工具
ATR在经典趋势交易体系中的重要性,不仅在于止损。
海龟交易法则使用ATR,也就是其体系中的“N值”,同时处理仓位管理和止损距离。核心公式为:
\[
Unit=\frac{Account\times RiskRatio}{ATR\times PointValue}
\]
其中:
- \(Account\)是账户总额。
- \(RiskRatio\)是单个单位允许承担的风险比例。
- \(ATR\)是合约波动幅度。
- \(PointValue\)是每点价格变动对应的合约价值。
这个公式的结果很直接。
ATR上升,单位仓位下降。ATR下降,单位仓位上升。单笔风险不应因为市场波动扩大而被动扩大。
这比单独调整止损距离更完整。止损位置和仓位大小必须同时计算。
用ATR计算结构止损下的仓位
如果止损采用支撑位加ATR缓冲区,真实止损距离不是单纯的\(n\times ATR\),而是:
\[
D_{long}=P_{entry}-\left(S-k\times ATR\right)
\]
多头仓位:
\[
Position=\frac{Account\times RiskRatio}{D_{long}\times PointValue}
\]
其中\(k\)是结构位外侧的ATR缓冲系数。
如果支撑位距离入场价格较近,结构止损距离可能较小。此时仓位不能直接放大到理论最大值,还需要考虑最小合约单位、保证金占用、涨跌停风险和滑点。
如果支撑位距离入场价格很远,仓位必须缩小。否则结构止损虽然合理,账户风险却会超出预算。
这也是许多主观交易计划失效的原因:只规定了止损价格,没有规定止损距离变化后的仓位调整。
风险比例不是越高越有效
风险比例应是策略设计参数,不是盈利目标的反向推导。
提高单笔风险比例,可能在一段有利样本中放大收益。但连续亏损同样会以更快速度扩大回撤。商品期货存在连续止损、跳空和流动性变化。仓位放大后,实际成交损失可能超过理论值。
回测时应将以下情况纳入:
- 止损价与实际成交价不一致。
- 夜盘与日盘之间发生跳空。
- 价格直接跳过止损价。
- 触及涨跌停后无法成交。
- 主力合约切换造成价格序列不连续。
- 手续费和滑点随成交量变化。
- 同一账户多个品种同时出现风险事件。
ATR只能提供价格波动尺度。它不能替代资金管理。
进阶融合策略:结构位为锚,ATR提供缓冲
融合策略的逻辑只有两步:
第一步,确定交易逻辑失效的结构位置。
第二步,在结构位置外侧增加与当前波动率相关的缓冲区。
多头止损可以定义为:
\[
Stop_{long}=S-k\times ATR
\]
空头止损可以定义为:
\[
Stop_{short}=R+k\times ATR
\]
常见的缓冲系数为0.5至1倍ATR。
这不是固定结论。系数需要根据品种、周期、交易方式和成交机制进行测试。
为什么不直接使用支撑位价格
假设多头交易的支撑位为5000,当前ATR为60。
如果直接把止损设置在5000,价格只需要短时触及5000,订单就可能被触发。若使用0.5倍ATR缓冲,止损位置为4970。若使用1倍ATR缓冲,止损位置为4940。
两种设置对应不同风险:
- 直接使用支撑位:结构保护强,噪音容忍度低。
- 支撑位下方0.5倍ATR:保留结构约束,同时允许部分波动。
- 支撑位下方1倍ATR:容忍度更高,但单笔风险增加。
实际仓位必须随止损距离重新计算。不能只把止损往外移动,而保持原有仓位不变。
为什么不直接使用ATR倍数
假设入场价格为5100,ATR为60。使用2倍ATR,多头止损为4980。
如果结构支撑位位于5030,那么4980已经低于结构位50个点。此时止损与交易逻辑可能不匹配。
价格跌至5030下方,原有支撑结构已经失效。但策略仍然等待价格继续下跌至4980。结果是亏损扩大,且止损位置没有新的结构依据。
ATR止损控制的是波动范围,不知道你的交易前提是什么。
趋势突破、区间反转和回踩确认的结构条件不同。统一使用2倍ATR,无法表达这些差异。
融合策略的规则化实现
为了避免主观调整,可以将融合策略拆成可回测的模块。
第一步:定义结构位
例如,使用过去若干根K线中的局部低点作为多头支撑位。确认窗口必须固定。不能在回测后挑选最符合结果的低点。
也可以使用突破前的区间下沿。区间定义应包含:
- 最少持续周期。
- 最高价与最低价的计算方法。
- 允许的价格宽度。
- 突破确认条件。
- 回踩有效条件。
第二步:定义ATR
明确ATR周期。标准默认参数为14,但不能直接认为14适合所有策略。
同时明确:
- 使用简单移动平均还是其他平滑方式。
- 使用连续合约还是单个主力合约。
- 夜盘数据是否纳入。
- 换月时如何处理价格跳变。
- ATR更新是在收盘后,还是每根K线结束后。
第三步:定义缓冲系数
缓冲系数可以从0.5、0.75和1.0开始测试。测试目标不是找到收益最高的单点,而是观察结果是否稳定。
如果只有0.73倍ATR有效,0.7和0.8都失效,通常意味着过拟合风险较高。
第四步:计算仓位
使用实际止损距离计算合约数量。公式为:
\[
Position=\left\lfloor
\frac{Account\times RiskRatio}
{Distance\times PointValue}
\right\rfloor
\]
结果需要向下取整到合约最小交易单位。
第五步:模拟成交偏差
回测不能假设止损总能在理想价格成交。至少需要测试:
- 正常滑点。
- 高波动阶段扩大滑点。
- 跳空穿透止损。
- 夜盘开盘直接越过止损。
- 涨跌停无法平仓。
融合策略的优势在于结构逻辑更明确。它的代价是模型复杂度上升。复杂度上升会增加参数数量,也会增加过拟合空间。
结构位提供语义。ATR提供尺度。仓位管理把两者转换成账户风险。
止损倍数与周期的动态选择
止损参数不能脱离交易周期。
同一商品期货的5分钟、1小时和日线数据,波动分布不同。ATR倍数相同,不代表实际风险相同。
短周期策略
短周期策略的主要问题是微观噪音和交易成本。
ATR周期过短,止损会快速跟随局部波动变化。价格出现一根异常K线后,ATR可能被迅速抬高。随后仓位缩小,信号频率和资金利用率发生变化。
ATR倍数过小,则会产生连续止损。连续止损不一定来自方向错误,也可能来自止损距离小于正常噪音幅度。
短周期策略应重点观察:
- 止损距离与平均价差的比例。
- 止损距离与单根K线波幅的比例。
- 交易成本占理论止损风险的比例。
- 高频穿越结构位的频率。
- 夜盘和日盘的波动差异。
如果止损距离只相当于一根普通K线的局部波动,结构位再准确,也可能缺乏执行空间。
中周期策略
中周期策略通常可以使用结构位和ATR缓冲区结合的方式。
支撑位定义交易逻辑。ATR定义容忍范围。仓位根据最终止损距离计算。
此时需要区分初始止损和移动止损。
初始止损用于控制入场判断错误。移动止损用于保护已经形成的浮动收益。二者不应使用完全相同的规则。
例如:
- 初始止损:结构支撑位下方加0.5至1倍ATR。
- 盈利后移动:使用近期高点下方若干倍ATR。
- 趋势退出:跌破结构低点并满足收盘确认。
具体参数仍需通过样本外检验。不能因为某个规则在历史图表上看起来合理,就认为它具备统计优势。
长周期策略
长周期策略面对更大的跳空和持仓风险。
日线ATR可能较高。若使用3倍ATR,止损距离会明显扩大。仓位必须降低。对于杠杆合约,还要检查保证金占用是否允许持仓跨越数据公布、交割月和换月阶段。
长周期策略不适合只用盘中支撑位。盘中局部结构可能无法解释日线趋势失效。周期不一致会造成止损逻辑冲突。
一个可执行的原则是:
- 入场信号和结构位使用同一主要周期。
- ATR可以使用同周期,也可以使用更高周期作为风险上限。
- 不使用低周期结构位覆盖高周期交易逻辑。
- 任何跨周期组合都必须在回测中单独验证。
用波动率分层而不是固定倍数
可以根据ATR在历史窗口中的分位数,将市场状态分为低波动、中波动和高波动。
例如:
- 低波动阶段:ATR位于历史较低分位。
- 中波动阶段:ATR处于中间区域。
- 高波动阶段:ATR位于历史较高分位。
这里不必先设定一个所谓最优阈值。重点是验证不同波动层级下,止损规则的表现是否一致。
在高波动阶段,简单扩大ATR倍数可能导致止损过远。更合理的做法通常包括:
- 降低仓位。
- 限制开仓频率。
- 使用结构位而不是继续追踪价格。
- 对跳空和涨跌停进行单独处理。
- 暂停统计特性已经明显变化的品种。
波动率调整不等于无限放宽止损。
回测设计:不要只比较净利润
比较ATR止损与支撑位止损,至少需要使用同一入场信号。
如果入场规则、止损规则、仓位规则同时变化,最终结果无法说明差异来自哪里。正确的实验设计应固定其他变量,只替换止损模块。
基础实验矩阵
可以设置以下几组:
1. 固定点数止损。
2. 1.5倍ATR止损。
3. 2倍ATR止损。
4. 3倍ATR止损。
5. 支撑位直接止损。
6. 支撑位下方0.5倍ATR缓冲。
7. 支撑位下方1倍ATR缓冲。
多头和空头分别测试。不同商品期货分别测试。不同交易周期分别测试。
不要把所有合约拼接成一条收益曲线后得出统一结论。品种之间的波动率、合约乘数、交易时段和价格跳动单位都不同。
需要记录的指标
净利润只是结果变量,不足以判断止损质量。
应至少记录:
- 总交易次数。
- 胜率。
- 平均盈利。
- 平均亏损。
- 最大单笔亏损。
- 最大回撤。
- 盈亏比。
- 连续亏损次数。
- 止损后最大有利变动。
- 止损后最大不利变动。
- 止损触发占全部离场的比例。
- 不同ATR分位数下的止损表现。
- 不同持仓时长下的止损表现。
“止损后价格立即反向上涨”并不能直接证明止损位置错误。需要区分两种情况:
- 止损后价格只是正常反弹,随后继续原方向运行。
- 止损后价格持续反向运行,原交易逻辑确实失效。
这两个结果对参数的含义不同。
检查参数稳定性
将ATR周期和倍数做网格测试时,不要只寻找收益峰值。
例如测试ATR周期10、14、20、30,倍数1.5、2.0、2.5、3.0。若结果在一片相邻参数区域内都相近,说明规则可能具有一定稳定性。
如果只有单一组合显著优于其他组合,需要警惕过拟合。
支撑位识别也存在同样问题。局部低点窗口、合并价格宽度、确认K线数量都可能变成隐性参数。
参数数量越多,样本外失效概率越高。
分割样本
至少要区分:
- 训练区间。
- 验证区间。
- 样本外区间。
更严格的方式是滚动回测。使用过去一段时间优化参数,再在后续区间执行。然后滚动窗口。
这样可以观察参数是否随着市场波动结构变化而失效。
不要使用未来数据计算当时不可获得的ATR。不要在合约结束后用完整合约数据倒推交易期间的结构位。不要忽略换月造成的价格跳变。
这些错误会让回测曲线变得平滑,但不能改善真实执行。
实盘执行中的几个技术问题
止损触发价不等于成交价
ATR公式输出的是价格距离。订单实际成交还受到盘口深度、流动性、撮合规则和跳空影响。
当价格连续跳过止损位时,成交价可能比理论止损价更差。风险预算应为这种偏差保留空间。
如果模型将止损距离设计得很窄,却使用理想成交价回测,结果会系统性高估。
主力合约切换
商品期货主力合约切换时,价格序列可能出现不连续。直接在拼接数据上计算ATR,可能把换月价差误认为真实波动。
需要明确:
- 使用单合约独立计算,还是使用复权连续合约。
- 换月价差是否从TR中剔除。
- 持仓迁移如何影响止损。
- 新合约上市初期数据不足时如何计算ATR。
如果这些规则没有统一,跨合约比较没有统计意义。
涨跌停与流动性限制
止损策略最容易在极端行情中偏离理论。
价格触及涨跌停时,止损单可能无法立即成交。ATR缓冲区只能减少部分正常噪音,不能消除跳空和无法成交风险。
对存在涨跌停板的品种,应单独统计:
- 触发止损时是否有可成交报价。
- 止损后的实际滑点。
- 连续涨跌停期间的风险暴露。
- 夜盘到日盘的跳空幅度。
- 交割月附近的流动性变化。
这类风险不能通过把ATR倍数从2改为3来完全解决。
订单类型
市价止损优先保证退出。限价止损优先控制成交价格,但存在无法成交风险。
如果策略的第一目标是限制尾部损失,不能只看理论价格。需要把订单类型写进回测规则。
订单类型不同,止损策略实际表现可能完全不同。
一个可复用的融合框架
下面的框架适用于需要结构判断、同时希望控制波动噪音的商品期货策略。
入场前
先计算当前周期ATR。确认ATR数据长度足够。检查主力合约和交易时段。
然后识别最近有效支撑或阻力。结构位必须由入场时已经存在的数据生成。
如果结构位距离入场价过远,放弃交易或降低仓位。不要为了获得更高的盈亏比,随意把结构位改到更近的位置。
入场时
设定结构缓冲系数。
多头:
\[
Stop=S-k\times ATR
\]
空头:
\[
Stop=R+k\times ATR
\]
计算实际价格距离。再根据账户风险比例、合约乘数和最小交易单位计算仓位。
如果理论仓位小于一个合约,应接受不交易。不能通过提高风险比例强行开仓。
持仓中
初始止损只能向有利方向移动,不能向不利方向扩大。否则回测中的风险上限失去意义。
移动止损可以使用以下逻辑之一:
- 新结构位加ATR缓冲。
- 近期高低点加ATR缓冲。
- 入场价加固定风险单位。
- 交易周期级别的跟踪ATR。
不同移动规则不要同时叠加。多个退出条件会导致归因困难。
离场后
记录离场原因:
- 初始止损。
- 移动止损。
- 结构失效。
- 趋势退出。
- 时间退出。
- 合约到期或换月。
- 交易系统异常。
如果所有离场都被标记为“止损”,无法判断是ATR距离问题、结构识别问题,还是趋势信号本身质量下降。
参数优化的边界
ATR周期、ATR倍数和结构缓冲系数都可以优化。但优化目标必须受风险约束。
不建议只最大化净利润。可以使用综合目标:
- 控制最大回撤。
- 保持样本外收益。
- 降低参数敏感性。
- 限制连续亏损。
- 保持不同品种之间的可迁移性。
- 让交易成本变化不会立即摧毁策略。
参数优化的实际顺序可以简化为:
1. 先确定结构位定义。
2. 再确定ATR计算周期。
3. 再测试缓冲系数。
4. 最后测试仓位风险比例。
5. 进行样本外和滚动验证。
6. 加入滑点、手续费与成交限制。
7. 检查不同品种和不同波动阶段的稳定性。
不要先从收益曲线中挑选一个止损倍数,再反向解释它符合某种市场逻辑。那是结果驱动的叙事,不是模型设计。
商品期货不存在统一的最佳止损倍数。不同品种的波动率分布不同。相同品种在不同周期、不同合约阶段、不同交易时段,也会产生不同结果。
结论:止损不是价格预测,而是风险边界
ATR止损把止损距离转换为波动率单位。它可重复、易回测、适合仓位联动。但它存在统计滞后,也无法识别交易结构是否失效。
支撑位止损把退出条件绑定到价格结构。它更贴近交易逻辑,但结构识别存在主观性,且关键水平附近需要处理短时穿透。
两者的功能不同:
- ATR负责测量波幅。
- 支撑位负责定义失效。
- 仓位管理负责限制账户损失。
- 执行模型负责处理滑点、跳空和无法成交。
在商品期货中,较完整的止损框架通常是:
\[
\text{结构位}+\text{ATR缓冲区}+\text{风险比例仓位}
\]
缓冲区可以从0.5倍至1倍ATR开始测试。中短线ATR倍数可以从1.5倍至3倍建立参数区间。14周期是默认起点,不是最终答案。
最终参数不应由单次回测收益决定。应由样本外稳定性、回撤、成交偏差和跨波动阶段表现共同决定。
止损系统的目标不是避免所有亏损。那不可能实现。目标是让亏损具有预先定义的尺度,让模型在结构失效、波动扩大和执行偏差出现时仍然保持可计算。
相关阅读: ATR指标在股票止损中的动态应用:如何根据市场波动率调整保护性止损位.
