「价格突破近 20 日高点就买」——这是海龟交易法、唐奇安通道(Donchian Channel)在散户口语里最常见的选股公式版本。逻辑朴素:新高意味着趋势延续,追涨吃波段。但在 A 股做历史复盘时,同样的句子会撞上另一套现实:涨跌停板、T+1、跳空高开、题材一日游、以及「突破当日追进去、次日低开」的追高风险。
更麻烦的是概念与工具之间的缝隙:很多平台没有名为「唐奇安通道」的按钮,可视化编辑器里也没有「海龟法则」一键模板。若把不存在的功能写进策略,历史复盘曲线再漂亮也是空中楼阁。
本文做两件事:(1)把通道突破思路诚实地形式化为「近 N 日高点突破 + 可选过滤」选股公式;(2)用筛选、批量/单账户回测、动画复盘走一遍历史复盘与证伪流程。示例界面来自 青柠量化——常规日线用后复权、信号收盘确认、下一根开盘成交并计佣金滑点;与打板专项(未复权、涨跌停约束)明确区分,后者属专业版能力。
一、海龟 / 唐奇安在口语里是什么:先通俗化
- – 唐奇安上轨:口语 — N 日最高价;量化等价(日线)— max(High, N)
- – 突破买入:口语 — 收盘价站上 N 日高点;量化等价(日线)— Close > max(High, N)[1] 或 Close ≥ 昨日 N 日高
- – 唐奇安下轨:口语 — N 日最低价;量化等价(日线)— min(Low, N)
- – 出场:口语 — 跌破 M 日低点;量化等价(日线)— Close < min(Low, M)
- – 海龟加仓:口语 — 每 0.5ATR 加一仓;量化等价(日线)— 需 ATR 组件与复杂仓位规则(进阶)
经典海龟用 20 日突破入场、10 日反向突破出场(或 55/20 长短组合)。个人研究可先从单档 20/10 开始,再对比 55/20 是否更少假突破。
诚实边界: 青柠量化 界面若无「Donchian Channel」同名指标,请用 「近 N 日高点突破」 类组件或 比较条件:收盘价 > 近 N 日最高价(不含当日) 实现等价语义。不要编造「内置海龟模板」——有就是有,没有就用比较条件拼。
经典双系统:20/10 与 55/20 怎么选
海龟原版常用两套通道:短通道抓启动,长通道抓大趋势。个人研究可先做对照:
- – 20 / 10:入场 — 近 20 日高;出场 — 近 10 日低;预期 — 信号多,假突破多
- – 55 / 20:入场 — 近 55 日高;出场 — 近 20 日低;预期 — 信号少,更趋势
- – 20 入 / 10 出 + MA 过滤:入场 — 突破且 Close>MA(60);出场 — 不变;预期 — 折中
对比时保持同一标的池、同一成本假设,只改 N——否则无法判断是「长通道有效」还是「碰巧躲过熊市」。
二、A 股突破追涨的特殊约束
- – 涨跌停:对突破策略的影响 — 突破日一字板,开盘买不到;回测口径建议 — 常规后复权回测不模拟「排板」;打板研究用专业版未复权 + 涨跌停约束
- – T+1:对突破策略的影响 — 当日买入当日不能卖;回测口径建议 — 出场信号最早下一交易日执行(引擎默认下一根 K 线处理)
- – 跳空高开:对突破策略的影响 — 突破确认后次日高开,追入成本高;回测口径建议 — 坚持「下根开盘成交 + 滑点」,勿用信号日收盘价
- – 题材脉冲:对突破策略的影响 — 假突破多、回落快;回测口径建议 — 需过滤(量能、均线多头)或更长 N
- – 成本:对突破策略的影响 — 追涨策略交易少但单笔大;回测口径建议 — 佣金、滑点对单笔收益敏感
系列前文讨论过 T+1 与涨跌停对历史复盘可信度的影响——突破类策略是重灾区:看起来「突破 N 日高」,实盘中可能是涨停价成交或根本成交不了。
突破策略在 A 股的三种「假好看」
- – 涨停突破:表现 — 突破日一字板;回测里常怎么被美化 — 常规模式仍可能按次日开盘「买到」
- – 跳空高开:表现 — 确认后次日 +5% 开盘;回测里常怎么被美化 — 滑点设太低时忽略追价成本
- – 题材退潮:表现 — 突破后三日 A 字杀;回测里常怎么被美化 — 批量平均被其他票稀释
识别方式不是改口径逃避,而是:动画复盘 + 单账户 + 保守滑点 三重对照。若三重对照下结论仍成立,再继续加 AND 过滤;若任一环节翻转,先修假设而非加指标。
三、形式化:「近 N 日高点突破」怎么写
推荐最小可回测版本(日线、后复权):
- – 指标:近 20 日最高价(或 Rolling High);可选 MA(20) 作趋势过滤
- – 入场:比较条件:Close > 近 20 日 High(通常不含当日,避免 trivial)
- – 过滤(可选):AND:Close > MA(20);或成交量 > 均量 × 1.2
- – 出场:Close < 近 10 日 Low;或固定持有 20 日
- – 仓位:固定 25%–30%;单账户最大持仓 3–5

