去年有人把一条「回踩 20 日线买入」的指标选股公式拿给我看,批量回测挺顺。我随手抽了十笔动画:有六笔买在阴跌中继——价格贴着 MA20 慢慢磨,每天都「靠近均线」,重心却在下移。曲线靠另外四笔牛市里的二次上车撑起来。说白了,不是均线骗人,是「回踩」三个字从来没写死。
股吧里「趋势对了别追,等回踩再买」出现频率大概只低于金叉。听起来比突破追涨文明:不抢高点,给支撑一个确认。落到指标选股公式里,同一句话能拆出十几种写法——什么叫趋势对了?什么叫靠近?什么叫再度转强?漏掉任一层,要么信号爆炸,要么长期为零。界面示例来自 青柠量化;中间只说策略编辑器和回测。A 股日线按后复权、收盘确认、下一根开盘成交,加佣金滑点。
回踩和突破,买的不是同一段风险
突破追涨的剧本简单:收盘创近 N 日新高,次日开盘追。赌的是动量延续,代价是买在波段高位,A 股里还常撞跳空高开、涨停买不到。
回踩换了个假设:大趋势还在,短期回调到支撑附近,等价格重新站回去再上车。你少付一点追价,多承担一层风险——回调可能不是歇口气,而是反转前奏。
量化上两套入场位置完全不同。突破常用「收盘价大于近 20 日最高价」一类比较;回踩至少要趋势过滤 + 价格曾靠近 MA20 + 再度转强,往往还得用「依次触发」(SEQUENCE)表达先后。若简化成「收盘接近 MA20 就买」,你会在阴跌里频繁接刀:贴着均线磨的每一天,看起来都像买点。
趋势过滤先写死,别和回踩搅在一锅
口语「趋势对了」必须无歧义。我习惯两档分开建指标选股公式,别混结论。
严的一档:MA5 > MA20 > MA60,三条数值比较经 AND 合并。短中长期结构同步向上,过滤最狠,信号也最少。
松一点:收盘价 > MA60,或者再加 MA20 > MA60。不要求短均线最高,允许回调时 MA5 暂时走平。

编辑器里没有叫「多头排列」的开关——三根均线加比较加 AND,就是全部含义。同一策略里 MA 和 EMA 别混用;参数 5/20/60 是日线常见默认,对比实验时一次只动一层,别同时改过滤档和回踩带宽。
我踩过的坑:趋势过滤用「收盘价 > MA20」,回踩也围绕 MA20——等于过滤几乎永远为真,假回踩照进。趋势过滤的锚最好比回踩线长一档,常用 MA60;回踩线用 MA20,两层语义才分得开。
「靠近 MA20」:区间比单点诚实
图上人人能指「碰到 20 日线」,回测里 Close 等于 MA20 几乎永不触发。要用区间,或用最低价是否探到均线附近带来表达。
一种写法:最低价小于等于 MA20×1.02,同时收盘价大于等于 MA20×0.97——当日触及或略破,但没深度砸穿。另一种更偏「盘中回踩、收盘仍守住」:最低价贴近 MA20,收盘仍在均线上方窄带里。
带宽太窄,全市场筛选长期为零;太宽,阴跌里天天「靠近」。初值可取正负 2%~3%,去筛选页看命中密度再收放。记一笔日志就够:带宽 2% 命中 40 只,收成 1% 剩 9 只——数字比感觉可靠。

右侧乘数在数值比较里很管用:右侧选 MA20,乘数填 1.02,就是「左侧 > MA20×1.02」。别去编一个不存在的「距离均线百分比」组件。
「再度转强」:同一根 K 线的 AND 往往不够
口语是「先回踩,再拉起」——这是时间先后。同一时刻把「靠近」和「收盘站上」用 AND 捆死,有时能凑合,更多时候语义含糊:阴跌反弹的那一根也可能同时满足。
更贴口语的是依次触发。第一步:趋势过滤成立,且价格进入 MA20 附近带(尽量写成事件,比如刚触及,而不是「收盘价 > MA60」这种长期为真的状态)。第二步:在窗口 W(例如 8~15 根日 K)内,收盘价上穿 MA20,或 MA5 上穿 MA20。超时序列重启。
不想等金叉、只要「收回均线上方」也可以:第一步 Low 触及附近带,第二步收盘价 > MA20 且当日收阳。窗口别设太短,合法回踩来不及确认;也别设成 60 根——把和回踩无关的下跌也算进来。

