夜雨聆风学习资料网

ARTICLE · 1357459

「指路突破」指标源码解读:盘中冲过前高,一半收盘就跌回去

「指路突破」指标源码解读:盘中冲过前高,一半收盘就跌回去

第一天收一根带长上影的 K 线,第二天价格盘中越过它的最高点,再动手。

这套公式的全部内容就是这一句。名字里的「指路」说的是第一天那根上影线:它先把高点探出来,第二天看有没有人愿意越过去。

越过去这个动作,公式写在收盘价上。好1 的最后一项是 C>REF(H,1),C 是收盘。所以晚上在图上看到的那个箭头,是这根 K 线收完之后才成立的。

实盘不是这样。做这个形态的人,挂单在盘中价格穿过第一天最高价的那一刻。那一刻收盘价还没定,你不知道它会不会守在上面。两种买法只差一个下午,结果差得比想象中大:5,250 次触发里,2,580 次在买入当天收盘就跌回第一天最高价下面,占 49.1%。

一、这个指标在做什么

三段代码摊开,主图负责在图上画,副图负责在下面堆柱子,选股负责出一根 XG。三份用的是同一套条件,分五层:

第 1 层 · 认第一天:指路 算上影占全天振幅的比例,取前一天的值,要求超过 0.5。第 2 层 · 加前置:前天相对大前天涨过 5%,或者今天涨停。第 3 层 · 认今天:收盘价越过第一天的最高价。第 4 层 · 加 MACD:柱状线连着两天为负。第 5 层 · 合成:好1 AND 好2 AND 好3,再跟 集合1 用 OR 并起来,得到 集合。

前四层都在描述形态,第五层才决定选不选。这五层里有两处的写法和名字对不上:突破 这个名字装的是前天的涨幅,好3 这一行量纲不通、恒为真。后面逐条说。

先给结论:这套公式真正在筛的东西只有四样,第一天长上影、前天涨过 5%(或今天涨停)、今天收盘越过第一天最高价、MACD 柱连着两天为负。

其中起决定作用的是最后一样。我把 MACD 那条去掉重跑,同样的买法下信号从 5,250 个涨到 20,739 个,5 日平均收益从 +1.25% 掉到 +0.29%,胜率从 50.8% 掉到 45.1%。没有那一条,「仙人指路」这四个字本身几乎不带超额。

二、逐层拆解

(一)第一天那根上影怎么认

指路:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW);

分子是最高价减掉实体的上沿(开盘和收盘里高的那个),分母是全天振幅。比值超过 0.5,就是上影线比实体加下影还长,当天冲高之后被压回来一半以上。这个比例写在 好1 的第一项里:

好1:=REF(指路,1)>0.5 AND 突破 AND C>REF(H,1);

意思是今天看到的这个信号,用的是昨天那根 K 线的上影比例。所以「第一天」就是信号日的前一根。拿后面图 4 那张掌阅科技举例:2020-05-13 开 33.01、高 33.60、低 32.47、收 32.94,上影占振幅 0.52,刚过线。图 5 那张康辰药业 2023-04-28 是 0.66,上影更明显。

学习要点:这个 0.5 是一道很宽的闸。2020 年以来,「前一天上影过半、第二天盘中越过它的最高价」这种组合出现过 390,397 次,摊到每个交易日两百多次。它不稀缺。

(二)「突破」这个名字装的是前天

ZT:=C/REF(C,1)>1.095 AND C=H;DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2;指路:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW);突破:=REF(C,2)/REF(C,3)>1.05 OR ZT;

REF(C,2) 是前天的收盘,REF(C,3) 是大前天的收盘。所以 突破 算的是「前天相对大前天涨了 5% 以上,或者今天涨停」,跟突破新高没有关系。真正在认突破的是同一行末尾的 C>REF(H,1)。

这个 OR 把两类不同的票并到了一条道上。好1 在全部位置上一共成立 22,157 次,其中「前天涨过 5%、今天不涨停」8,408 次,「今天涨停、前天没涨 5%」11,792 次,两者都成立的 1,957 次。后者占一半以上,它其实是「今天涨停」这一支混进来的。