与「严格唐奇安」的细微差别
严格唐奇安上轨 = 过去 N 根 K 线最高价(不含当前 K 线)。若比较条件写成「Close > 含当日的 N 日高」,几乎永不触发或语义错误。搭建后先用筛选扫一只熟悉的大票,看突破日是否与肉眼一致。
出场规则的两种流派
- – 通道对称:规则 — 跌破 M 日低出场;特点 — 与海龟一致,持仓随波动拉长
- – 固定持有:规则 — 入场后持有 H 日;特点 — 简单,便于与突破入对比
- – 均线辅助:规则 — Close < MA(20) 出场;特点 — 常比 10 日低更早离场
回测对比时,入场相同、只改出场——否则你无法知道收益变化来自突破还是来自出场运气。个人研究建议先固定「10 日低出场」,再试 MA 出场,记录交易次数与平均持仓天数变化。
四、突破 vs 金叉 vs 打板:别混赛道
- – 通道突破:触发语义 — 创新高;典型 N — 20 / 55;复权 — 后复权;适用模块 — 常规回测
- – 均线金叉:触发语义 — 短均线上穿长均线;典型 N — 5 / 20;复权 — 后复权;适用模块 — 常规回测
- – 打板 / 涨停突破:触发语义 — 涨停价、排板成交;典型 N — 当日;复权 — 未复权;适用模块 — 专业版打板回测
把打板结果与唐奇安突破曲线放在一起比年化,是口径错误。本文聚焦后复权日线通道突破;若你研究「涨停突破」,请切换专业版打板能力,不在此混谈。
读者常问:没有唐奇安组件还能不能做?
能。只要比较条件能表达「收盘价 > 过去 N 根 K 线最高价(不含当日)」,语义就与唐奇安上轨突破等价。下轨出场同理。界面文案可能是「近 N 日高点突破」「滚动最高价」等,看语义不看名字。搭建后务必用单票筛选核对边界日(例如第 N+1 根 K 线是否该触发),避免 off-by-one 导致全盘结论失真。
五、路径 A:编辑器搭建 20/10 突破策略

