Generated by Answer me with HTML 0.5.7 · 2026-10-24 15:09 · ★ Star on GitHub
相对强弱 RS × 海底捞月·追逐 · 调优与 IS/OOS 评估
3.87 万 C4 事件 + 4193 只全A池 · IS=2014-2021 / OOS=2022-2026 · 口径与 10-24 早上评估表一致
指标本身有效,方向和你写的相反。行业线越强越好,大盘线越弱越好。 但它只能当显示与人工优选,不能当交易闸门。闸门类 OOS 全部跑输生产现状。
指标是否有效 · 事件级实测
把两条线分别切五段,看信号后 20 日收益。全样本 3.87 万个 C4 事件。
| RS_HY 相对行业 · 段 | 事件数 | 前瞻20日 | 胜率 |
|---|---|---|---|
| 最弱 ≤ −15.6 | 7557 | +9.21% | 66.0% |
| −15.6 ~ −9.8 | 7534 | +14.00% | 74.9% |
| −9.8 ~ −6.1 | 7570 | +15.57% | 81.0% |
| −6.1 ~ −2.4 | 7607 | +16.81% | 84.6% |
| 最强 > −2.4 | 7639 | +17.01% | 86.7% |
单调递增。行业里越抗跌,后面反弹越好。
| RS_DP 相对大盘 · 段 | 事件数 | 前瞻20日 | 胜率 |
|---|---|---|---|
| 最弱 ≤ −22.6 | 7635 | +18.87% | 74.5% |
| −22.6 ~ −17.1 | 7619 | +16.21% | 79.9% |
| −17.1 ~ −13.3 | 7576 | +14.09% | 80.8% |
| −13.3 ~ −9.6 | 7569 | +12.06% | 79.9% |
| 最强 > −9.6 | 7508 | +11.35% | 78.3% |
单调递减。相对大盘跌得越透,后面反弹越强。
RS_DP>0 才算强,这条在 C4 池里几乎从不成立。全样本只有 1.0% 的事件满足。
超跌抄底信号天生是弱势股。照原式做闸门,等于把 99% 的信号删掉。
两条线合起来 · 分档依据
阈值取 RS_HY=0、RS_DP=−12。左列是全样本,右两列是分段验证。
| 组合 | 样本占比 | 全样本 | 胜率 | IS 2014-2021 | OOS 2022-2026 |
|---|---|---|---|---|---|
| 行业强 + 相对大盘超跌 | 2.9% | +24.00% | 92.6% | +18.00% / 82.7% | +26.22% / 96.3% |
| 行业强 + 相对大盘不深 | 7.7% | +15.25% | 85.3% | +13.73% / 79.0% | +16.40% / 90.1% |
| 行业弱 + 相对大盘超跌 | 63.9% | +15.62% | 78.0% | +10.46% / 70.5% | +20.10% / 84.4% |
| 行业弱 + 相对大盘不深 | 24.4% | +10.33% | 76.8% | +9.02% / 73.9% | +11.60% / 79.5% |
两维各自单调,且互相独立。所以能正交分档。分段都单调,说明不是拟合出来的。
首行与末行在两段里顺序稳定。中间两行在 OOS 里互换,所以图上一律用黄橙,不细分。
IS/OOS 评估表
引擎口径;K=10、卖出 WZ20≥80、最长持有 40 日、−30% 灾难线、费用 0.1%;广度门控 C/u≥4.5%。
| 项 | S0 生产现状 | S1 闸门 RS_HY>0 | S2 闸门 z_HY≥0 | S3 闸门 z_DP≥0 | S4 闸门 RS_HY≥−12 | S5 排序 RS_DP最弱 | S6 排序 z_DP最弱 | S7 排序 行业分位−大盘分位 | S8 随机排序 |
|---|---|---|---|---|---|---|---|---|---|
| IS Calmar | +0.408 | +0.060 | +0.137 | +0.363 | +0.357 | +0.366 | +0.467 | +0.518 | +0.380 |
| OOS Calmar | +0.744 | +0.116 | +0.358 | +0.609 | +0.402 | +0.803 | +0.668 | +0.441 | +0.458 |
| 衰减率 | −82.6% | −91.6% | −160.4% | −67.6% | −12.5% | −119.1% | −43.1% | +14.7% | −20.5% |
| OOS 夏普 | +1.07 | +0.34 | +0.66 | +0.96 | +0.69 | +0.93 | +0.91 | +0.59 | +0.73 |
| OOS 最大回撤 | −24.3% | −31.6% | −26.8% | −15.1% | −27.2% | −21.8% | −24.2% | −23.4% | −29.2% |
| OOS 盈亏比 | 1.26 | 0.90 | 1.00 | 1.61 | 0.96 | 0.99 | 1.12 | 1.02 | 1.12 |
| OOS 胜率 | 72.1% | 63.4% | 71.4% | 82.5% | 68.5% | 71.8% | 72.4% | 66.7% | 67.4% |
| OOS 笔数 | 129 | 71 | 84 | 40 | 130 | 131 | 127 | 126 | 129 |
| OOS 最长水下 | 209 日 | 450 日 | 539 日 | 416 日 | 279 日 | 167 日 | 203 日 | 461 日 | 213 日 |
| 总分 | 88 | 44 | 63 | 87 | 61 | 93 | 85 | 56 | 69 |
| 评级 | A | D | C | A | C | A | A | C | C |
| 否决项 | 通过 | 水下>365日 频率<15% |
水下>365日 频率<15% |
水下>365日 频率<15% |
通过 | 通过 | 通过 | 水下>365日 | 通过 |
S5 分数最高,是因为它只改排序、不砍频率。S3 分数 87 却被否决,只选了 40 笔。
S5 的 OOS Calmar 比生产现状高 8%。但它的 IS 更低,只按 IS 选参根本选不到它。 S7 的 IS 最高(0.518),OOS 掉到 0.441。这是典型过拟合形态。
只按 IS 选参 · 干净走查
| 只按 IS 选出的配置 | IS Calmar | OOS Calmar | OOS 笔数 | OOS 胜率 |
|---|---|---|---|---|
| RS_DP 同日分位 ≤50% | +0.414 | +0.536 | 128 | 68.8% |
| df 优先, 同分按 RS_DP 弱 | +0.410 | +0.621 | 133 | 70.7% |
| 生产现状(全 C4, df 排序) | +0.408 | +0.744 | 129 | 72.1% |
| 按 RS_DP 最弱优先排序 | +0.366 | +0.803 | 131 | 71.8% |
IS 段最优的三个 RS 配置,OOS 全部低于生产现状。S5 是 OOS 段冒出来的,不是 IS 选出来的。
分段稳健性 · 增益是否只来自一段
七个非重叠两年组的 Calmar。
| 配置 | 2014-15 | 2016-17 | 2018-19 | 2020-21 | 2022-23 | 2024-25 | 2026 | 滚动12窗中位 | 为正 |
|---|---|---|---|---|---|---|---|---|---|
| 生产现状 df 排序 | −0.123 | −0.196 | 1.599 | 3.876 | 0.346 | 1.239 | 1.395 | 1.014 | 9/12 |
| RS_DP 最弱优先 | +0.093 | +0.160 | 0.610 | 3.227 | 0.374 | 1.649 | 0.644 | 0.682 | 11/12 |
| z_DP 最弱优先 | +0.274 | +0.053 | 0.808 | 2.696 | 0.353 | 1.175 | 0.784 | 0.815 | 11/12 |
| 随机排序(对照) | −0.011 | −0.299 | 1.191 | 5.508 | 0.380 | 0.850 | 1.963 | 0.685 | 9/12 |
RS 弱优先在 2014-2017 的坏年份、以及滚动窗最差值上都更好。最差窗 −0.109 对 −0.196。 代价是牛市让利:2020-21 从 3.876 掉到 3.227;中位窗从 1.014 掉到 0.682。 这是削峰降险,不是增加收益。按你的口径算未证明。
原式的六处要修
| 问题 | 后果 | 改法 |
|---|---|---|
N:=20 名字太泛 |
与平台参数或保留名相撞 | 改 RSN |
HY_INDEXC 取不到 |
RS_HY 整条变无效值, 图上直接消失 | 加 RS_HOK 守卫, 退回大盘 |
REF(RS_HYC,20) 可能为 0 |
早期 bar 除零, 拉出天文数字 | 守卫里同时校验 REF 有效 |
COLORWHITE / COLORLIRED / COLORYELLOW |
白底平台看不见, 两平台颜色不一致 | 改六位 COLOR2ECBFF / COLOR8FD600;COLORAAAAAA |
| 没有数据量守卫 | 新股加载根数不足时线形错位 | 加 BARSCOUNT(CLOSE)>=40 |
| 只画两条线, 没有分档 | 看不出哪一档值得优先 | 加三态扁柱, 色阶与实测收益同序 |
交付 · 相对强弱 RS 副图
{══ 通达信 · 技术指标 相对强弱RS (副图) ══}{安装: 公式管理器→技术指标→新建→名称 相对强弱RS→画线方法 副图→粘贴→确定}{线 黄橙=个股相对大盘RS_DP | 墨绿=个股相对行业RS_HY | 灰虚线=零轴}{读法: 大盘线在0下越深=相对大盘跌得越透(加分); 行业线在0上=行业内抗跌(加分)}{底部扁柱(实测前瞻20日): 红实心=行业强且相对大盘超跌 最优 | 黄橙空心=两者之一 | 灰空心=最弱}{行业指数取不到时(部分ETF/次新) 行业线自动退回跟随大盘, 不会整条消失}{换跟踪对象只改 RS_HYC 一行: HY_INDEXC(自动跟随行业) 或 "881101$CLOSE"(写死某个行业)}{════ 纯代码文件, 勿再加长注释(通达信单公式有字数上限) ════}RSN:=20;RS_S20:=(CLOSE/REF(CLOSE,RSN)-1)*100;RS_M20:=(INDEXC/REF(INDEXC,RSN)-1)*100;RS_HYC:=HY_INDEXC;RS_HOK:=(RS_HYC>0.000001) AND (REF(RS_HYC,RSN)>0.000001);RS_H20:=IF(RS_HOK,(RS_HYC/REF(RS_HYC,RSN)-1)*100,RS_M20);RS_DP:=EMA(RS_S20-RS_M20,5);RS_HY:=EMA(RS_S20-RS_H20,5);RS_DP线:RS_DP,COLOR2ECBFF,LINETHICK2;RS_HY线:RS_HY,COLOR8FD600,LINETHICK1;零轴:0,COLORAAAAAA,DOTLINE;RS_K:=IF(RS_HY>=0,1,0)+IF(RS_DP<=-12,1,0);RS档:RS_K,NODRAW;STICKLINE(RS_K=2,-2.0,-1.5,2,0),COLOR4E3BFF;STICKLINE(RS_K=1,-2.0,-1.5,2,1),COLOR2ECBFF;STICKLINE(RS_K=0,-2.0,-1.5,2,1),COLORAAAAAA;SJQ:=BARSCOUNT(CLOSE)>=40;DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足40根'),COLOR2ECBFF;// 同花顺 · 技术指标 相对强弱RS (副图)// 安装: 公式管理器→技术指标→新建→名称 相对强弱RS→副图→粘贴→确定// 线 黄橙=个股相对大盘RS_DP | 墨绿=个股相对全A(883957)RS_HY | 灰=零轴// 读法: 大盘线在0下越深=相对大盘跌得越透(加分); 行业线在0上=相对全A抗跌(加分)// 底部扁柱: 红实心=两者都满足 最优 | 黄橙空心=之一 | 灰空心=最弱// 与通达信版差别: 同花顺取不到 HY_INDEXC(所属行业指数), 行业线改用全A平均股价 883957// 换跟踪对象只改 RS_HYC 一行, 可选项见交付页探针RSN:=20;RS_S20:=(CLOSE/REF(CLOSE,RSN)-1)*100;RS_M20:=(INDEXC/REF(INDEXC,RSN)-1)*100;RS_HYC:=INDEXDATA("883957",&CLOSE);RS_HOK:=(RS_HYC>0.000001) AND (REF(RS_HYC,RSN)>0.000001);RS_H20:=IF(RS_HOK,(RS_HYC/REF(RS_HYC,RSN)-1)*100,RS_M20);RS_DP:=EMA(RS_S20-RS_M20,5);RS_HY:=EMA(RS_S20-RS_H20,5);RS_DP线:RS_DP,COLOR2ECBFF,LINETHICK2;RS_HY线:RS_HY,COLOR8FD600,LINETHICK1;零轴:0,COLORAAAAAA,LINETHICK1;RS_K:=IF(RS_HY>=0,1,0)+IF(RS_DP<=-12,1,0);RS档:RS_K,NODRAW;STICKLINE(RS_K=2,-2.0,-1.5,6,0),COLOR4E3BFF;STICKLINE(RS_K=1,-2.0,-1.5,6,1),COLOR2ECBFF;STICKLINE(RS_K=0,-2.0,-1.5,6,1),COLORAAAAAA;SJQ:=BARSCOUNT(CLOSE)>=40;DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足40根'),COLOR2ECBFF;交付 · 海底捞月追逐·优选 选股
生产 C4 条件原样保留,末尾叠加 RS 最优态。频率低,只用于人工优选。
{════ 通达信 · 条件选股公式 海底捞月追逐·优选 ════ 安装: 公式管理器 -> 条件选股公式 -> 其它类型 -> 新建 -> 名称 海底捞月追逐优选 -> 粘贴 -> 确定 用法: 条件选股 -> 选 海底捞月追逐优选 -> 周期=日线 -> 范围=全部A股/ETF -> 执行 选出的 = 出手(C4) 且 相对强弱最优态(行业内抗跌 + 相对大盘超跌) 频率低: 全样本 3.87 万事件里只占 2.9%(约每 3 个交易日 1 只), 用于人工优选, 不做组合口径 卖出与生产一致: 副图墨绿实心柱 = 收盘 WZ20>=80 次日开盘卖; 灾难线 -30% 兜底 !! 本文件是【纯代码】, 勿再加长注释════}MA5:=MA(CLOSE,5);MA20:=MA(CLOSE,20);MA60:=MA(CLOSE,60);MV5:=MA(VOL,5);RSI14:=SMA(MAX(CLOSE-REF(CLOSE,1),0),14,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),14,1)*100;RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9)+0.0001)*100;K9:=SMA(RSV9,3,1);D9:=SMA(K9,3,1);JV:=3*K9-2*D9;{A. 筹码成本线: 只用 AMOUNT/VOL, 不需要流通股本}DCP0:=AMOUNT/(VOL+0.0001)/100;{复权折算: 前复权CLOSE ÷ 原始VWAP 取5日中位数 → 折算到前复权口径}{(min/max选择网络求中位数, 与生产引擎 rmed 逐位一致; 零成交bar由VALUEWHEN延续)}RQA:=VALUEWHEN(DCP0>0,CLOSE/(DCP0+0.000001));RQB:=REF(RQA,1);RQC:=REF(RQA,2);RQD:=REF(RQA,3);RQE:=REF(RQA,4);RLA:=MIN(RQA,RQB);RHA:=MAX(RQA,RQB);RLB:=MIN(RQC,RQD);RHB:=MAX(RQC,RQD);RS2:=MIN(MIN(RHA,RHB),MAX(RLA,RLB));RS3:=MAX(MAX(RLA,RLB),MIN(RHA,RHB));FQ5:=MIN(RS3,MAX(RS2,RQE));AMTQ:=AMOUNT*FQ5;VW20:=SUM(AMTQ,20)/(SUM(VOL,20)+0.0001)/100;VW60:=SUM(AMTQ,60)/(SUM(VOL,60)+0.0001)/100;DP20:=(CLOSE/VW20-1)*100;DP60:=(CLOSE/VW60-1)*100;{B. 波动线 BD7 (BSTL 波动率分档)}BG:=3.5;W1:=IF(CLOSE<=OPEN,CLOSE,OPEN);W2:=IF(LOW>0.000001,(W1-LOW)/LOW*100,0);W3:=IF((BARSCOUNT(CLOSE)>1) AND (REF(CLOSE,1)>0.000001),(CLOSE-REF(CLOSE,1))/(REF(CLOSE,1)+0.000001)*100,0);W4:=IF((BARSCOUNT(CLOSE)>1) AND (REF(CLOSE,1)>0.000001),(OPEN-REF(CLOSE,1))/(REF(CLOSE,1)+0.000001)*100,0);W5:=IF(OPEN>0.000001,(CLOSE-OPEN)/OPEN*100,0);W6:=IF(CLOSE>=OPEN,CLOSE,OPEN);W7:=IF(W6>0.000001,(HIGH-W6)/W6*100,0);W8:=MAX(MAX(MAX(W3,W4),MAX(W5,W7)),MAX(W2,MAX(W5+W7,W5+W2)))*1.2;AVGW:=MA(W8,20);UPW:=AVGW>BG+0.5;DNW:=AVGW<BG;{2026-10-17 修复: 原 LOWW:=BARSLAST(UPW)>=BARSLAST(DNW) 在 UPW 从未成立的低波品种上取无效值,}{经 BD7 传播使 超跌深度SD 整条无值(深度线消失); 改为最近事件方向的等价式, 全程有效}EVW:=UPW OR DNW OR (BARSCOUNT(CLOSE)=21);DIRW:=IF(UPW,-1,1);LOWW:=VALUEWHEN(EVW,DIRW)>0;CXL:=(2*CLOSE+HIGH+LOW)/4;RGL:=HHV(HIGH,34)-LLV(LOW,34);RG2:=HHV(HIGH,21)-LLV(LOW,21);RSVL:=IF(RGL>0.000001,(CXL-LLV(LOW,34))/(RGL+0.000001)*100,50);RSVH:=IF(RG2>0.000001,(CXL-LLV(LOW,21))/(RG2+0.000001)*100,50);RSLW:=IF(LOWW,RSVL,RSVH);E13:=EMA(RSLW,13);E11:=EMA(RSLW,11);BD7:=IF(LOWW,E13,E11);{C. 位置}WZ20:=(CLOSE-LLV(LOW,20))/(HHV(HIGH,20)-LLV(LOW,20)+0.0001)*100;WZ60:=(CLOSE-LLV(LOW,60))/(HHV(HIGH,60)-LLV(LOW,60)+0.0001)*100;BL5:=(CLOSE/MA5-1)*100;BL20:=(CLOSE/MA20-1)*100;RM60:=(CLOSE/HHV(HIGH,60)-1)*100;{D. 第1层 超跌深度 SD 十条件 (与个股版相同)}A1:=BL20<=-10;A2:=BL5<=-5;A3:=RSI14<=35;A4:=JV<=20;A5:=WZ60<=20;A6:=WZ20<=15;A7:=RM60<=-25;A8:=BD7<=30;A9:=CLOSE<MA60;A10:=DP60<=-10;SD:=A1+A2+A3+A4+A5+A6+A7+A8+A9+A10;{E. 第2层 得分 EF 六条件 (ETF专版: RSI25/DP20-15/连阴4/DP60-20/BL20-15/量环比1.5)}LYD:=CLOSE<REF(CLOSE,1);LYN:=BARSLASTCOUNT(LYD);X1:=RSI14<=25;X2:=DP20<=-15;X3:=LYN>=4;X4:=DP60<=-20;X5:=BL20<=-15;X6:=MV5/REF(MV5,1)>=1.5;EF:=X1+X2+X3+X4+X5+X6;{F. 体量线与振幅闸}LT:=MA(AMOUNT,60)>=20000000;ZF:=(HIGH-LOW)/REF(CLOSE,1)*100;{选股输出: 出手档 = 深度>=10 且 得分>=4 且 振幅>=3 (2026-10-21 排除 ZF<3 窄幅阴跌)}{════ G. 相对强弱 RS (2026-10-24 新增; 只加不减, 生产条件不变) ════}{RS_DP=个股相对大盘(INDEXC)强弱; RS_HY=个股相对行业(HY_INDEXC)强弱; 均 20 日涨幅差再 EMA5}{分档实测(3.87万 C4 事件, 前瞻20日): 行业强+相对大盘超跌 = +24.0%/胜率92.6% (IS +18.0%/OOS +26.2%)}{两者之一 = +15.4%; 两者都不满足 = +10.3%/胜率76.8% → 优选只留最优态}{行业指数取不到(部分ETF/次新)时该条件自动为假, 不会误选}RSN:=20;RS_S20:=(CLOSE/REF(CLOSE,RSN)-1)*100;RS_M20:=(INDEXC/REF(INDEXC,RSN)-1)*100;RS_HYC:=HY_INDEXC;RS_HOK:=(RS_HYC>0.000001) AND (REF(RS_HYC,RSN)>0.000001);RS_H20:=IF(RS_HOK,(RS_HYC/REF(RS_HYC,RSN)-1)*100,RS_M20);RS_DP:=EMA(RS_S20-RS_M20,5);RS_HY:=EMA(RS_S20-RS_H20,5);RS优:=(RS_HY>=0) AND (RS_DP<=-12);XG: ((SD>=10) AND (EF>=4) AND (ZF>=3)) AND LT AND RS优;// 同花顺 · 条件选股 海底捞月追逐优选// 安装: 公式管理器 -> 条件选股 -> 新建 -> 名称 海底捞月追逐优选 -> 粘贴 -> 确定// 选出的 = 出手(C4) 且 相对强弱最优态(相对全A抗跌 + 相对大盘超跌)// 频率低: 全样本 3.87 万事件里只占 2.9%(约每 3 个交易日 1 只), 用于人工优选, 不做组合口径// 卖出与生产一致: 副图墨绿实心柱 = 收盘 WZ20>=80 次日开盘卖; 灾难线 -30% 兜底// 与通达信版差别: 同花顺无 HY_INDEXC(所属行业指数), 行业线改用全A平均股价 883957 (INDEXDATA)MA5:=MA(CLOSE,5);MA20:=MA(CLOSE,20);MA60:=MA(CLOSE,60);MV5:=MA(VOL,5);RSI14:=SMA(MAX(CLOSE-REF(CLOSE,1),0),14,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),14,1)*100;RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9)+0.0001)*100;K9:=SMA(RSV9,3,1);D9:=SMA(K9,3,1);JV:=3*K9-2*D9;// A. 筹码成本线: 只用 MONEY/VOL, 不需要流通股本DCP0:=MONEY/(VOL+0.0001)/100;// 复权折算: 前复权CLOSE ÷ 原始VWAP 取5日中位数 → 折算到前复权口径// (min/max选择网络求中位数, 与生产引擎 rmed 逐位一致; 零成交bar由VALUEWHEN延续)RQA:=VALUEWHEN(DCP0>0,CLOSE/(DCP0+0.000001));RQB:=REF(RQA,1);RQC:=REF(RQA,2);RQD:=REF(RQA,3);RQE:=REF(RQA,4);RLA:=MIN(RQA,RQB);RHA:=MAX(RQA,RQB);RLB:=MIN(RQC,RQD);RHB:=MAX(RQC,RQD);RS2:=MIN(MIN(RHA,RHB),MAX(RLA,RLB));RS3:=MAX(MAX(RLA,RLB),MIN(RHA,RHB));FQ5:=MIN(RS3,MAX(RS2,RQE));AMTQ:=MONEY*FQ5;VW20:=SUM(AMTQ,20)/(SUM(VOL,20)+0.0001)/100;VW60:=SUM(AMTQ,60)/(SUM(VOL,60)+0.0001)/100;DP20:=(CLOSE/VW20-1)*100;DP60:=(CLOSE/VW60-1)*100;// B. 波动线 BD7 (BSTL 波动率分档)BG:=3.5;W1:=IF(CLOSE<=OPEN,CLOSE,OPEN);W2:=IF(LOW>0.000001,(W1-LOW)/LOW*100,0);W3:=IF((BARSCOUNT(CLOSE)>1) AND (REF(CLOSE,1)>0.000001),(CLOSE-REF(CLOSE,1))/(REF(CLOSE,1)+0.000001)*100,0);W4:=IF((BARSCOUNT(CLOSE)>1) AND (REF(CLOSE,1)>0.000001),(OPEN-REF(CLOSE,1))/(REF(CLOSE,1)+0.000001)*100,0);W5:=IF(OPEN>0.000001,(CLOSE-OPEN)/OPEN*100,0);W6:=IF(CLOSE>=OPEN,CLOSE,OPEN);W7:=IF(W6>0.000001,(HIGH-W6)/W6*100,0);W8:=MAX(MAX(MAX(W3,W4),MAX(W5,W7)),MAX(W2,MAX(W5+W7,W5+W2)))*1.2;AVGW:=MA(W8,20);UPW:=AVGW>BG+0.5;DNW:=AVGW<BG;// 2026-10-17 修复: 原 LOWW:=BARSLAST(UPW)>=BARSLAST(DNW) 在 UPW 从未成立的低波品种上取无效值,// 经 BD7 传播使 超跌深度SD 整条无值(深度线消失); 改为最近事件方向的等价式, 全程有效EVW:=UPW OR DNW OR (BARSCOUNT(CLOSE)=21);DIRW:=IF(UPW,-1,1);LOWW:=VALUEWHEN(EVW,DIRW)>0;CXL:=(2*CLOSE+HIGH+LOW)/4;RGL:=HHV(HIGH,34)-LLV(LOW,34);RG2:=HHV(HIGH,21)-LLV(LOW,21);RSVL:=IF(RGL>0.000001,(CXL-LLV(LOW,34))/(RGL+0.000001)*100,50);RSVH:=IF(RG2>0.000001,(CXL-LLV(LOW,21))/(RG2+0.000001)*100,50);RSLW:=IF(LOWW,RSVL,RSVH);E13:=EMA(RSLW,13);E11:=EMA(RSLW,11);BD7:=IF(LOWW,E13,E11);// C. 位置WZ20:=(CLOSE-LLV(LOW,20))/(HHV(HIGH,20)-LLV(LOW,20)+0.0001)*100;WZ60:=(CLOSE-LLV(LOW,60))/(HHV(HIGH,60)-LLV(LOW,60)+0.0001)*100;BL5:=(CLOSE/MA5-1)*100;BL20:=(CLOSE/MA20-1)*100;RM60:=(CLOSE/HHV(HIGH,60)-1)*100;// D. 第1层 超跌深度 SD 十条件 (与个股版相同)A1:=BL20<=-10;A2:=BL5<=-5;A3:=RSI14<=35;A4:=JV<=20;A5:=WZ60<=20;A6:=WZ20<=15;A7:=RM60<=-25;A8:=BD7<=30;A9:=CLOSE<MA60;A10:=DP60<=-10;SD:=A1+A2+A3+A4+A5+A6+A7+A8+A9+A10;// E. 第2层 得分 EF 六条件 (ETF专版: RSI25/DP20-15/连阴4/DP60-20/BL20-15/量环比1.5)LYD:=CLOSE<REF(CLOSE,1);LYN:=BARSLAST((LYD)=0);X1:=RSI14<=25;X2:=DP20<=-15;X3:=LYN>=4;X4:=DP60<=-20;X5:=BL20<=-15;X6:=MV5/REF(MV5,1)>=1.5;EF:=X1+X2+X3+X4+X5+X6;// F. 体量线与振幅闸LT:=MA(MONEY,60)>=20000000;ZF:=(HIGH-LOW)/REF(CLOSE,1)*100;// 选股输出: 出手档 = 深度>=10 且 得分>=4 且 振幅>=3 (2026-10-21 排除 ZF<3 窄幅阴跌)// ════ G. 相对强弱 RS (2026-10-24 新增; 只加不减, 生产条件不变) ════// RS_DP=个股相对大盘(INDEXC)强弱; RS_HY=个股相对行业(HY_INDEXC)强弱; 均 20 日涨幅差再 EMA5// 分档实测(3.87万 C4 事件, 前瞻20日): 行业强+相对大盘超跌 = +24.0%/胜率92.6% (IS +18.0%/OOS +26.2%)// 两者之一 = +15.4%; 两者都不满足 = +10.3%/胜率76.8% → 优选只留最优态// 行业指数取不到(部分ETF/次新)时该条件自动为假, 不会误选RSN:=20;RS_S20:=(CLOSE/REF(CLOSE,RSN)-1)*100;RS_M20:=(INDEXC/REF(INDEXC,RSN)-1)*100;RS_HYC:=INDEXDATA("883957",&CLOSE);RS_HOK:=(RS_HYC>0.000001) AND (REF(RS_HYC,RSN)>0.000001);RS_H20:=IF(RS_HOK,(RS_HYC/REF(RS_HYC,RSN)-1)*100,RS_M20);RS_DP:=EMA(RS_S20-RS_M20,5);RS_HY:=EMA(RS_S20-RS_H20,5);RS优:=(RS_HY>=0) AND (RS_DP<=-12);SELECT: ((SD>=10) AND (EF>=4) AND (ZF>=3)) AND LT AND RS优;THS 没法追行业 · 三种可落地口径
同花顺没有 HY_INDEXC。跨品种 "880003$CLOSE" 这类写法也取不到。
| 方案 | 写法 | 跟踪对象 | 状态 |
|---|---|---|---|
| A 内置大盘 | RS_HYC:=INDEXC; |
所属市场(沪票上证 / 深票深成指) | 必可用, 追逐版已在用 |
| B 全A平均股价 | INDEXDATA("883957",&CLOSE) |
全A, 等同通达信 880003 | 本机已实测可用 |
| C 指定行业 | INDEXDATA("881101",&CLOSE) 或行业ETF代码 |
一份公式跟一个行业 | 需用探针在你的环境实测 |
换跟踪对象最痛的是阈值要重标定。早上那次换指数就掉了一整档。
把阈值换成 (RS-MA(RS,250))/(STD(RS,250)) 的 z 分;换任何参照物都不用改数。
追逐副图的环境强度已经是这个写法, 两边同构。
先跑探针,看哪个能取到数。哪一行报错就注释掉那一行。
{══ 诊断 · 跟踪对象探针 (通达信) ══}{装在任意一只股票上, 副图数值栏看这 4 个数: 哪个是 0 或恒定不变, 就是那个取不到}{大盘=0 → INDEXC 不可用(极罕见); 行业=0 → HY_INDEXC 不可用, 改用 RS_HYC:="881xxx$CLOSE";}{全A=0 → 跨品种引用被禁用, 只能退回 INDEXC 口径}{════════════════════════════════════════}大盘:INDEXC,NODRAW;行业:HY_INDEXC,NODRAW;全A:"880003$CLOSE",NODRAW;参照比:IF(HY_INDEXC>0.000001,HY_INDEXC/(INDEXC+0.000001),0),NODRAW;// 诊断 · 跟踪对象探针 (同花顺)// 装在任意一只股票上, 副图数值栏看这几个数: 哪个是 0 或恒定不变, 就是那个取不到// 某行报"未找到品种/语法错误" → 把那行前面加 // 注释掉, 逐条试// 全部取不到时只剩 INDEXC, 就用它(跟随标的所属市场: 沪票=上证 深票=深成指)大盘:INDEXC,NODRAW;全A883957:INDEXDATA("883957",&CLOSE),NODRAW;行业881101:INDEXDATA("881101",&CLOSE),NODRAW;ETF512480:INDEXDATA("512480",&CLOSE),NODRAW;怎么用 · 生产链未改动
| 场景 | 做法 |
|---|---|
| 看出手质量 | 相对强弱RS 副图底部扁柱: 红实心 = 最优态, 灰空心 = 最弱态 |
| 人工优选 | 收盘跑「海底捞月追逐优选」, 一天最多一两只 |
| 组合交易 | 继续用现有生产席位。RS 不进闸门, 也不进排序 |
| 想进追逐副图 | 把三态扁柱挪到 y=−2.6 到 −2.1 即可, 本次未改生产副图 |
| 想自己做排序 | 按 RS_DP 最弱优先, 但要接受牛市让利 |
只新增独立文件: RS 副图、优选选股、探针, 各两平台。 追逐副图、追逐选股、生产席位、cron 全部未改。
回测口径与注意点:
- 池 = 4193 只可交易 A 股,2014-01 至 2026-10;3.87 万个 C4 事件。
- 大盘用上证(沪票)与深成指(深票)代理
INDEXC。 - 行业归属用日收益相关性匹配通达信行业指数,只在 2014 年之前定归属,不用未来数据。
- 行业收益由池内成员等权自算,与通达信官方权重口径不完全一致。
- 阈值 −12 由两段各自的分位切点验证过(IS −13.3 / OOS −13.4);不是挑出来的。