学习要点:读这类公式,变量名不能当注释用。突破 里真正管突破的只有末尾那三个字符组 C>REF(H,1),前面那一截管的是前天有没有涨过。

(三)好3 这一行不成立

好2:=COUNT(MACD< 0,2)=2;好3:=REF(V,2)/REF(C,3)>2;

分子是两天前的成交量,单位是股;分母是三天前的收盘价,单位是元。量除以价,出来的是一个没有意义的数。实测在 好1 AND 好2 成立的位置上,这个条件成立了 7,203 次,而这些位置一共就是 7,203 个,真值率 100.0000%。它等于没有写。

按上下文推测,本意应该是 REF(V,2)/REF(V,3)>2,两天前的量是大前天两倍。把它改对,按同一种买法(盘中越过就买),信号从 5,250 个掉到 1,147 个,5 日平均收益从 +1.25% 掉到 +0.67%,胜率从 50.8% 掉到 43.0%。

这一条必须说清楚:改对之后这个公式就不是现在这个样子了。它现在能用的那部分,正好建立在这一行什么都没筛的基础上。

学习要点:判断一个条件有没有用,不能看它长得像不像,要跑真值率。同一个位置集合上,条件成立的比例接近 100% 或者接近 0,都是失效。

(四)主图上那个「↙指路」是事后画的

前一日:=BACKSET(集合,2),COLORRED;上影:=BARSLASTCOUNT(前一日)=1;

BACKSET(X,2) 把 X 成立的位置往前推两根,也就是把今天的标记挪到昨天去。BARSLASTCOUNT(前一日)=1 再取这段标记的第一根。取证:让 集合 在第 8 根和第 15 根成立,BACKSET 序列里为 1 的位置是 7、8、14、15,上影 命中的是 7 和 14。

标记总是落在 集合 成立的前一天。昨天收盘的时候,你不知道今天会不会成立。所以图上「指路在前、突破在后、很准」的视觉效果,是事后补上去的。

要注意的是,选股段用的是 集合 本身,那一段没有这个问题。有问题的是主图那根黄柱子和那个箭头:把它们当买卖点看,就是拿未来的信号做昨天的决定。

学习要点:BACKSET 配合 BARSLASTCOUNT 是画「前置标记」的常规手法,看盘很舒服,回测很危险。区分办法只有一个,看输出用的是谁:输出 集合 就正常,输出 上影 就前视。

(五)集合1 那一支,三条里两条不筛

ABC1:=REF(H,1)/MAX(REF(C,1),REF(O,1))>1.03 AND MAX(REF(C,1),REF(O,1))/MIN(REF(C,1),REF(O,1))< 1.02;ABC2:=C/REF(C,1)>1.09 AND REF(V,1)>REF(V,2) AND REF(V,1)>REF(MA(V,5),1);ABC3:=REF(O,1)< REF(H,2) AND C>O;集合1:=ABC1 AND ABC2 AND ABC3;

这是另一套想法,跟前面那条路几乎不重叠:前一天上影长、实体小(ABC1),今天涨 9% 以上且昨天量比前天大、比 5 日均量大(ABC2),前一天的开盘价低于前天的前高(ABC3)。

三条各自成立的比例:ABC1 占全部交易日位置的 3.29%,加上 ABC2 之后只剩 0.05%,说明砍掉样本的是「今天涨 9%」这一条;ABC3 单独成立的比例是 90.40%,等于没筛。三条全中一共 2,414 个,占 0.03%。

学习要点:一条条件筛掉 98% 的样本,另一条放行 90%,把它们 AND 在一起,实际起作用的只有前一条。想知道哪条在干活,逐条数成立率,别整体看。

三、信号在图上长什么样

下面是 5,250 次盘中触发,按「买入当天收盘,站在第一天最高价上面还是下面」切成四档。买价统一按第一天的最高价算,持有 5 个交易日后收盘卖出:

图 1|5,250 次触发按当天收盘位置分四档,2020-01 起至 2026-11-13