可执行步骤
- 1. 新建策略,命名如
突破20高_出场10低_v1。 - 2. 添加入场比较:Close > 近 20 日最高价(参数 N=20,确认是否 exclude current bar)。
- 3. (可选)AND 过滤:Close > MA(20) 或 成交量 > MA_VOL(20)×1.5。
- 4. 出场比较:Close < 近 10 日最低价(N=10)。
- 5. 仓位:30%;回测启用单账户,最大持仓 5。
- 6. 验证策略 → 保存。
- 7. 筛选(最新 K 线 + 自选股)→ 看命中是否合理。
- 8. 批量回测 → 单账户 → 动画复盘。
六、路径 B:AI 生成突破策略草稿
与系列入门文同一流程:用自然语言描述,再人工验收。
示例 prompt:
当收盘价突破过去 20 日最高价时买入;当收盘价跌破过去 10 日最低价时卖出;每次使用总资金的 30%,最多同时持有 5 只股票。
生成后重点核对:
- 1. 比较对象是 Close 还是 High——突破常用 Close,误写 High 会改变语义。
- 2. N 日高是否含当日——AI 常忽略这一细节。
- 3. 有无误加「涨停价」「打板」等词——若出现,删除并回到后复权常规口径。
- 4. 导入编辑器后,对一只熟悉个股跑筛选,看突破日是否与肉眼一致。
七、筛选与证伪:突破策略的第一关
突破策略常见失败模式不是「回测亏钱」,而是根本不可研究:
- – 0 命中:可能原因 — N 过大 / 比较口径含当日 / 标的池过小;动作 — 检查比较条件定义,N 改 20 试
- – 全市场 >100 只/日:可能原因 — N 过小或无条件突破;动作 — 加长 N 或加 AND 量能
- – 仅 ST、微盘命中:可能原因 — 标的池未过滤;动作 — 换指数成分池
证伪步骤 1(筛选层)
全市场最新 K 线筛选
→ 命中数是否在 5–40 只/日(可调,但需「人能做」)
→ 随机抽 10 只,肉眼看突破日是否真创新高
→ 若大量「假突破」(长上影、次日低开),进入步骤 2 加过滤
→ 若突破日多为涨停,提醒:常规回测 ≠ 打板可成交性

八、历史复盘:成本敏感与双模式对照
突破追涨交易次数少、单笔权重大,佣金 0.03% 看似小事,叠加滑点 0.1%–0.3% 会显著吃掉边缘优势。青柠量化 常规历史复盘默认下一根开盘成交 + 费用——务必开启,勿与「信号日收盘价成交」的乐观版本比较。
批量 vs 单账户
- – 批量单标的:20 日突破在不同行业是否普遍有效,还是只靠少数趋势龙头
- – 单账户:同时来 8 个突破信号,30% 仓位 + 最多 5 持仓,你实际能抓到几个
系列前文强调:批量年化 30%、单账户 10% 不矛盾——突破策略在信号扎堆的牛市阶段尤其容易夸大批量收益。
关注指标(勿只盯年化)
- – 交易次数:过少则统计不稳
- – 胜率与盈亏比:趋势策略常低胜率高盈亏比
- – 最大回撤与回撤期长度:能否扛过长期横盘
- – 中位数收益(批量):比「最好一只」诚实
成本敏感性实验(建议必做)
- – G0:滑点 0;佣金 0;目的 — 仅看规则方向(勿当结论)
- – G1:滑点 0.1%;佣金 万三;目的 — 接近散户乐观
- – G2:滑点 0.2%–0.3%;佣金 万三;目的 — 接近追涨保守
若 G1 中位数收益 ≤ 0 而 G0 为正,说明 edge 对成交假设极度敏感——突破类策略在 A 股尤其常见。系列前文讨论佣金滑点的结论在这里往往比均线策略更「残酷」。
行业与标的池:别用全市场平均掩盖结构
- – 沪深 300:突破策略常见现象 — 信号少,偏大盘趋势
- – 中证 1000 / 小盘:突破策略常见现象 — 假突破多,脉冲多
- – 单一行业(如券商):突破策略常见现象 — 强 beta,结论难推广
- – 自选股:突破策略常见现象 — 适合验证「我能不能做」,不适合普适性
证伪时若只有某一行业批量中位数为正,应缩小声明范围为「该行业样本内有效」,而非「A 股突破 universal alpha」。
九、动画复盘:追在尖顶上还是趋势中段?

