Generated by Answer me with HTML 0.5.5 · 2026-10-21 10:50 · ★ Star on GitHub
海底捞月副图 · 定版落地 + 同花顺版
通达信按你原样落地只改 3 处不改语义的地方;环境强度两边各按终版口径(880003 / 883957)
Lead: 你的定版逻辑、色值、阈值、输出名一字未动。我改了 3 处「不改语义但会咬人」的地方,另外 4 条建议没动,等你拍。同花顺侧的硬差异是指数引用,不是写法。
结论
通达信版:按你的定版落地,只修注释与表头。
环境强度回到 2026-10-21 终版:通达信读 880003(全A平均股价)配 -10.5/-5.5、-18.5/-10.5;同花顺读 883957 配 -8/-4、-15/-8。
两边阈值不同,是你明确"不追求统一"。今天 2026-10-20:通达信 HJ2=3(门控开),同花顺 HJ2=4。
- 你的定版能跑,没有语法错。
- 但第 156 行的
{和 160 行标题里的}配成了一对,157-160 四行被整段吞掉。 - 效果等于关掉了上涨家数广度和沪深差,看着像有意的,做起来很险。
已改的三处
| 项 | 你原来 | 改后 | 为什么 |
|---|---|---|---|
| 注释块吞代码 | 156 { … 160 } 跨行配对 |
拆成 4 行独立注释 | 下次在 157 行位置加真代码会被无声吞掉 |
| 表头 | 写“绿=离场”,但离场柱是墨绿,和深度线同色 | 逐项写清色与位置 | 看图时两种墨绿分不开 |
| 扁柱注释 | “实心加厚,参数3,0” | “宽2 空心(参数 2,1)” | 注释和代码不符,下次改会看错 |
- 另外表头补了一句:副图离场 80 只标真顶,生产卖点是 60。
- 逻辑行零改动。106 个中间变量、输出名
M6得分 / L10深度 / L4情绪 / 门控全部保留。 - 顺带修掉上一版同花顺文件缺
HJY定义的问题。你这版改用扁柱,已经不需要这个变量。
建议但没动的四条
| 项 | 现状 | 影响 |
|---|---|---|
| B/G 覆盖空档 | B黄缺 HJ2=2,G红缺 HJ2≤1 | G 有 53.6% 的字符不显示;B黄 3.7% |
| 离场柱与深度线同色 | 都是 COLOR8FD600 | 深度线到顶时和离场柱糊在一起 |
| 环境指数单点依赖 | 只引 880003 | 取不到数 HJ2=0,B 全灰、G 全消失,像没信号 |
| 副图离场 80 vs 生产 60 | 展示层与席位口径不同 | 副图绿柱不是卖点,容易看错 |
DRAWTEXT(C4 AND ZF<6 AND HJ2>=2,1.2,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2<2,1.2,'B'),COLORAAAAAA;DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2>=2,1.2,'B'),COLOR2ECBFF;DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2<2,1.2,'B'),COLORAAAAAA;DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=2,1.2,'G'),COLOR4E3BFF;DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2<2,1.2,'G'),COLOR808080;HJ2>=4与HJ2 3~4同色,本来就多余,合掉省 4 行。- G 在弱环境改成暗灰,看得见但不抢眼,字符不再消失。
- 离场柱改
COLOR88FF2B就与深度线分开了。
同花顺写法差异
| 项 | 通达信 | 同花顺 | 已处理 |
|---|---|---|---|
| 注释 | {} |
// |
全量转换 |
| 成交额 | AMOUNT | MONEY | 全量转换 |
| 连续阴线 | BARSLASTCOUNT | BARSLAST((X)=0) | 等价改写 |
| 条件取值 | VALUEWHEN | REF + BARSLAST | 等价改写 |
| 柱宽 | 2 | 6 | 15 处全改 |
| 指数引用 | "880003$CLOSE" |
INDEXDATA("883957",&CLOSE) |
各读本平台的全A平均股价 |
| 白底可见性 | COLORWHITE 白字 | 白底看不见 | 两平台统一改黄橙 COLOR2ECBFF |
- 同花顺 NODRAW 与 STICKLINE 五参数两平台一致,原样保留。
DRAWTEXT_FIX若你的版本报错,删掉那一行即可,只影响“数据不足80根”提示。
指数引用:终版口径(两边不同)
通达信 HJC:=("880003$CLOSE") 配 -10.5/-5.5、-18.5/-10.5;同花顺 HJC:=INDEXDATA("883957",&CLOSE) 配 -8/-4、-15/-8。
换指数必须换阈值,否则档位整体偏低。阈值由分位匹配算出,不是拍的:
同阈值 -10/-5, -18/-10 下,两个口径的 HJ2 档位分布(全历史 8066 个交易日):
| 口径 | 0 档 | 1 档 | 2 档 | 3 档 | 4 档 |
|---|---|---|---|---|---|
| 平均股价 880003 | 47.5% | 17.9% | 17.7% | 8.4% | 8.5% |
| 上证指数 同阈 | 54.8% | 18.8% | 15.1% | 5.7% | 5.6% |
| 上证指数 重标定 | 46.4% | 19.5% | 18.3% | 7.2% | 8.6% |
近 250 日差距更大:平均股价 67.2/18.0/4.8/4.0/6.0,上证同阈 86.8/10.0/3.2/0.0/0.0。
重标定阈值(等效命中率):HJ20 从 -10/-5 改成 -8/-4,HJD 从 -18/-10 改成 -15/-8。
2026-10-20 上证:HJ20 −3.86、HJD −11.96 → 重标定阈值下 HJ2 = 1,门控关。
换指数前(880003 平均股价)同一天是 HJ20 −8.77、HJD −24.01 → HJ2 = 3,门控开。
差别来自这轮小票杀得比大盘狠。换口径后副图会更保守,这是路线 B 的既定代价。
- 重标定后五档占比 46.4 / 19.5 / 18.3 / 7.2 / 8.6,对齐 880003 的 47.5 / 17.9 / 17.7 / 8.4 / 8.5。
- 中间试过"两平台都读 INDEXC + 重标定阈值",按你要求已回退,现在各读本平台的平均股价。
- 想改回平均股价口径:通达信
880003、同花顺883957,阈值同时改回-10/-5与-18/-10。
两平台对齐的收口
| 项 | 通达信 | 同花顺 |
|---|---|---|
| 指数代码 | 880003 |
883957 |
| HJ20 阈值 | -10.5 / -5.5 |
-8 / -4 |
| HJD 阈值 | -18.5 / -10.5 |
-15 / -8 |
| 字符高度 | y=1.2 |
y=2.5 |
- 两边各按各的标定,不追求逐日一致(你的原话:不追求统一了)。
- 今天 2026-10-20:通达信侧「L4情绪」应显示 3,同花顺侧显示 4。
- 若某天两边差 2 档以上,先把当天的 HJ20 与 HJD 报给我,再看要不要调阈值。
通达信版代码
{══ 通达信 · 技术指标 海底捞月 (副图) ══}{安装: 公式管理器→技术指标→新建→名称 海底捞月→画线方法 副图→粘贴→确定}{线: 红#FF3B4E=得分EF(0-6) | 墨绿#00D68F=深度SD(0-10) | 字符标 y=1.2 | 刻度 M6=满分6 L10=门槛10 L4=环境4档}{下半柱: 黄橙空心=观察 | 黄橙实心=关注 | 红实心=提示 | 灰实心=灾难线-30% | 底部扁柱=环境强度0-4档}{上半柱: 墨绿实心=离场确认 WZ20>=80 | 墨绿空心=待确认(80±1.2 贴边 或 WZ20 78.8-80) | 紫=热度}{字符: B绿=小振幅出手(含深筛) | B黄橙=大振幅非深筛 | G红=大振幅+深筛(王牌, 同日多只优先); 环境HJ2<2 转灰}{注: 离场80 与生产席位卖出同口径(收盘确认, 次日开盘卖); 环境读880003 阈值-10.5/-5.5与-18.5/-10.5, 同花顺用883957 阈值-8/-4与-15/-8, 两边不追求一致}{!! 纯代码文件, 勿再加长注释(通达信单公式有字数上限)════}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;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;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 十条件 (与个股版相同, >=8 进候选池)}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. 四档与深筛标记}C1:=(SD>=8) AND (EF>=2);C2:=(SD>=9) AND (EF>=2);C3:=(SD>=9) AND (EF>=3);C4:=(SD>=10) AND (EF>=4);SSB:=(LYN>=5) AND (DP60<=-25) AND (RSI14<=22);{输出线条|修改:超跌深度→深度;删除深度门槛、满分线,得分线用#FF3B4E}M6得分:EF,COLOR4E3BFF,LINETHICK2;L10深度:SD,COLOR8FD600,LINETHICK2;SIDANG:=C1 OR C2 OR C3;{灾难线(单态实心): 锚点=出手次日开盘 X0.70 即-30%; 出手后 1-40 日内收盘破线即亮, 与四档柱互斥}CSJ:=BARSLAST(C4);CSZ:=IF(CSJ>=1,REF(OPEN,MAX(CSJ-1,0)),0)*0.70;CSG:=(CSJ>=1) AND (CSJ<=40) AND (CLOSE<=CSZ) AND NOT(SIDANG);STICKLINE(CSG,-1.2,0,2,0),COLORAAAAAA;{四档分色: 空心黄橙(观察) 实心黄橙(关注) 实心红(提示)}STICKLINE(C1 AND NOT(C2),-1.2,0,2,1),COLOR2ECBFF;STICKLINE(C2 AND NOT(C3),-1.2,0,2,0),COLOR2ECBFF;STICKLINE(C3,-1.2,0,2,0),COLOR4E3BFF;{离场墨绿柱三态同色: 实心=确认(>=80且不在贴边区) 空心=贴边(80±1.2) 空心=预警(78.8-80)}TIEB:=1.2;LVTIE:=(WZ20>=80-TIEB) AND (WZ20<80+TIEB);EXITW:=WZ20>=80;STICKLINE(EXITW AND NOT(LVTIE),8.8,10,2,0),COLOR8FD600;STICKLINE(EXITW AND LVTIE,8.8,10,2,1),COLOR8FD600;STICKLINE(NOT(EXITW) AND (WZ20>=80-TIEB),8.8,10,2,1),COLOR8FD600;{紫色=热度层 #BA4DFF → COLORFF4DBA}LB5:=VOL/REF(MV5,1);SY:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW+0.0001)*100;ZF:=(HIGH-LOW)/REF(CLOSE,1)*100;STT:=ABS(CLOSE-OPEN)/(HIGH-LOW+0.0001)*100;HRW:=(JV>=95) OR (WZ20>=87);HRV:=LB5>=1.5;HRR:=(SY>=35) AND (ZF>=3) AND (LB5>=1.8) AND (STT<=45);HPUR:=(HRW AND HRV) OR HRR;HORG:=HRW OR ((SY>=35) AND (ZF>=8) AND (LB5>=1.8) AND (STT<=45));HKO:=HORG AND NOT(HPUR);STICKLINE(HKO,7.4,8.6,2,1),COLORFF4DBA;STICKLINE(HPUR,7.4,8.6,2,0),COLORFF4DBA;{环境强度HJ2预计算|变量完整保留,B/G标记正常使用}{环境强度: 通达信读 880003(全A平均股价); 同花顺读 883957(同花顺全A平均)}{阈值两边不同(用户终版设定): 通达信 -10.5/-5.5 与 -18.5/-10.5; 同花顺 -8/-4 与 -15/-8}HJC:=("880003$CLOSE");HJ20:=(HJC/REF(HJC,20)-1)*100;HJD:=(HJC/HHV(HJC,120)-1)*100;HJ2:=IF(HJ20<=-10.5,2,IF(HJ20<=-5.5,1,0))+IF(HJD<=-18.5,2,IF(HJD<=-10.5,1,0));{========= B/G文字标记 按你要求颜色 =========}{小振幅B: ZF<6 B绿=#2BFF88 → COLOR88FF2B}DRAWTEXT(C4 AND ZF<6 AND HJ2>=4,1.2,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2>=3 AND HJ2<4,1.2,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2>=2 AND HJ2<3,1.2,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2<2,1.2,'B'),COLORAAAAAA;{大振幅B 非深筛 B黄橙=#FFCB2E → COLOR2ECBFF}DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2>=4,1.2,'B'),COLOR2ECBFF;DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2>=3 AND HJ2<4,1.2,'B'),COLOR2ECBFF;DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2<2,1.2,'B'),COLORAAAAAA;{深筛G 大振幅 G红=#FF3B4E → COLOR4E3BFF}DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=4,1.2,'G'),COLOR4E3BFF;DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=3 AND HJ2<4,1.2,'G'),COLOR4E3BFF;DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=2 AND HJ2<3,1.2,'G'),COLOR4E3BFF;{数据量守卫}SJQ:=BARSCOUNT(CLOSE)>=80;DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足80根'),COLOR2ECBFF;{════ G. 环境强度线 ════}L4情绪:HJ2,NODRAW;门控:IF(HJ2>=3,1,0),NODRAW;{可选读数(2026-10-20 关闭): 上涨家数占比(880005) 与 沪深差(1A0001/399001) 都靠跨品种引用}{缺数据时取0, 还各占一个输出槽; 要启用就把下面两行行首的注释符去掉, 改回真代码}{BR:=("880005$CLOSE"); BRP:=BR/5400*100; 广度:BRP,NODRAW;}{沪深差:(SZP/REF(SZP,20)-SHP/REF(SHP,20))*100,NODRAW;}{环境强度扁柱: y=-2.0到-1.5, 宽2 空心(参数 2,1); 0/1/2 同灰, 3黄橙, 4红}STICKLINE(HJ2=4,-2.0,-1.5,2,1),COLOR4E3BFF;STICKLINE(HJ2=3,-2.0,-1.5,2,1),COLOR2ECBFF;STICKLINE(HJ2=2,-2.0,-1.5,2,1),COLORAAAAAA;STICKLINE(HJ2=1,-2.0,-1.5,2,1),COLORAAAAAA;STICKLINE(HJ2=0,-2.0,-1.5,2,1),COLORAAAAAA;同花顺版代码
// ════ 同花顺 · 技术指标 海底捞月 (副图) — 由通达信版单向生成 ════// 安装: 公式管理→技术指标→新建→名称 海底捞月→画线方法 副图→粘贴→测试→保存// 无需参数; 柱宽固定6(同花顺标准间距10), 要调就改 STICKLINE 第4个参数; 副图色板 6 色// 线: 红#FF3B4E=得分EF(0-6) | 墨绿#00D68F=深度SD(0-10) | 字符标 y=1.2 — 与通达信同色同位置// 柱: 黄橙空心/实心=观察/关注 | 红实心=提示 | 灰实心=灾难线 | 墨绿实心=离场确认WZ20>=80 | 墨绿空心=待确认 | 紫=热度 | 底部扁柱=环境0-4// 字符: B绿=小振幅 | B黄橙=大振幅非深筛 | G红=大振幅+深筛(王牌); 环境HJ2<2 转灰 | 离场80 与生产席位同口径// 环境: 读 883957(同花顺全A平均), 阈值 -8/-4 与 -15/-8; 通达信读 880003 用 -10.5/-5.5, 两边不追求一致// 转换项: 花括号→双斜杠 · AMOUNT→MONEY · BARSLASTCOUNT→BARSLAST · VALUEWHEN→REF+BARSLAST · 指数改 INDEXDATA("883957")(阈值同终版)// ════════════════════════════════════════════════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;KXA:=BARSLAST((DCP0>0) OR (BARSCOUNT(CLOSE)=1));RQA:=REF(CLOSE/(DCP0+0.000001),KXA);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;EVW:=UPW OR DNW OR (BARSCOUNT(CLOSE)=21);DIRW:=IF(UPW,-1,1);KXW:=BARSLAST(EVW);LOWW:=REF(DIRW,KXW)>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 十条件 (与个股版相同, >=8 进候选池)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. 四档与深筛标记C1:=(SD>=8) AND (EF>=2);C2:=(SD>=9) AND (EF>=2);C3:=(SD>=9) AND (EF>=3);C4:=(SD>=10) AND (EF>=4);SSB:=(LYN>=5) AND (DP60<=-25) AND (RSI14<=22);// 输出线条|修改:超跌深度→深度;删除深度门槛、满分线,得分线用#FF3B4EM6得分:EF,COLOR4E3BFF,LINETHICK2;L10深度:SD,COLOR8FD600,LINETHICK2;SIDANG:=C1 OR C2 OR C3;// 灾难线(单态实心): 锚点=出手次日开盘 X0.70 即-30%; 出手后 1-40 日内收盘破线即亮, 与四档柱互斥CSJ:=BARSLAST(C4);CSZ:=IF(CSJ>=1,REF(OPEN,MAX(CSJ-1,0)),0)*0.70;CSG:=(CSJ>=1) AND (CSJ<=40) AND (CLOSE<=CSZ) AND NOT(SIDANG);STICKLINE(CSG,-1.2,0, 6,0),COLORAAAAAA;// 四档分色: 空心黄橙(观察) 实心黄橙(关注) 实心红(提示)STICKLINE(C1 AND NOT(C2),-1.2,0, 6,1),COLOR2ECBFF;STICKLINE(C2 AND NOT(C3),-1.2,0, 6,0),COLOR2ECBFF;STICKLINE(C3,-1.2,0, 6,0),COLOR4E3BFF;// 离场墨绿柱三态同色: 实心=确认(>=80且不在贴边区) 空心=贴边(80±1.2) 空心=预警(78.8-80)TIEB:=1.2;LVTIE:=(WZ20>=80-TIEB) AND (WZ20<80+TIEB);EXITW:=WZ20>=80;STICKLINE(EXITW AND NOT(LVTIE),8.8,10, 6,0),COLOR8FD600;STICKLINE(EXITW AND LVTIE,8.8,10, 6,1),COLOR8FD600;STICKLINE(NOT(EXITW) AND (WZ20>=80-TIEB),8.8,10, 6,1),COLOR8FD600;// 紫色=热度层 #BA4DFF → COLORFF4DBALB5:=VOL/REF(MV5,1);SY:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW+0.0001)*100;ZF:=(HIGH-LOW)/REF(CLOSE,1)*100;STT:=ABS(CLOSE-OPEN)/(HIGH-LOW+0.0001)*100;HRW:=(JV>=95) OR (WZ20>=87);HRV:=LB5>=1.5;HRR:=(SY>=35) AND (ZF>=3) AND (LB5>=1.8) AND (STT<=45);HPUR:=(HRW AND HRV) OR HRR;HORG:=HRW OR ((SY>=35) AND (ZF>=8) AND (LB5>=1.8) AND (STT<=45));HKO:=HORG AND NOT(HPUR);STICKLINE(HKO,7.4,8.6, 6,1),COLORFF4DBA;STICKLINE(HPUR,7.4,8.6, 6,0),COLORFF4DBA;// 环境强度HJ2预计算|变量完整保留,B/G标记正常使用// 环境强度: 通达信读 880003(全A平均股价); 同花顺读 883957(同花顺全A平均)// 阈值两边不同(用户终版设定): 通达信 -10.5/-5.5 与 -18.5/-10.5; 同花顺 -8/-4 与 -15/-8// 同花顺读 883957(同花顺全A平均股价); 阈值 -8/-4 与 -15/-8 (用户终版设定, 与通达信不同)HJC:=INDEXDATA("883957",&CLOSE);HJ20:=(HJC/REF(HJC,20)-1)*100;HJD:=(HJC/HHV(HJC,120)-1)*100;HJ2:=IF(HJ20<=-8,2,IF(HJ20<=-4,1,0))+IF(HJD<=-15,2,IF(HJD<=-8,1,0));// ========= B/G文字标记 按你要求颜色 =========// 小振幅B: ZF<6 B绿=#2BFF88 → COLOR88FF2BDRAWTEXT(C4 AND ZF<6 AND HJ2>=4,2.5,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2>=3 AND HJ2<4,2.5,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2>=2 AND HJ2<3,2.5,'B'),COLOR88FF2B;DRAWTEXT(C4 AND ZF<6 AND HJ2<2,2.5,'B'),COLORAAAAAA;// 大振幅B 非深筛 B黄橙=#FFCB2E → COLOR2ECBFFDRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2>=4,2.5,'B'),COLOR2ECBFF;DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2>=3 AND HJ2<4,2.5,'B'),COLOR2ECBFF;DRAWTEXT(C4 AND NOT(SSB) AND ZF>=6 AND HJ2<2,2.5,'B'),COLORAAAAAA;// 深筛G 大振幅 G红=#FF3B4E → COLOR4E3BFFDRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=4,2.5,'G'),COLOR4E3BFF;DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=3 AND HJ2<4,2.5,'G'),COLOR4E3BFF;DRAWTEXT(C4 AND SSB AND ZF>=6 AND HJ2>=2 AND HJ2<3,2.5,'G'),COLOR4E3BFF;// 数据量守卫SJQ:=BARSCOUNT(CLOSE)>=80;DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足80根'),COLOR2ECBFF;// ════ G. 环境强度线 ════L4情绪:HJ2,NODRAW;门控:IF(HJ2>=3,1,0),NODRAW;// 可选读数(2026-10-20 关闭): 上涨家数占比(880005) 与 沪深差(1A0001/399001) 都靠跨品种引用// 缺数据时取0, 还各占一个输出槽; 要启用就把下面两行行首的注释符去掉, 改回真代码// BR:=("880005$CLOSE"); BRP:=BR/5400*100; 广度:BRP,NODRAW;// 沪深差:(SZP/REF(SZP,20)-SHP/REF(SHP,20))*100,NODRAW;// 环境强度扁柱: y=-2.0到-1.5, 宽2 空心(参数 2,1); 0/1/2 同灰, 3黄橙, 4红STICKLINE(HJ2=4,-2.0,-1.5, 6,1),COLOR4E3BFF;STICKLINE(HJ2=3,-2.0,-1.5, 6,1),COLOR2ECBFF;STICKLINE(HJ2=2,-2.0,-1.5, 6,1),COLORAAAAAA;STICKLINE(HJ2=1,-2.0,-1.5, 6,1),COLORAAAAAA;STICKLINE(HJ2=0,-2.0,-1.5, 6,1),COLORAAAAAA;文件与复现
- 通达信源:
/root/lxxg/src/①指标公式_海底捞月_副图_TDX.txt - 同花顺源:
/root/lxxg/src/①指标公式_海底捞月_副图_THS.txt - 生成器:
python3 /root/lxxg/gen_ths_haidilaoyue.py - 指数标定:
/root/.hermes/cache/scratch/hj_index_calib.py - 选股公式源文件未动。刻度窗口已同步刷新:深度线改墨绿、删掉深度填柱、B/G 按振幅三档上色。
- 备份:
/root/backups/hdl_final_20261020/(含改动前的通达信源与同花顺文件)