这条线是单调的。收盘跌破昨高 3% 以上的 484 次,五天后平均亏 6.53%,胜率 24.6%;跌回但没跌到 3% 的 2,013 次,亏 0.93%;站上但不到 3% 的 1,861 次,赚 2.48%;站上 3% 以上的 892 次,赚 7.82%,胜率 72.4%。当天收盘站在哪一边,几乎决定了后面五天。问题是盘中挂单那一刻,你不知道会落在哪一档:前两档合起来 2,497 次,接近一半。

把两条路分开算,是这个结果:

买法
信号数
5 日均值
中位数
胜率
只认形态,不要求 MACD
20,739
+0.29%
-
45.1%
加 MACD,盘中越过就买(全部触发)
5,250
+1.25%
+0.22%
50.8%
加 MACD,等收盘确认再买
2,670
+1.60%
+0.62%
52.7%
随便哪天收盘买(基准)
7,450,256
+0.22%
-
47.5%

盘中买每一笔都买,包括那 2,580 次当天就被打回来的;收盘买只买守住的 2,670 次,代价是买价更高。两种做法各自的均值是 +1.25% 和 +1.60%,等收盘多出来的这 0.35 个百分点,是躲开假突破换来的,代价是机会少一半。

再看 +1.25% 这个数是怎么来的:守住的 2,670 次平均 +4.30%,跌回的 2,580 次平均 −1.90%,按这两拨的样本数加权,就是 +1.25%。一半赚得不错,一半在亏,合起来只剩下一点。

扣掉双边成本(佣金按万三双边 0.06%、卖出印花税千一 0.1%)后,盘中买剩 +1.09%,收盘买剩 +1.44%,基准剩 +0.06%。

分年看,2023 是唯一两条路都亏的年份,2024 最好:

图 2|分年 5 日平均收益,两条买法并列

七个年份里,收盘买有五年高于盘中买;2020 和 2021 两年反过来,那两年盘中买更好。整体结论没变:这一路真正的超额很小。

下面是三张真实的走势,都是主板样本,前后没有除权跳空。橙色点线是第一天最高价,紫色虚线是第一天,蓝色虚线是第二天。

图 3|禾望电气 603063,第二天 2025-03-12,买价 30.75

第一天 2025-03-11 收 30.11,上影到 30.75,占振幅 0.51。第二天开 30.09,低于这个价,盘中越过去,最高冲到 33.00,收盘 31.56,站住了。五日后收 33.24,相对买价 +8.10%。这是守住的样本。

图 4|掌阅科技 603533,第二天 2020-05-14,买价 33.60

同一套形态:第一天 2020-05-13 上影到 33.60,占振幅 0.52。第二天开 33.00,盘中最高 33.78,越过去了,然后一路往下,收 31.95,比第一天最高价低 4.91%。在 33.60 挂单成交的话,当天收盘就是浮亏的。五日后收 31.58,相对买价 −6.01%。这一笔和上一笔在买入那一刻完全一样,收盘才分出来。

图 5|康辰药业 603590,第二天 2023-05-04,买价 37.56

这张是跳空的情况。第一天 2023-04-28 上影到 36.88,占振幅 0.66。第二天直接开在 37.56,比那个高点多 1.84%,盘中根本没有「上穿 36.88」这个动作,只能按开盘价成交。当天涨停收 39.64,看着很强,五日后收 37.57,相对 37.56 只有 +0.03%。开盘就跳过去的那种,成本比第一天最高价还高。

这类跳空的样本一共 301 个,5 日平均收益 0.00%,胜率 42.5%。跳空本身不带来额外的东西,只是把买价抬上去了。

四、主图、副图、选股,三段不一样

输出
画出来的东西
主图
MA1
黄柱子、圆圈、两个箭头、5 日均线
副图
无
一根 0 到 6 的红柱,配四个字
选股
集合
一根 XG

条件三份完全一样,差别在最后几行:主图把信号画在 K 线上,副图把信号画成一个固定高度的柱子,选股只留一个布尔输出。副图和选股省掉了主图专用的那几个显示变量,信号条件一条不少。

