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 早上评估表一致

source/root/lxxg/data/rs_final_table.json
结论先说

指标本身有效,方向和你写的相反。行业线越强越好,大盘线越弱越好。 但它只能当显示与人工优选,不能当交易闸门。闸门类 OOS 全部跑输生产现状。

A

指标是否有效 · 事件级实测

把两条线分别切五段,看信号后 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% 的信号删掉。

B

两条线合起来 · 分档依据

阈值取 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 里互换,所以图上一律用黄橙,不细分。

C

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。这是典型过拟合形态。

D

只按 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 选出来的。

E

分段稳健性 · 增益是否只来自一段

七个非重叠两年组的 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。 这是削峰降险,不是增加收益。按你的口径算未证明。

F

原式的六处要修

问题 后果 改法
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
只画两条线, 没有分档 看不出哪一档值得优先 加三态扁柱, 色阶与实测收益同序
G

交付 · 相对强弱 RS 副图

rs_subplot_TDX.txt:1-27text
{══ 通达信 · 技术指标 相对强弱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_subplot_THS.txt:1-26text
// 同花顺 · 技术指标 相对强弱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;
H

交付 · 海底捞月追逐·优选 选股

生产 C4 条件原样保留,末尾叠加 RS 最优态。频率低,只用于人工优选。

rs_pick_TDX.txt:1-121text
{════ 通达信 · 条件选股公式 海底捞月追逐·优选 ════  安装: 公式管理器 -> 条件选股公式 -> 其它类型 -> 新建 -> 名称 海底捞月追逐优选 -> 粘贴 -> 确定  用法: 条件选股 -> 选 海底捞月追逐优选 -> 周期=日线 -> 范围=全部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优;
rs_pick_THS.txt:1-120text
// 同花顺 · 条件选股 海底捞月追逐优选// 安装: 公式管理器 -> 条件选股 -> 新建 -> 名称 海底捞月追逐优选 -> 粘贴 -> 确定// 选出的 = 出手(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优;
I

THS 没法追行业 · 三种可落地口径

同花顺没有 HY_INDEXC。跨品种 "880003$CLOSE" 这类写法也取不到。

方案 写法 跟踪对象 状态
A 内置大盘 RS_HYC:=INDEXC; 所属市场(沪票上证 / 深票深成指) 必可用, 追逐版已在用
B 全A平均股价 INDEXDATA("883957",&CLOSE) 全A, 等同通达信 880003 本机已实测可用
C 指定行业 INDEXDATA("881101",&CLOSE) 或行业ETF代码 一份公式跟一个行业 需用探针在你的环境实测
更好的做法: 用 z 代替固定阈值

换跟踪对象最痛的是阈值要重标定。早上那次换指数就掉了一整档。 把阈值换成 (RS-MA(RS,250))/(STD(RS,250)) 的 z 分;换任何参照物都不用改数。 追逐副图的环境强度已经是这个写法, 两边同构。

先跑探针,看哪个能取到数。哪一行报错就注释掉那一行。

rs_probe_TDX.txt:1-10text
{══ 诊断 · 跟踪对象探针 (通达信) ══}{装在任意一只股票上, 副图数值栏看这 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;
rs_probe_THS.txt:1-9text
// 诊断 · 跟踪对象探针 (同花顺)// 装在任意一只股票上, 副图数值栏看这几个数: 哪个是 0 或恒定不变, 就是那个取不到// 某行报"未找到品种/语法错误" → 把那行前面加 // 注释掉, 逐条试// 全部取不到时只剩 INDEXC, 就用它(跟随标的所属市场: 沪票=上证 深票=深成指)大盘:INDEXC,NODRAW;全A883957:INDEXDATA("883957",&CLOSE),NODRAW;行业881101:INDEXDATA("881101",&CLOSE),NODRAW;ETF512480:INDEXDATA("512480",&CLOSE),NODRAW;
J

怎么用 · 生产链未改动

场景 做法
看出手质量 相对强弱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);不是挑出来的。