汇总曲线好看,可能是一只超级趋势股贡献大部分利润。复盘必做:
- 1. 贡献度前 3 名标的:删除后策略是否仍为正?
- 2. 突破 K 线:是稳步抬升还是涨停/长上影?
- 3. 成交假设:买点是否在下一根开盘价;若突破日涨停,开盘价是否已远高于「突破确认价」。
反例
- – 「突破即最高价成交」——系统性乐观。
- – 用未复权后复权混算 N 日高——除权日假突破。
- – 把 2020–2021 核心资产牛市当全样本——证伪时须含 2022–2024 震荡段。
复盘抽样表格(建议打印或本地记录)
- – 序号 1:代码 — 示例;突破日 — 2024-xx-xx;次日开盘溢价 — +2.1%;后续 5 日 — 回落;结论标签 — 假突破
- – 序号 2:代码 — 示例;突破日 — 2023-xx-xx;次日开盘溢价 — +0.5%;后续 5 日 — 延续;结论标签 — 真趋势
抽 20 笔比盯一只妖股诚实。标签只需三档:假突破 / 中性 / 真趋势——再对照你的 AND 过滤能否减少「假突破」占比。若过滤后假突破占比未降、真趋势占比大降,说明过滤方向错了。
十、涨跌停与追高风险:常规回测的诚实说明

