条件一 近 3 个交易日出现过「连板数 = 2」,恰好等于 2。2 板日必须早于基准日, 且此后没有再封板(再封板是 3 板延续,不是回调)。
条件二 回调到 5 日线与 10 日线之间。收盘落在区间内标 在区间, 只是盘中探入、收盘又拉回线上的标 探入。
BK:=IF(INBLOCK('科创板') OR INBLOCK('创业板'),0.2,0.1);
涨停价:=ZTPRICE(REF(C,1),BK);
ZT2:=C>=涨停价 AND C=H;
ZT3:=H>=涨停价 AND C>REF(C,1)*(1+0.05*BK*10);
DB:=NOT(ZT3) AND NOT(REF(ZT3,1)); {标记断板点}
N1:=BARSLAST(DB);
连板数:=IF(ZT2,COUNT(ZT2,N1),0);
两个条件同时满足:① 股性活跃——近 250 个交易日触板(ZT3)≥ 15 次, 且近 60 个交易日 ≥ 4 次;② 当日涨停——收盘价 ≥ 涨停价且收盘=最高(真封板,炸板不算)。 ZT3 = 盘中摸到涨停价 且 收盘涨过半个板(主板 >5%,双创 >10%,北交所 >15%)—— 炸板也算,所以它衡量的是「敢不敢冲」,不是「封不封得住」。
结果按当日涨幅从高到低排序。只做收盘选股,不做盘中。
T2(500 天新高)在原式里有定义但不在输出里,所以这里只作为
新高 标记展示,不参与筛选。
AK:=IF(SUBSTR(CODE,1,2)='83' OR ... ,0.3,
IF(INBLOCK('科创板') OR INBLOCK('创业板'),0.2,0.1));
BK:=IF((AK=0.3 AND BARSCOUNT(C)>1) OR (AK<=0.2 AND BARSCOUNT(C)>5),AK,100);
涨停价:=ROUND2(REF(C,1)*(1+BK),2)-0.02;
ZT3:=H>=涨停价 AND C>REF(C,1)*(1+0.05*BK*10);
T1:= COUNT(ZT3,250)>=15 AND COUNT(ZT3,60)>=4; {股性活跃}
T2:= C=HHV(C,500); {500天新高}
T1;
候选来自当日涨停池(每天几十只),逐只用 260 根 K 线验算 250/60 日触板次数—— 条件②本身就要求当日真封板,收盘涨停的票必定在涨停池里,所以不必扫全市场。 受 Cloudflare 免费版每次调用 10ms CPU 的限制,扫描仍分成若干定时片推进,收盘后十几分钟出结果。 当天扫完后,剩下的定时片会往回补历史日,所以上方可以选日期回看——涨停池只保留约两周,再早的日子补不了。
四个条件同时满足:① 当日及前 4 个交易日内有涨停 K 线(真封板,不论几板); ② 当日是星线——实体 |收−开| 不超过昨收的 1%; ③ 星线收盘价不低于涨停板当日的最低价; ④ 收盘在 10 日均线上方,或恰好等于 10 日线。
每个交易日 15:30 自动更新当天结果(用收盘行情计算),16:00 起的盘后扫描再用完整 K 线复核一遍。 可选近一个月内任一交易日,查看当日的选股组合,结果按当日涨幅排序。 K 线图标出「板」和「★」星线日,并多画其后 5 个交易日,方便看后续走势。
样例:2026-09-07 须选中精华制药、天禾股份、云煤能源。 窗口内有多个涨停时,取最近一个满足位置条件的板。