依次触发第一步若塞状态条件,序列会推进过快,失去「等待」的意义。这点我在超卖策略里也栽过:第一步 RSI < 30 若改成「收盘价 > MA60」,第二步几乎立刻满足,剧本名存实亡。
和突破追涨并排跑,才知道你在买什么
同一标的池、同一区间、同一后复权与成本假设,各跑一版「20 日高点突破」和「MA20 回踩转强」,只改入场,出场与仓位锁死。
突破版预期:信号偏少,单笔追价高,牛市段贡献大。回踩版预期:信号更多,入场均价相对低,震荡阴跌段假信号也更多。别只晒年化最高的一只票;看中位数收益、最大回撤、交易次数。回踩版若在牛熊切换期回撤小、中位数也平庸,可能只是少赚了冲高的钱、多接了阴跌的刀——动画复盘分环境看贡献。
批量模式常把每只股票当独立账户,信号全成交,曲线偏乐观。换成单账户、单次 25%~30%、最多 4~5 只,回踩策略信号密时,「买不进」和频繁换手会放大成本。批量好看、单账户难看,优先查信号密度和滑点,别立刻再叠一层 MACD。
假回踩怎么在回测里露馅
真回踩:趋势过滤仍成立,价格短暂触及 MA20,随后阳包阴或金叉拉回。假回踩:MA20 看似支撑,MA60 已走平或下行,反弹一两日继续新低——靠近均线只是下跌通道里的减速带。
几条过滤值得试,一次加一条。
要求 MA20 仍向上:用「区间趋势」看 MA20 近 5 根是否抬升。阴跌里均线常走平或下弯,这条能砍一批。
要求回调幅度有限:全程保持收盘价 > MA60;或要求相对近 20 日高点回撤别太大(可用收盘价 > 近 20 日最高价 × 0.85 一类比较近似)。
量能剧本:回踩阶段缩量、转强当日放量,用依次触发绑「缩量靠近 → 放量拉起」。没有银弹,好不了多少就删,少一个参数少一分过拟合。
对照实验很狠也很好用:故意关掉趋势过滤,只留「靠近 + 转强」,同一区间再跑。若交易次数暴增、中位数转负,说明趋势过滤不是锦上添花,是防接刀的核心。

动画里我习惯两类各抽十笔:被 MA60 过滤掉的,和放行进场的。数字会骗人,形态一眼往往能定性——旗形整理还是下降通道反弹,和中位数收益是否对得上。
回测口径别在假回踩上再叠假成交
后复权:除权不会把均线打变形,避免「假靠近」。信号收盘确认、下一根开盘成交:回踩转强当日收盘才成立,最早次日买,也符合 T+1。佣金滑点:回踩虽比突破少追价,信号多、换手高,零成本会系统性美化。涨跌停:常规回测不模拟排板,转强日一字板要在复盘里人工打问号。
出场建议与入场对称:收盘跌破 MA20,或 MA5 下穿 MA20。只写买入不写卖,引擎往往持有到样本末,入场质量被「死拿」搅浑。仓位固定比例即可;和突破对照时,出场与仓位必须一致,结论才干净。
筛选当体检,别当荐股
改完条件先跑最新 K 线全市场。长期为零:带宽或依次触发窗口太严,或第一步写成了状态条件。单日上百只:过滤太松,或阴跌市没剔除。抽十只肉眼核对:是不是真「先触 MA20 再拉起」,有没有把横盘阴跌算进去。
连续五个交易日看命中数是否随大盘走弱而暴增。若暴增,规则主要在接恐慌盘——这时该收紧趋势过滤和仓位,而不是庆祝机会来了。