常规后复权日线回测通常不模拟「涨停排队买不到」「炸板回落」。因此:
- – 回测中的「突破买入」≈ 以可成交价格假设在下一根开盘买入;
- – 实盘中突破日常常已大涨,追入成本更高;
- – 若策略依赖「突破日刚好可买」,实盘落差会大于均线类策略。
决策树:我是否该继续优化这条突破规则?
批量中位数收益 ≤ 0 且单账户更差?
├─ 是 → 证伪成立:优先改 N、加过滤或放弃赛道
│ └─ 仅个别行业正?→ 缩小标的池,勿全市场宣称
└─ 否 → 复盘贡献度是否集中?
├─ 是 → 视为「趋势龙头策略」,接受低频率
└─ 否 → 样本外 / 第二时间段复测(专业版 WFO 更佳)
需要严格涨跌停可成交性时,应使用专业版打板 / 未复权专项能力——那是另一条策略线,不是本文 20 日高的简单延伸。
十一、增强与过滤:AND 与 SEQUENCE 的可选叠层
纯突破假信号多,常见增强(均可零代码):
- – 均线趋势:组件写法 — AND:Close > MA(60);利弊 — 减少震荡假突破,晚入场
- – 放量确认:组件写法 — AND:Vol > MA_VOL(20)×1.5;利弊 — 过滤缩量假突破
- – 先突破再站稳:组件写法 — SEQUENCE:Day1 Close>20日高 → Day2 Close>MA20;利弊 — 减少一日游
- – 更长通道:组件写法 — N=55 入场、N=20 出场;利弊 — 信号更少、更趋势
每加一层,立刻跑筛选看命中数——与系列「多指标 AND 共振」一文同一纪律。
与三均线、量价策略的衔接
- – 突破太多假信号:可叠过滤 — AND 放量;系列延伸 — 量价深度文 28
- – 震荡假突破:可叠过滤 — AND MA 多头;系列延伸 — 三均线文 26
- – 一日游:可叠过滤 — SEQUENCE 突破后站稳;系列延伸 — 多指标 AND 文 16
不要一次叠满;每加一条,记录筛选命中与批量中位数变化,形成可追溯的实验笔记(策略本地保存,便于版本对比)。
十二、完整证伪工作流(按周可执行)
第 1 天:形式化
写清 N/M、比较口径、后复权、下根开盘成交;搭建 20/10 基线策略。
第 2 天:筛选
自选股 + 全市场最新 K 线;记录命中数;抽 10 只肉眼核对突破日。
第 3 天:批量
300 成分或 50 只自选;看中位数收益、回撤、交易次数;对比 55/20。
第 4 天:单账户
30% 仓位、最大 5 持仓;对比批量差异。
第 5 天:复盘 + 决策
动画复盘贡献度;走决策树决定「继续加过滤 / 换标的池 / 证伪放弃」。
海龟法则在个人研究中的合理裁剪
原版海龟还涉及 ATR 仓位、加仓、多市场分散——对个人 A 股日线研究,建议先裁剪到「突破入、反向突破出、固定比例仓」,验证通道逻辑是否成立,再考虑是否值得引入更复杂仓位规则。裁剪不是「阉割圣杯」,而是控制变量:你连 20/10 在后复权日线都无法证伪或证实,加 ATR 加仓只会增加过拟合维度。
若专业版参数实验室扫描 N=15..25 的入场通道,也应固定出场 N=10 与成本假设,只扫一个维度——这与系列 WFO 文的「单维度寻优」纪律一致。
十三、证伪清单:何时宣布「突破追涨在我样本里不成立」
- 近 N 日高比较口径已核对(是否含当日)
- 后复权 + 下根开盘 + 佣金滑点已启用
- 筛选命中落在可操作区间
- 批量看中位数收益、回撤、交易次数
- 单账户曲线与批量差异已记录
- 动画复盘检查贡献度与涨停追入
- 第二时间段或不同 N(20 vs 55)交叉验证
- 未与打板 / 未复权结果混比
若多组设定下中位数收益持续为负、且单账户更差——诚实结论是:在你的标的池与成本假设下,简单突破追涨不足以支撑继续调参,而非「回测软件有问题」。
与打板专项的边界再强调
方案 A:本文 20/10 通道突破
- – 复权:后复权
- – 涨跌停:常规不模拟排板
- – 目标:趋势跟踪研究
- – 结论:不可直接推广到打板
方案 B:专业版打板回测
- – 复权:未复权
- – 涨跌停:约束可成交性
- – 目标:涨停接力研究
- – 结论:不可与后复权突破比年化
若你的真实交易是「突破当日涨停价排队」,请切换专业版打板能力重新形式化——否则你在用错误的问题验证错误的规则。
从证伪到迭代:三条合法出路
证伪「简单 20/10 突破」不等于证伪「所有突破思想」。常见合法下一步:
- 1. 加长通道(55/20)——换频率与样本
- 2. 加 AND 过滤(量、均线)——见系列 26、28
- 3. 缩小标的池——声明为行业/大盘趋势策略
非法下一步:在单票上微调 N=19.5 类参数、或换一段最牛区间再宣布有效——那是过拟合,不是迭代。
研究突破策略,请把「我证伪了简单版」也当作成果写进笔记——它比又一个未经检验的「优化版」更有价值,也更节省你的研究时间。
结语:突破历史复盘的价值在证伪之后
海龟与唐奇安的伟大,在于规则清晰、可重复——不是「追涨一定赚钱」。在 A 股,通道突破必须叠加涨跌停认知、成本假设、批量与单账户双验证,才能判断是继续加过滤,还是把精力换到更匹配的赛道。
青柠量化 用比较条件即可表达「近 N 日高点突破」,无需虚构不存在的通道组件;常规日线研究免费版可闭环,打板、分钟线、参数实验室与 WFO 在专业版按需使用。
写突破策略最容易犯的错,是把研究结论说成市场真理。20 日高在部分年份、部分标的池有效,不等于永久有效;证伪与迭代同样是正经研究成果——比硬撑「海龟圣杯」更接近专业量化人的思维方式。
产品页:青柠量化(零代码 A 股量化)
https://www.zpyztech.com/product/qingquant/
免责声明: 本文仅作量化研究方法与软件使用说明,不构成任何投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。