用渐进模式研发一个交易模式:从看见形态到规则完善

作者:大柳 · 首发:
首发于知乎:https://zhuanlan.zhihu.com/p/2081828509350155117

本文目录

这篇记的是一次完整的研究过程,篇幅比较长:盘中看见一个形态,把它写成能全量匹配的规则,逐笔核对匹配结果,发现规则漏洞,回去改规则,再跑。反复几轮,直到规则能在样本上一条不漏地机械执行。

全程只用走势分解——中枢、走势类型、级别,这些能机械算出来的东西。不讲背驰,不讲力度,不碰 MACD。不是它们不重要,是这次一次都没用到。这本身是个值得记的事实:只靠分解、不碰动力学,能把一个模式推进到什么程度。

也先把话说在前头:**这次研究没有做全市场回测,所以现在还没有任何可以称为”策略性能”的东西。**最后一节专门说这件事。


一、起因:看见了一个形态

研究的起点有两个。

第一个是缠析软件已经开发完毕:导入行情后,线段、中枢、走势类型、级别逐层自动划出来,走势可以正确分解。

第二个是一个偶然。导入通达信的当日走势,翻到 sz002837,在复盘里看段点64之后的那一段,看到了这样一个东西:

本级别取5分级别。

图1.1:本级别下跌形成

本级别走势已经转向下,先在91停住一次,又延伸了一次,停在一个低点103。到这一步,这段走势已经构成一个类5分下跌64,~103。

图1.2:本级别中枢雏形

这个低点103左侧那段1分向上走势91~92 ,和右侧那段1分向上走势103~106,两者重叠形成了一个5分中枢——一个跨着这个低点103的中枢。

感觉这个模式有赚头:类5分的下跌已经走出来,这个5分中枢又把那个低点框在了下方,接下来如果向上走,那个低点就是一个天然的5分一买。

问题随之而来:它是真的,还是这一只票的偶然?

手工答不了。翻历史图去数,一是数不过来,二是翻的时候你已经知道后面怎么走了。只能把它写成规则,让程序全池匹配。


二、把看到的东西写成规则

最初的策略描述是六条:

  1. 本级别取5分;
  2. 本级别走势已转向下,先停住一次后延伸了一次,停在一个低点E,此时这段走势已形成类5分下跌;
  3. 该低点E左侧的1分向上走势与右侧的1分向上走势形成5分中枢;
  4. 随后,该低点E右侧的1分向上走势可能延伸,也可能不延伸;
  5. 随后,向下的1分走势出现,此时买入,该低点E即止损位;
  6. 随后那个低点被向上突破,本级别走势转向上,当该走势中出现第一个本级别中枢时卖出。

图2.1:买入卖出信号

看起来清楚,但每一条都藏着能踩的地方。

「停住」是哪一点?一段走势停在那儿,是转折还是延伸?谁也不知道(这里的分析不涉及动力学,所以不拿MACD说事儿), 只能靠后续的分解来假设,低点E之后的第一条1分向上走势出现,本级别中枢随之出现,这就是判断时机。

我在这里给了假设:我认为本级别下跌之后出现本级别中枢,意味着将来上涨的可能性很大。

「中枢」这里取了虚的, 软件里未定型的画虚线框,定型的转实线。研究时定的是取虚线——出现两个反向的1分走势、重叠成立的那一刻就算数,不等转实。理由很实在:等它转实就晚了,而晚掉的这一段恰恰是这个模式要吃的那一段。

第6条的卖法——”本级别走势转向上后出现第一个本级别中枢时卖出”——是初版。它后面被整个换掉了,换的原因下面会讲。

实验方法也是这时候定下的:给一个模式,先写匹配代码去匹配我看到的那个片段;对上了再全量匹配;然后找相同与不同,想办法精细化模式描述和买卖点、止损止盈等点位;再跑回测,直到确认可用或不可用为止。


三、渐进模式下的回放在这里怎么用

这是全篇的核心,后面每一笔交易分析中的每一步都要用到它。