AI 搭骨架可以,验收时盯三处:趋势锚是不是比回踩线长;靠近带有没有用乘数而不是妄想「等于均线」;依次触发窗口和第一步事件性。机器爱给同一根 K 线上自相矛盾的条件,点开逐条看,比改文案重要。
参数别扫成过拟合游戏
带宽、依次触发窗口、MA 周期都能动。一次只动一个:先固定 5/20/60 和窗口 10,只扫带宽;再固定带宽,只扫窗口。样本内总能洗出惊艳组合,留一段震荡年或熊段做压力样本。参数实验室若开着,别同时网格三维——你分不清是哪一刀起效。
版本名写清楚:MA20回踩_多头_带宽2_W10_v1。两周后你还记得自己改过什么,比凭记忆「上次好像松一点」靠谱。指标选股公式在本地,对照回测结果和文件名就能追溯。
收束:回踩买的是二次上车,不是均线上的万能胶
MA20 回调买入在口语里很体面,可回测版本必须是趋势过滤 + 靠近均线 + 时序上的再度转强。突破赌动量延续,回踩赌结构未坏、短期修复——风险形状不同,只能同一成本假设并排对照,不能凭印象说「回踩更安全」。
编辑器里的均线、比较、交叉、AND、依次触发、入场出场和仓位,已经够搭完整指标选股公式。缺的是把「等回踩」拆成可检验的三段。筛选为零,先松带宽或窗口;批量回撤惊人,动画里多半满是阴跌中继——那不是在否定均线,是在否定当前写法。
今天就能做的两件事:同一池子跑突破版和回踩版,只改入场;再开动画,真假回踩各抽五笔,看 MA60 在买入日是什么姿态。数据会比任何口诀都冷酷。
和金叉、突破混用时,别把剧本搅乱
有人喜欢「金叉或回踩,满足一个就买」——OR 一把梭。回测里交易次数会好看,语义会烂:金叉追的是动量启动,回踩买的是二次确认,胜率结构、持仓天数、适合的出场都不一样。混进同一条策略又不改名,你事后根本分不清赚钱靠哪一半。
更干净的做法是两版并行:一版只金叉(可再加多头过滤),一版只回踩转强。同一区间对照完,再决定实盘跟哪条,或按市况切换——震荡年偏回踩、趋势年偏突破/金叉——切换规则也要写进笔记,别靠盘感临时改。
回踩版里再叠「MACD 零轴上方」可以,但先确认回踩本身在样本外还有边际。入场已经「趋势 + 靠近 + 转强」三层,再加 DIF、DEA 双在零上,命中经常归零。归零不是玄学失败,是过滤叠穿了;这时该减一层,而不是把带宽放到 8% 硬凑信号。
仓位上我倾向回踩比突破略轻一点:假回踩的单笔亏损往往来得快,25% 比 40% 睡得着。连续三笔假回踩后,别立刻把带宽从 2% 收到 0.5%——先看趋势过滤是不是失效了;整个 2022 那种年份,再漂亮的 MA20 也救不了逆势结构。
流动性也别忽略。回踩列表里常混进成交清淡的小票,回测按次日开盘「买到」,实盘滑点能吃掉名义优势。AND 里加成交额门槛(amount 大于某值),是土办法,但比事后抱怨「回测能赚实盘不能」有用。
周复盘时我固定看的三张图
周一若有空,我会打开同一策略的三样东西,而不是重新优化参数。
筛选命中数近一周曲线:突然从每天 8 只飙到 40 只,多半大盘转弱或过滤失效,先停手搞清楚再谈加仓。
单账户权益与回撤:回踩策略锯齿多,要分清是正常摩擦还是结构坏了——结构坏的标志是趋势过滤几乎不起作用,阴跌票大量进场。
动画里最近五笔:专门找「靠近 MA20 那天 MA60 的斜率」。斜率已经向下还放行,说明你的趋势锚太松,或比较条件写反了。
这三步加起来半小时,比周末把带宽从 1.5 扫到 3.5 更接近实盘。参数实验室留给季度级别的研究窗口,别当成每周娱乐。
出场若用「跌破 MA20」,在回踩买入后不久就可能被正常波动扫出去——你刚确认转强,均线还在附近,一点阴线就破。解决办法不是取消出场,而是承认:回踩策略的止损/逻辑出场往往要比突破策略更「有耐心」一点,或者出场改用 MA60,把 MA20 只留给入场。两种写法各跑一版,看被洗率和平均持仓,比拍脑袋选一个好。
还有人用固定持有 10 个交易日作出场,回踩版有时反而干净:免去均线缠绕期的反复信号。缺点是趋势延伸时会卖早。把它当作对照组,不要当作唯一真理。
想从零搭条件并跑筛选与回测,可在 青柠量化 产品页 下载桌面端;策略在本地,改一版带宽、看一版命中,闭环自己控。
免责声明: 本文仅作量化研究方法与软件使用说明,不构成投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。