{════ 通达信 · 技术指标 海底捞月 (副图) ════ 安装: 公式管理器 -> 技术指标 -> 新建 -> 名称 海底捞月 -> 画线方法:副图 -> 粘贴 -> 确定 图上怎么看: B = 出手: 买点(收盘确认, 次日开盘买) G = 深筛优先: 更强的出手, 同一天多只票时优先买它(有G的日子不显示B) 黄橙空心柱 = 观察: 只看不买 黄橙实心柱 = 关注: 准备, 还不买 红色实心柱 = 提示: 接近出手 绿柱 = 离场: 收盘WZ20>=60, 次日开盘卖 (绿柱才是顶) 紫柱 = 热度: 有人买/正在过热, 只是预警不是顶 灰柱 = 灾难线: 跌破-30% 两条线: 红=得分线(极端度), 黄橙=超跌深度线 配色(2026-10-18 第7版·提亮, 两平台同色): 红#FF4D4D 金#FFB830 绿#35D672 墨绿#26BE66 紫#E040FB B=绿字(#35D672) G=墨绿字(#26BE66) 灰=门槛线/灰柱 !! 本文件是【纯代码】, 勿再加长注释(通达信单公式有字数上限)════} 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=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 十条件 (与个股版相同, >=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=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); {输出} 得分:EF,COLOR4D4DFF,LINETHICK2; 超跌深度:SD,COLOR30B8FF,LINETHICK2; 深度门槛:10,COLORAAAAAA,DOTLINE; 满分线:6,COLORC8C8C8,DOTLINE; SIDANG:=C1 OR C2 OR C3; {灾难线(两级): 锚点=出手次日开盘 x0.70 即-30%} 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); CSN:=BARSLAST((CSG)=0); CSW:=CSG AND (CSN<5); CSC:=CSG AND (CSN>=5); STICKLINE(CSW,0,1.2,2,1),COLORAAAAAA; STICKLINE(CSC,0,1.2,2,0),COLORAAAAAA; {四档分色: 空心黄橙(观察) 实心黄橙(关注) 实心红(提示) 出手标B} STICKLINE(C1,0,1.2,2,1),COLOR30B8FF; STICKLINE(C2,0,1.2,2,0),COLOR30B8FF; STICKLINE(C3,0,1.2,2,0),COLOR4D4DFF; {离场绿柱: WZ20>=60; 贴边空心; 未触发贴边=暗空心} TIEB:=1.2; LVTIE:=(WZ20>=60-TIEB) AND (WZ20<60+TIEB); EXITW:=WZ20>=60; STICKLINE(EXITW AND NOT(LVTIE),8.8,10,2,0),COLOR72D635; STICKLINE(EXITW AND LVTIE,8.8,10,2,1),COLOR72D635; STICKLINE(NOT(EXITW) AND (WZ20>=60-TIEB),8.8,10,2,1),COLOR66BE26; {紫色=热度层(7.6~8.8): 空心紫=原版紫柱条件; 实心紫=ETF热度版; 同柱实心优先} 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),COLORFB40E0; STICKLINE(HPUR,7.4,8.6,2,0),COLORFB40E0; {出手=B骑得分线; G=深筛优先替代B显示(有G不显B); 副图无文字标注(2026-10-17)} DRAWTEXT(C4 AND NOT(SSB),EF,'B'),COLOR72D635; DRAWTEXT(C4 AND SSB,EF,'G'),COLOR66BE26; {数据量守卫: 序列不足80根时提示(递归线起点漂移)} SJQ:=BARSCOUNT(CLOSE)>=80; DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足80根');