历史图给你的是完成态:所有走势都被后面追认过了,中枢都定了型。而渐进模式要判的每一件事——停住点停在到哪儿了、中枢此刻成没成立、第三类买点当场算不算数——问的都是”此时此刻”,完成态的图上根本提不出这些问题。

渐进回放把时间倒回去,逐根K线往后推,分解跟着重算。于是三件事变得看得见:

这里用动图或视频比较容易表达这种动态效果,太麻烦我就不上了。

用法上有两条是这次摸出来的。

规则写完,先回到最初看见模式的那张图上。因为写下的是你看到的东西,不一定是真实的东西,这两者的差别只有对上号才暴露。在 sz002837 上对完,立刻就发现”停住”的含糊——程序取的点和眼睛看的点不是同一个。

图3.1:另一笔的买入卖出信号

再就是找同模式的第二笔,比对差异。sz002837 这一只票上,低点43那里还有一处同样的形态,一处赚一处不赚。从渐进回放上看,低点43那一笔的问题出在卖点选择——按初版第6条”本级别中枢首现即卖”,卖早了。两个同类样本的差异,就是规则里还没写进去的条件。这比上来就跑全池有效得多。

这也是初版卖法被换掉的起点。


四、先看图,再定买卖点

再导入一些片段,一个一个看,找到以下这些:

品种 / 片段 低点
sz002893(2017-11) 59
sz002893(2021-02) 90
sh000001(2010-05) 246
sh000001(2024-07) 227

逐图看下来,先定出了几条到最后都没再改的规则。

出场判断是滞后的,而且这个滞后是固有的。这个中枢要等低点右侧那段1分向上走势走出来才成立,等确认了,相当于晚了两拍。晚是晚了,但因为这是类5分下跌的延伸,晚的这两拍倒不会造成亏损。

买点定义。跨低点中枢出现之后,接着出现的第一条1分向下走势,它首现的那一拍就是买点。后来又加了一条精化:点位取这条走势的第一个停住点,成交价是它确认时刻所在那根1分钟K线的下一根开盘价(避免前视偏差)。

卖点要脱离买点那个枢。这是低点43教的。初版卖法”出现第一个本级别中枢时卖”会把这个枢当成卖点的枢,于是卖早。卖点看的中枢,所以必须是脱离买点附近的那个。

用第三类买点做持仓确认。这是替换初版卖法的核心:

  1. 买入之后开始数拍,只数四拍,第2拍和第4拍各查一次是不是第三类买点;
  2. 出了三买,就是上涨确认,也是持仓确认——持仓,止损上移到第三类买点,本轮结束;
  3. 等到下一个本级别中枢,再等那个中枢的第三类买点;
  4. 第 2、4 拍都没出,就得在这个枢的中枢上沿之上卖掉;
  5. 中枢上沿也没突破,就只能等止损。

几条边角也是这时候定的:

  1. 买点之后开始数拍,拍的方向奇数拍向上、偶数拍向下;
  2. 只管中枢上沿不管下沿;
  3. 买入价不能在中枢上沿之上。

到这里规则的骨架已经是后来的形态了。但真正的问题,是在五笔逐单核对时才一个一个冒出来的。


五、五笔逐单核对

全池匹配后选了五笔核对:⓪ 是最初给出模式时用的原始样本 sz002837,尚在持仓中;①~④ 是选出的四笔已平仓样本。它们不是随机抽的,是凑齐了规则的全部分支——每一笔走一条不同的路。逐笔看的目的不是看赚赔,是看规则在这条路上有没有漏洞。

下面说的”拍”,指的是次级别1分走势,不是线段。走势有延伸的话延伸归前一拍,这样段点号才能首尾相接。

笔 品种 / 片段 低点 买点走势 出场方式 结果
⓪ sz002837(2026-08) 103 114~117 持仓中 浮盈 +15.03%
① sz002893(2017-11) 59 72~77 突破中枢上沿卖出 +20.52%
② sz002893(2021-02) 90 99~100 突破第二个中枢上沿卖出 +71.09%
③ sh000001(2010-05) 246 249~252 第三类卖点出场 −2.03%
④ sh000001(2024-07) 227 232~235 止损 −2.09%