主图里有五个变量定义了却一次都没用到:游资筹码 只是把成交量改了个名,P 取总股本、涨停价、跌停价 三行算完之后一次都没被引用,好股网 也是定义了没用。这五个删掉,信号一个不变。

副图那一段,STICKLINE(集合,6,0,1,0) 是画一根从 0 到 6 的红柱,后面四行 DRAWTEXT 分别在第 5、4、3、2 层写「★突」「★破」「★上」「★影」,四个字竖着排下来。这几个数字是坐标位置不是条件,所以只能在副图上用,搬到主图会画到价格坐标系里去。

五、实战使用注意事项(必看)

① 盘中买和收盘买是两个策略,别混着测。公式用收盘价确认信号,实盘在盘中下单,这是两件事。任何按 C>REF(H,1) 写的回测,统计到的都只有「收盘守住」的那一半,跌回来的那一半被当成「信号不成立」剔掉了。那些单子在实盘里是真买了、也真亏了。
② 前视的代价,具体是这个数。同样拿第一天最高价当买价,只统计收盘守住的 2,670 次,5 日平均 +4.30%,胜率 63.0%。全部触发是 5,250 次,+1.25%,胜率 50.8%。收益差 3.05 个百分点、胜率差 12.2 个百分点,都来自「事后知道哪一半守住了」这一件事。
③ 好3 恒真,改掉它公式就变了。真值率 100.0000%(7,203/7,203)。按本意改成量比量之后,信号 5,250 掉到 1,147,5 日收益 +1.25% 掉到 +0.67%,胜率 50.8% 掉到 43.0%。想用现在这个版本,就得知道它这一行筛不掉任何东西;想改对,就接受它变成另一个公式。
④ 主图那个「↙指路」不能当买卖点。BACKSET 把它标在信号成立的前一根。看盘时它出现的位置很好看,但那根 K 线收盘的时候,信号还没成立。选股段用的是 集合,那段没这个问题。
⑤ 跳空开在第一天最高价之上的,买价是开盘价。301 个这样的样本,5 日平均 0.00%。这类样本根本不存在「上穿」这个动作,照第一天最高价算收益是虚的,实际成本要高 1% 到 5%。
⑥ 分板块差别很大,北交所那一档不能用。主板 2,615 次 +1.11%,创业板 1,697 次 +1.53%,科创板 684 次 +2.17%,北交所 254 次 −1.59%(收盘买 −3.97%)。北交所样本少、流动性差,这一档的数不具备参考价值。

还有一句方向上的话。这套公式给出的信号,在 120 日区间里的位置中位数是 0.58、均值 0.56,其中 42.9% 落在区间下半部。它不在底部,别当抄底工具用。

六、这个指标在描述什么

它描述的是一个动作:第一天冲高回落留下上影,第二天有人愿意越过那个高点。这个动作本身有含义,说明第二天开盘后买盘还在。

但它只描述到「越过去」为止,不描述「越过去之后守不守得住」。

所以这套公式最有用的一句话,不是「什么时候买」,是「买进去之后看什么」:看当天收盘站不站在第一天最高价上面。图 1 那条四档线的两头,一头是赚 7.82%,一头是亏 6.53%,差 14 个百分点,而这个位置在盘中是看不出来的。它给你的是一个候选池,不是一个买点;哪一半能留下,要等收盘。

另一点要说清楚:真正把收益抬起来的是 MACD 那一行,不是上影线。去掉它以后,这个形态的 5 日平均只剩 +0.29%,跟随便买差 0.07 个百分点。留下来的那批,是「MACD 柱刚转弱、又被人反包回去」的走势,跟「上影线指了个方向」没有关系。

七、完整源码

(一)主图

{指路突破主图}ABC1:=REF(H,1)/MAX(REF(C,1),REF(O,1))>1.03 AND MAX(REF(C,1),REF(O,1))/MIN(REF(C,1),REF(O,1))< 1.02;ABC2:=C/REF(C,1)>1.09 AND REF(V,1)>REF(V,2) AND REF(V,1)>REF(MA(V,5),1);ABC3:=REF(O,1)< REF(H,2) AND C>O;集合1:=ABC1 AND ABC2 AND ABC3;ZT:=C/REF(C,1)>1.095 AND C=H;DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2;指路:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW);突破:=REF(C,2)/REF(C,3)>1.05 OR ZT;好1:=REF(指路,1)>0.5 AND 突破 AND C>REF(H,1);好2:=COUNT(MACD< 0,2)=2;好3:=REF(V,2)/REF(C,3)>2;集合:=集合1 OR (好1 AND 好2 AND 好3);前一日:=BACKSET(集合,2),COLORRED;上影:=BARSLASTCOUNT(前一日)=1;STICKLINE(上影,CLOSE,OPEN,1,0),COLORYELLOW;好股网:=HHVBARS(上影,21)+1;DRAWICON(集合,L,9);DRAWICON(上影,L,1);STICKLINE(集合,CLOSE,OPEN,2,0),COLORRED;DRAWTEXT(上影,H*0.98,' ↙指路'),COLORWHITE;DRAWTEXT(集合,L*0.98,'★突破'),COLORMAGENTA;MA1:MA(CLOSE,5)COLORGREEN;

(二)副图

{指路突破副图}ABC1:=REF(H,1)/MAX(REF(C,1),REF(O,1))>1.03 AND MAX(REF(C,1),REF(O,1))/MIN(REF(C,1),REF(O,1))< 1.02;ABC2:=C/REF(C,1)>1.09 AND REF(V,1)>REF(V,2) AND REF(V,1)>REF(MA(V,5),1);ABC3:=REF(O,1)< REF(H,2) AND C>O;集合1:=ABC1 AND ABC2 AND ABC3;ZT:=C/REF(C,1)>1.095 AND C=H;DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2;指路:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW);突破:=REF(C,2)/REF(C,3)>1.05 OR ZT;好1:=REF(指路,1)>0.5 AND 突破 AND C>REF(H,1);好2:=COUNT(MACD< 0,2)=2;好3:=REF(V,2)/REF(C,3)>2;集合:=集合1 OR (好1 AND 好2 AND 好3);STICKLINE(集合,6,0,1,0),COLORRED;DRAWTEXT(集合,5,'★突')COLORYELLOW;DRAWTEXT(集合,4,'★破')COLORYELLOW;DRAWTEXT(集合,3,'★上')COLORYELLOW;DRAWTEXT(集合,2,'★影')COLORYELLOW;

(三)选股

{指路突破XG}ABC1:=REF(H,1)/MAX(REF(C,1),REF(O,1))>1.03 AND MAX(REF(C,1),REF(O,1))/MIN(REF(C,1),REF(O,1))< 1.02;ABC2:=C/REF(C,1)>1.09 AND REF(V,1)>REF(V,2) AND REF(V,1)>REF(MA(V,5),1);ABC3:=REF(O,1)< REF(H,2) AND C>O;集合1:=ABC1 AND ABC2 AND ABC3;ZT:=C/REF(C,1)>1.095 AND C=H;DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);DEA:=EMA(DIF,9);MACD:=(DIF-DEA)*2;指路:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW);突破:=REF(C,2)/REF(C,3)>1.05 OR ZT;好1:=REF(指路,1)>0.5 AND 突破 AND C>REF(H,1);好2:=COUNT(MACD< 0,2)=2;好3:=REF(V,2)/REF(C,3)>2;集合:集合1 OR (好1 AND 好2 AND 好3);

三段都是单行。粘进行情软件新建指标时,主图建成「主图叠加」,副图建成「副图」,选股建成「条件选股」。中文变量名和 ★ 这类符号在软件里能正常显示,不用为了保险把它们改成字母。

免责声明:本文只做指标结构的解读,不构成任何投资建议,也不代表对未来走势的预测。文中所有图形与统计均取自历史行情,仅供说明形态之用。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料