五笔覆盖了规则的全部分支:⓪ 第2拍出第三类买点、持仓等第二枢;① 二、四拍都没有第三类买点、突破中枢上沿卖;② 第2拍出第三类买点、持仓到第二枢,第二轮二、四拍无第三类买点、突破第二枢中枢上沿卖;③ 同拍出两拍、挂单成交,无第三类买点、走第三类卖点;④ 无第三类买点、无中枢上沿突破、无第三类卖点、等止损。

⓪ sz002837:原始样本,第2拍出第三类买点

本级别走势转下、停住后延伸,停在低点103。这个低点左右两侧的1分向上走势构成跨低点中枢。这个中枢是随走势延伸逐步延伸的,延伸了3次,直到1分向下走势出现。

未定型中枢出现后接着的1分向下走势是 114~117,这是规则规定的买入信号,取确认时刻下一根1分钟K线的开盘价成交,买价在当时的中枢上沿之下(见图2.1 买入信号)。

买点后该走势还延伸了1次(不能取延伸点做买入信号,否则就是前视),等走势延伸完,开始数拍:

图5.1:⓪ 第三类买点137确认那一刻与第二个中枢首现

第2拍就出第三类买点,持仓,止损上移,本轮结束,等第二个本级别枢。图中第二个中枢已出现,正在等它的第三类买点。数据到尾仍持仓中,浮盈 +15.03%。

这一笔上发现并解决的问题:

① sz002893(2017 年):二、四拍都没有第三类买点,突破中枢上沿卖

低点59,止损位。跨低点中枢2017年12月6日首现。 未定型中枢出现后接着的1分向下走势是72~77,第一个停住点77,这就是买点。取确认时刻下一根1分钟K线的开盘价成交,在中枢上沿之下,合规。

图5.2:① sz002893的买入信号

这条走势后来延伸到 85,延伸归本拍,从85开始数:

图5.3:① sz002893的买入后无三买

二、四拍都没出第三类买点,按规则等K线突破中枢上沿。2018年1月10日 09:29那根收盘31.20首次突破中枢上沿,突破那根只作观察,次根开盘卖出,+20.52%。

这一笔上没发现规则的漏洞。

② sz002893(2021 年):两轮走完,最完整的一条链

低点 90,止损位。跨低点中枢2021年3月2日首现。 未定型中枢后接着的1分向下走势 99~100,3月11日 11:10 确认,买点。次根开盘成交,在中枢上沿之下,合规。

图5.4:② sz002893的买入信号

第一轮:

图5.5:② sz002893的三买

第三类买点在这条走势走完那一刻,段点113已经出来,107~108 明显是离开中枢后的未回段。第2拍就出第三类买点,持仓,止损上移,本轮结束,等第二个本级别枢。

第二个中枢 (107, 118) 于4月7日 11:26 出现,后延伸至124。枢内下上下三拍不算,从枢内第4拍起数第二轮:

图5.6:② sz002893的第二枢未出三买

二、四拍都没出第三类买点,等突破第二枢中枢上沿。5月17日 09:29 收盘首次突破第二个中枢的上沿,次根开盘卖出,+71.09%。

这一笔上没发现规则的漏洞。

③ sh000001(2010 年):同拍出两拍,挂单,走第三类卖点

低点 246,止损位。跨低点中枢2010年5月25日首现。

未定型中枢出现后接着的1分向下走势是 249~252,5月28日 09:58 确认。但这一拍和它后面的一拍是同时出现的——同一批新数据让程序一口气追认了两段走势,等252被追认时,图上已经画到255了。

等你看到买点信号,价格已经跑到后面那一拍去了。此时次根开盘已经反弹上去,按”下一根开盘”去买就是追高。处理办法是挂单,挂在这条向下走势的终点252等回踩,5月31日 14:45 成交。若不挂单而去追,本笔是 −4.44%。

图5.7:③ 同一时刻追认两段走势的渐进回放截图

开始数拍:

图5.8:③ 出了三卖

二拍没出第三类买点,而三拍出了,6月4日 14:44 成立。按”第三类卖点一出即卖”,离场,−2.03%,比干等止损好。

这一笔上发现并解决的问题有三个,都是看图看出来的,不是想出来的:

④ sh000001(2024 年):没走到判断就止损

低点 227,止损位。跨低点中枢2024年7月11日首现。

未定型中枢后接着的1分向下走势 232~235,7月15日 10:23 确认,买点。次根开盘成交,在中枢上沿之下,合规。

根本没机会判断二、四拍,按规则7月24日 09:30 触及该低点止损离场,−2.09%。

图5.9:④ 止损出场

两笔亏损都在 2% 附近,因为止损位就是那个低点,位置本来就近。


六、规则是怎么一步步长出来的

把上面五笔的发现按时间顺序摆开,规则是在三天内一笔一笔分析出来的,也是走势一段一段长出来的:

第一天:模式骨架六条、实验方法、中枢取虚线、先在原始样本上对号、比对低点43与低点103的差异。

第二天:导出片段逐图看;判出滞后是固有的;买点定义;卖点要脱离买点的枢;用第三类买点作持仓确认,第 2、4 拍查;第三类买卖点有严格定义不许自己发明;出第三类买点则移止损到第三类买点、等第二枢;只管中枢上沿不管下沿;奇数拍向上偶数拍向下;不满足只能等止损;买价须在买入拍当时的中枢上沿之下。

第三天:理顺级别——本级别取5分(类5分也算)、次级别1分,拍是次级别走势不是线段,延伸归前一拍;第二枢从枢内第4拍起算;点位只看第一个停住点;成交价取确认时刻的次根开盘;时钟只认确认时间;段点必须首尾相接;第三类买卖点都判在次级别走势走完那一刻;同拍出两拍则挂单;涨停顺延。

发现的问题是因为规则本身没想周全:初版卖法混淆了买点的枢和卖点的枢;出第三类买点后没结束本轮;离场手段只有两条,缺第三类卖点;没有挂单机制。

当前规则的完整形态如下:

级别:本级别取5分(类5分也算),次级别1分。拍 = 次级别走势,延伸归前一拍,段点首尾相接。

入场:本级别走势转下、先停住一次后延伸一次停在那个低点,已成类5分下跌;那个低点左右两侧的1分向上走势构成5分的未定型中枢;未定型中枢出现后接着的第一条1分向下走势即买点,只能取其第一个停住点;成交价取该走势确认时刻所在那根1分钟K线的下一根开盘价;买价须不高于买入拍当时的中枢上沿;若买点走势与其后一拍同时确认,挂单在该走势终点,第1拍结束前不成交即作废;止损位 = 那个低点的价。

第一轮(买点走势延伸完后起数):只数4拍,第 2、4 拍各查一次第三类买点。第三类买点 = 次级别向下走势、两端都在中枢上沿之上,判在该走势走完那一刻。出第三类买点 ⇒ 持仓、止损上移到第三类买点、本轮结束、等第二个本级别枢。二、四拍都没出 ⇒ 等K线突破中枢上沿卖出。第三类卖点 =1分向上走势、两端都在中枢下沿之下 ⇒ 第三类卖点一出即卖。都没有 ⇒ 等止损。

第二轮及以后:第二个本级别枢出现,枢内下上下三拍不算,从枢内第4拍开始数,同样只数4拍,第 2、4 拍查第三类买点,处置同第一轮。

卖出成交:突破中枢上沿那根收盘只作观察,成交取下一根开盘;若该根开盘即涨停,顺延到次日开盘,仍开盘涨停再顺延。


七、前视是怎么一条条堵掉的

这一类单独拿出来说,因为它最隐蔽——在完成态的图上,前视是不显形的。

点位只看第一个停住点,不看终点。走势如果还会延伸,终点是后面才知道的;当下你看不见终点,只看得见它此刻停在哪儿。用终点就是拿未来的信息做当下的决定。

成交价取下一根开盘。信号在某根K线上确认,成交价就得取下一根的开盘价,不能用这根的收盘价,更不能用这根的最低价。

买价要在当时的中枢上沿之下。注意是”当时”——跨低点中枢会随走势延伸而抬升,不能拿信号时刻的快照,要取买入那一拍当时的值。

第三类买卖点判在次级别走势走完那一刻。不等高一级别那层落定,也不等走势延伸完——延伸完了再判,就是拿后面的信息判前面的事。

涨停这条也归前视。卖出信号触发那根如果开盘就在涨停位,顺延到次日开盘再卖,次日仍开盘涨停继续顺延。只认开盘价,因为开盘价是当场就能看见的事实;若用”当天有没有涨停”来判,那是收盘后才知道的事。顺带说一句,涨停照样卖得出去——涨停是买不进,不是卖不掉。

“卖顶”这种说法要警惕。第一天就有这一问:卖点出现时,顶已经出现了吗?如果一个卖点的定义依赖于”顶已确认”,而顶的确认要等后面的走势,那它就是前视的。规则里所有的卖点最后都落到了当场可判的事件上:K 线收盘突破中枢上沿、第三类卖点的走势走完、触及止损价。


八、下一步:全市场回测,这一步还没做

到这里,规则已经能跑、五笔逐笔核对过、前视也一条条堵了。但这距离”一个可用的交易策略”还差着关键一步。

**五笔样本说明不了任何统计问题。**它们的作用是覆盖分支——每一笔走一条不同的路,用来查规则在那条路上有没有漏洞。这个目的达到了。但覆盖分支和统计性能是两码事:五笔里已平仓的只有四笔,两赚两亏,这个比例没有任何意义,换五笔可能就反过来。剩下那一笔还在持仓中,它最终是赚是赔现在根本不知道。

要做的是全市场回测。把规则放到全市场、足够长的历史区间上跑,统计这些东西:匹配到多少次、胜率多少、单笔盈亏分布、最大回撤、盈亏比、持仓周期,以及各个分支各自的表现——走第三类买点确认那条路的和干等止损那条路的,绩效肯定不一样,得分开看。还要看模式在不同市场阶段的表现差异,牛市熊市震荡市分开统计。

只有这些数出来,才谈得上判断这个模式能不能用、该用多大仓位、什么条件下该停用。

**这一步目前没有做。**所以这篇讲的是流程,不是结论——是一份可以照着走的研究记录,不是可以照着做的交易方法。把前面任何一个数字当成”这个模式能赚多少”来看,都是误读。


九、几句附带的

只用分解能走多远,这次给了一个下限。全程没碰背驰、没算力度,靠的全是能机械判定的东西:走势的起止、中枢的区间、第三类买卖点的定义、走势走完的时刻。动力学那一层要不要加、加了有没有改善,是另一个问题,但至少分解这一层能独立支撑到跑完一轮逐笔核对。

同模式的两笔比对,比一百笔的统计更早告诉你规则缺了什么。低点43和低点103的差异换掉了整个卖法;③ 一笔上”同时出两拍”这一个组合补上了挂单和第三类卖点两条出路。规则的漏洞往往长在你没想过的组合上,而逐图回看是发现这种组合最有效的办法。

研究过程本身比结果值得记。问题里没有一处是”想”出来的,全是跑出来、看图看出来、或者两笔一比比出来的。渐进回放在这里不是个可有可无的辅助,它是唯一能把”当时能看见什么”还原出来的手段,而这次要判的每一件事都只在”当时”这个前提下才成立。

缠析 —— 不用手画笔和线段,把力气花在看懂级别上。

介绍与下载:缠析 · 缠论自动画线工具(电脑版)

← 返回文章列表