新增 SJQ:=BARSCOUNT(CLOSE)>=80; + 定点提示:数据不足 80 根时显示「数据不足80根」。不改任何输出值,只让「图不可信」一眼可见 —— 实测载入 45 根时 91% 的股票-日偏差 >0.05 分,载入 ≥80 根偏差 = 0。
新增 TIEB:=1.2;:BD7 距 70 不足 1.2 分 → 空心绿柱(贴边绿,随时可能翻面);未触发但已进贴边带 → 暗色空心。命中率:绿柱中 211,238 根为空心(占绿柱 7.3%),另有 146,643 根「未触发但贴边」被标出。
旧:CSZ:=REF(CLOSE,CSJ)*0.88(出手日收盘);新:CSZ:=IF(CSJ>=1,REF(OPEN,MAX(CSJ-1,0)),0)*0.88(出手次日开盘 = 生产口径「实际成交价」)。原因:旧锚点在 45.8% 的止损事件上触发日与生产不一致(中位差 1 天,p95 差 12 天)。
同日既有三色柱又有止损触发时 三色优先:SANSE 精确等于三色并集(恒等反例 0 根),灰柱条件加 NOT(SANSE) 并把绘制顺序提前。影响:原本有 5,491 天(1724 只)灰柱盖住了三色柱。
STICKLINE 第 4 参数统一为 2(现共 10 处:止损 2 + 三色 4 + 绿 3 + 紫 1)。注:同花顺「标准间距」常按 10 计,若同花顺上比K线细,把这 10 处改成 7。
同花顺版由通达信版脚本单向生成(/root/lxxg/tdx2ths.py),只换平台写法,数值一字未动;两个平台代码都在本页,各一个复制按钮。
第一轮:把灰色写成 RGB(128,128,128) 放在颜色位,同花顺编译直接报「同一行存在多个函数调用」——同花顺颜色位只能写颜色/线型关键字,RGB() 是函数。
第二轮:改成六位十六进制后仍沿用通达信命名色(COLORRED/COLORYELLOW/COLORCYAN…),同花顺上显示颜色不对。现按用户 2026-09-23 来稿的定稿色表,三份同花顺版全部改用六位十六进制 COLORxxxxxx,与通达信命名色一一对应(下表),并给两个生成脚本共用同一张色表,杜绝再手改。
上传若提示有特殊字符,出问题的是中文注释以及注释里的装饰符号(═ · → ÷ 【】「」 这类)。现按 2026-09-21 那版能上传的字符风格另出两份:素版(整份无注释、变量名全英文描述式、显示名保留中文)和 全ASCII版(连显示名与图上文字也英文,整份 0 个非 ASCII 字符)。两份都拿脚本反向映射回通达信源逐行比对:97 行零差异 —— 只换名字与写法,数值/条件一字未动。
① 黄柱 (9,3)/(10,2~3) 与 超跌深度线 换成黄橙色 COLOR00CCFF;② 青柱 (9,2) 改成空心柱(只有边框)同为黄橙色,与空心绿共用一套「空心=待确认/弱一档」的看图语言。
取色顺序说明:同花顺与通达信的 COLOR 都是 BBGGRR(你实测『得分』线是红色即可确认)。所以黄橙 #FFCC00 要写 COLOR00CCFF;字面写 COLORFFCC00 在软件里是浅蓝。
锚点 = 出手红柱 (SD≥10 且 DF≥4) —— 唯一实盘买点;青/黄是候选池,拿它们当锚点会在没买的标的上刷灰柱。
规则:收盘跌破 成交价×0.88(成交价 = 出手次日开盘,固定 −12%)当日画 空心灰柱(待确认);连续 5 日收在止损位下 → 实心灰柱 + ‘止损’(确认)。
实测(全库 5,383 只 / 63,429 个出手信号):立即止损平均拖累 −2.88 个点(38% 触发,其中 51% 触发后在 40 日内收复入场价 = 假摔);改「连跌 5 日确认」后拖累降到 −0.64 个点(确认卖出占比 21.8%)。明细见 👉 止损锚点研究报告。
| 信号 | 通达信写法 | 同花顺写法(定稿) | 颜色 |
|---|---|---|---|
| 得分(0~6) 线 | COLORRED | COLOR0000FF | 红 |
| 超跌深度(0~10) 线 | COLOR00CCFF(自定义黄橙) | COLOR00CCFF | 黄橙 |
| 门槛 10 / 满分线 6 虚线 | COLORGRAY / COLORLIGRAY | COLORAAAAAA / COLORC8C8C8 | 灰 / 浅灰 |
| 止损柱 + ‘止损’ 字 | COLOR808080 | COLORAAAAAA | 灰(空心=待确认 / 实心=确认) |
| 三色 · 青 = (9,2) | COLOR00CCFF 空心 | COLOR00CCFF 空心 | 黄橙·空心框 |
| 三色 · 黄 = (9,3)(10,2)(10,3) | COLOR00CCFF 实心 | COLOR00CCFF 实心 | 黄橙·实心 |
| 三色 · 红 = (9,4)(10,≥4) 出手 | COLORRED | COLOR0000FF | 红 |
| 离场柱(实心/空心绿) | COLORGREEN | COLOR00FF00 | 绿 |
| 未触发但已贴边(暗空心) | COLOR008000 | COLOR00CC00 | 暗绿 |
| 顶部预警柱(紫) | COLORMAGENTA | COLORFF00FF | 紫 |
| 并集恒等 | 三色并集 vs 逐格枚举:0 根反例(11,972,448 根日线中) |
| 灰柱口径 | 锚点=出手红柱;跌破 −12% 触发率 38.0%,其中连跌 5 日确认 21.8%(旧规则:触发即画实心灰) |
| 锚点校对 A≡B | 出手日本身就是红柱 ⇒「最后一次红柱收盘」与「出手日收盘」逐日相同(0 差异),手册措辞与公式一致 |
| 锚点校对 A vs C | 11,883/25,939 = 45.8% 的止损事件首次触发日不同;平移中位 1.0 天 / p95 12.0 天 / 极值 ±38.0 天 |
| 口径不变 | 生产信号仍来自落盘缓存(全历史 + 历史冻结):入场/离场/止损判定不受本次改动影响,本次全部是显示层 |
09-16~09-18 的 BD7 = 69.47 / 69.82 / 69.84:生产口径下不是绿柱,但已进贴边带 → 显示暗色空心(待确认); 09-21 起 BD7 = 72.22 / 72.53(距阈值 >1.2 分)→ 实心绿柱。
| 日期 | 收盘 | SD | DF | BD7 | WZ20 | 副图显示 |
|---|---|---|---|---|---|---|
| 2026-09-03 | 12.00 | 3 | 1 | 55.65 | 42.6 | — |
| 2026-09-04 | 11.75 | 3 | 1 | 55.90 | 31.4 | — |
| 2026-09-07 | 12.31 | 3 | 0 | 55.76 | 56.5 | — |
| 2026-09-08 | 12.31 | 3 | 0 | 56.29 | 56.5 | — |
| 2026-09-09 | 12.43 | 3 | 0 | 57.42 | 61.9 | — |
| 2026-09-10 | 12.33 | 3 | 0 | 58.11 | 57.4 | — |
| 2026-09-11 | 12.50 | 3 | 0 | 58.77 | 65.0 | — |
| 2026-09-14 | 13.75 | 1 | 0 | 62.83 | 100.0 | 实心绿 |
| 2026-09-15 | 14.37 | 0 | 1 | 65.87 | 84.5 | — |
| 2026-09-16 | 14.17 | 0 | 0 | 69.47 | 79.4 | 暗色空心 待确认 |
| 2026-09-17 | 13.82 | 1 | 0 | 69.82 | 70.5 | 暗色空心 待确认 |
| 2026-09-18 | 13.76 | 1 | 0 | 69.84 | 69.0 | 暗色空心 待确认 |
| 2026-09-21 | 14.47 | 0 | 0 | 72.22 | 83.6 | 实心绿 |
| 2026-09-22 | 13.99 | 1 | 0 | 72.53 | 69.9 | 实心绿 |
| 2026-09-23 | 14.52 | 0 | 0 | 74.07 | 83.3 | 实心绿 |
{════ 通达信 · 技术指标公式 LZ_XG (副图) ════
安装: 公式管理器 -> 技术指标 -> 新建 -> 名称 LZ_XG -> 画线方法:副图
-> 粘贴本文件 -> 确定
输出: 得分(0~6) / 超跌深度(0~10)
底部红柱 = 出手(深度>=10 且 得分>=4)
三色提示(次数+收益/胜率双轴一致): 青=(9,2)空心黄橙 / 黄=(9,3)(10,2)(10,3)实心黄橙 / 红=(9,4)
顶部绿柱 = 离场(POS20>=85 或 BD7>=70)
空心绿柱 = 贴边(距70不足1.2分) / 暗空心 = 未触发但已贴边; 顶部紫柱 = 顶部预警
灰柱(止损, 锚点=出手红柱): 空心=收盘跌破 实际成交价x0.88(待确认);
实心=连续5日收在止损位下(确认) -> 次日开盘卖; 与三色同柱时三色优先
(柱宽2=与K线柱同宽; 调宽须同改10处STICKLINE第4参数)
进阶: 报价 -> 指标排序 -> 选 LZ_XG -> 按"得分"降序 = 全市场选股排序
!! 本文件是【纯代码】, 请勿再加长注释(通达信单公式有字数上限) ════}
MA5:=MA(CLOSE,5);
MA10:=MA(CLOSE,10);
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日均值 → 把成交额折算到前复权口径}
FQ5:=MA(CLOSE/(DCP0+0.0001),5);
AMTQ:=AMOUNT*FQ5;
DCP:=AMTQ/(VOL+0.0001)/100;
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;
SQ2:=DCP*DCP;
W60:=SUM(AMTQ*SQ2,60)/(SUM(AMTQ,60)+0.0001);
CHIPSD:=SQRT(MAX(W60-VW60*VW60,0))/VW60*100;
{B. 波动线 BD7 (BSTL 波动率分档)}
BG:=3.5;
W1:=IF(CLOSE<=OPEN,CLOSE,OPEN);
W2:=(W1-LOW)/LOW*100;
W3:=IF(BARSCOUNT(CLOSE)>1,(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100,0);
W4:=IF(BARSCOUNT(CLOSE)>1,(OPEN-REF(CLOSE,1))/REF(CLOSE,1)*100,0);
W5:=(CLOSE-OPEN)/OPEN*100;
W6:=IF(CLOSE>=OPEN,CLOSE,OPEN);
W7:=(HIGH-W6)/W6*100;
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;
LOWW:=BARSLAST(UPW)>=BARSLAST(DNW);
CXL:=(2*CLOSE+HIGH+LOW)/4;
RSLW:=IF(LOWW,(CXL-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)+0.0001)*100,(CXL-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21)+0.0001)*100);
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;
WZ250:=(CLOSE-LLV(LOW,250))/(HHV(HIGH,250)-LLV(LOW,250)+0.0001)*100;
BL5:=(CLOSE/MA5-1)*100;
BL20:=(CLOSE/MA20-1)*100;
BL60:=(CLOSE/MA60-1)*100;
RM60:=(CLOSE/HHV(HIGH,60)-1)*100;
{D. 第1层 规律状态: 超跌深度 10 条件 (>=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层 六件套等权得分 (0~6, 必须等权, 加权实测有害)}
T1:=DP20<=-12;
T2:=RSI14<=28;
T3:=BL20<=-15;
T4:=CHIPSD<=6;
T5:=DP60<=-20;
T6:=MV5/REF(MV5,1)>=1.5;
DF:=(T1+T2+T3+T4+T5+T6);
{F. 第4层 离场与顶部预警}
LB5:=VOL/REF(MV5,1);
ZF:=(HIGH-LOW)/REF(CLOSE,1)*100;
SY:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW+0.0001)*100;
STT:=ABS(CLOSE-OPEN)/(HIGH-LOW+0.0001)*100;
EXITW:=(WZ20>=85) OR (BD7>=70);
{G. 拉高过久: 连续放量突破 >= 10 天 -> 后续 5/10/20/40 日全转为负收益
实测(158万个PUSH日): 对照组(全体PUSH日)前瞻20日 +0.912%;
连续>=10天后 前瞻5日 -0.871% / 10日 -1.303% / 20日 -0.749% / 40日 -0.512%
连续>=12天后 全部在 -0.6% ~ -1.6% 之间
=> "一直拉高"恰恰是该走的信号, 不是进场的信号}
MV20:=MA(VOL,20);
PUSHF:=(CLOSE>=REF(HHV(HIGH,20),1)) AND (VOL>=REF(MV20,1)*1.5);
PRUN:=BARSLASTCOUNT(PUSHF);
EXIT2:=PRUN>=10;
WARN1:=(JV>=95) OR (WZ20>=87);
WARN2:=(SY>=35) AND (ZF>=8) AND (LB5>=1.8) AND (STT<=45);
{输出}
得分:DF,COLORRED,LINETHICK2;
超跌深度:SD,COLOR00CCFF,LINETHICK2;
深度门槛:10,COLORGRAY,DOTLINE;
满分线:6,COLORLIGRAY,DOTLINE;
{三色并集速查: (9,5)(9,6)不画柱, 故不让位}
SANSE:=((SD=9) AND (DF>=2) AND (DF<=4)) OR ((SD>=10) AND (DF>=2));
{止损(两级): 锚点=出手红柱(唯一实盘买点), 止损位=成交价(出手次日开盘)x0.88 即固定-12%
空心灰=跌破止损位(待确认) / 实心灰=连续5日收在止损位下(确认); 实测连跌5确认把拖累从-2.88降到-0.64个点}
CSJ:=BARSLAST((SD>=10) AND (DF>=4));
CSZ:=IF(CSJ>=1,REF(OPEN,MAX(CSJ-1,0)),0)*0.88;
CSG:=(CSJ>=1) AND (CSJ<=40) AND (CLOSE<=CSZ) AND NOT(SANSE);
CSN:=BARSLAST((CSG)=0);
CSW:=CSG AND (CSN<5);
CSC:=CSG AND (CSN>=5);
STICKLINE(CSW,0,1.2,2,1),COLOR808080;
STICKLINE(CSC,0,1.2,2,0),COLOR808080;
DRAWTEXT(CSC,1.6,'止损'),COLOR808080;
{三色提示(次数+收益/胜率双轴一致): 青=(9,2)空心黄橙 / 黄=(9,3)(10,2)(10,3)实心黄橙 / 红=(9,4); 红柱=出手不动}
STICKLINE((SD=9) AND (DF=2),0,1.2,2,1),COLOR00CCFF;
STICKLINE(((SD=9) AND (DF=3)) OR ((SD>=10) AND (DF>=2) AND (DF<=3)),0,1.2,2,0),COLOR00CCFF;
STICKLINE((SD=9) AND (DF=4),0,1.2,2,0),COLORRED;
STICKLINE((SD>=10) AND (DF>=4),0,1.2,2,0),COLORRED;
{贴边分层: BD7距70不足TIEB分=空心(待确认)}
TIEB:=1.2;
LVTIE:=(BD7>=70-TIEB) AND (BD7<70+TIEB);
STICKLINE(EXITW AND NOT(LVTIE),8.8,10,2,0),COLORGREEN;
STICKLINE(EXITW AND LVTIE,8.8,10,2,1),COLORGREEN;
STICKLINE(NOT(EXITW) AND (BD7>=70-TIEB),8.8,10,2,1),COLOR008000;
STICKLINE(WARN1 OR WARN2,7.6,8.8,2,0),COLORMAGENTA;
{数据量守卫: 序列不足80根时图上提示(递归线会随起点漂移)}
SJQ:=BARSCOUNT(CLOSE)>=80;
DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足80根');
按 2026-09-21 那版能上传的字符风格写:一行注释都没有,变量名全英文描述式(DC_BASE/FQ_RATIO/STOP_DAY…),
显示名保留中文(得分 / 超跌深度 / 门槛 / 满分线)、止损字样 '止损'——旧版能上传,就是这套显示名。
全文非 ASCII 字符只剩这几个中文显示名,其余是普通英文字符、数字、半角标点。
MA5:=MA(CLOSE,5); MA10:=MA(CLOSE,10); 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; DC_BASE:=MONEY/(VOL+0.0001)/100; FQ_RATIO:=MA(CLOSE/(DC_BASE+0.0001),5); AMT_ADJ:=MONEY*FQ_RATIO; DCP:=AMT_ADJ/(VOL+0.0001)/100; VW20:=SUM(AMT_ADJ,20)/(SUM(VOL,20)+0.0001)/100; VW60:=SUM(AMT_ADJ,60)/(SUM(VOL,60)+0.0001)/100; DP20:=(CLOSE/VW20-1)*100; DP60:=(CLOSE/VW60-1)*100; SQ2:=DCP*DCP; W60:=SUM(AMT_ADJ*SQ2,60)/(SUM(AMT_ADJ,60)+0.0001); CHIPSD:=SQRT(MAX(W60-VW60*VW60,0))/VW60*100; BG_VAL:=3.5; W1:=IF(CLOSE<=OPEN,CLOSE,OPEN); W2:=(W1-LOW)/LOW*100; W3:=IF(BARSCOUNT(CLOSE)>1,(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100,0); W4:=IF(BARSCOUNT(CLOSE)>1,(OPEN-REF(CLOSE,1))/REF(CLOSE,1)*100,0); W5:=(CLOSE-OPEN)/OPEN*100; W6:=IF(CLOSE>=OPEN,CLOSE,OPEN); W7:=(HIGH-W6)/W6*100; W8:=MAX(MAX(MAX(W3,W4),MAX(W5,W7)),MAX(W2,MAX(W5+W7,W5+W2)))*1.2; AVGW:=MA(W8,20); UP_STATE:=AVGW>BG_VAL+0.5; DN_STATE:=AVGW<BG_VAL; LOW_STATE:=BARSLAST(UP_STATE)>=BARSLAST(DN_STATE); CXL:=(2*CLOSE+HIGH+LOW)/4; RSLW:=IF(LOW_STATE,(CXL-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)+0.0001)*100,(CXL-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21)+0.0001)*100); E13:=EMA(RSLW,13); E11:=EMA(RSLW,11); BD7:=IF(LOW_STATE,E13,E11); 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; WZ250:=(CLOSE-LLV(LOW,250))/(HHV(HIGH,250)-LLV(LOW,250)+0.0001)*100; BL5:=(CLOSE/MA5-1)*100; BL20:=(CLOSE/MA20-1)*100; BL60:=(CLOSE/MA60-1)*100; RM60:=(CLOSE/HHV(HIGH,60)-1)*100; 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; T1:=DP20<=-12; T2:=RSI14<=28; T3:=BL20<=-15; T4:=CHIPSD<=6; T5:=DP60<=-20; T6:=MV5/REF(MV5,1)>=1.5; DF:=(T1+T2+T3+T4+T5+T6); LB5:=VOL/REF(MV5,1); ZF:=(HIGH-LOW)/REF(CLOSE,1)*100; SY:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW+0.0001)*100; STT:=ABS(CLOSE-OPEN)/(HIGH-LOW+0.0001)*100; EXITW:=(WZ20>=85) OR (BD7>=70); VOL_MA20:=MA(VOL,20); PUSH_SIG:=(CLOSE>=REF(HHV(HIGH,20),1)) AND (VOL>=REF(VOL_MA20,1)*1.5); PUSH_CNT:=BARSLAST((PUSH_SIG)=0); EXIT_LONG:=PUSH_CNT>=10; WARN1:=(JV>=95) OR (WZ20>=87); WARN2:=(SY>=35) AND (ZF>=8) AND (LB5>=1.8) AND (STT<=45); 得分:DF,COLOR0000FF,LINETHICK2; 超跌深度:SD,COLOR00CCFF,LINETHICK2; 门槛:10,COLORAAAAAA,DOTLINE; 满分线:6,COLORC8C8C8,DOTLINE; TRI_UNION:=((SD=9) AND (DF>=2) AND (DF<=4)) OR ((SD>=10) AND (DF>=2)); STOP_DAY:=BARSLAST((SD>=10) AND (DF>=4)); STOP_PRICE:=IF(STOP_DAY>=1,REF(OPEN,MAX(STOP_DAY-1,0)),0)*0.88; STOP_SIG:=(STOP_DAY>=1) AND (STOP_DAY<=40) AND (CLOSE<=STOP_PRICE) AND NOT(TRI_UNION); STOP_N:=BARSLAST((STOP_SIG)=0); STOP_WAIT:=STOP_SIG AND (STOP_N<5); STOP_CONF:=STOP_SIG AND (STOP_N>=5); STICKLINE(STOP_WAIT,0,1.2,2,1),COLORAAAAAA; STICKLINE(STOP_CONF,0,1.2,2,0),COLORAAAAAA; DRAWTEXT(STOP_CONF,1.6,'止损'),COLORAAAAAA; STICKLINE((SD=9) AND (DF=2),0,1.2,2,1),COLOR00CCFF; STICKLINE(((SD=9) AND (DF=3)) OR ((SD>=10) AND (DF>=2) AND (DF<=3)),0,1.2,2,0),COLOR00CCFF; STICKLINE((SD=9) AND (DF=4),0,1.2,2,0),COLOR0000FF; STICKLINE((SD>=10) AND (DF>=4),0,1.2,2,0),COLOR0000FF; TIE_BAND:=1.2; NEAR_EDGE:=(BD7>=70-TIE_BAND) AND (BD7<70+TIE_BAND); STICKLINE(EXITW AND NOT(NEAR_EDGE),8.8,10,2,0),COLOR00FF00; STICKLINE(EXITW AND NEAR_EDGE,8.8,10,2,1),COLOR00FF00; STICKLINE(NOT(EXITW) AND (BD7>=70-TIE_BAND),8.8,10,2,1),COLOR00CC00; STICKLINE(WARN1 OR WARN2,7.6,8.8,2,0),COLORFF00FF; DATA_OK:=BARSCOUNT(CLOSE)>=80; DRAWTEXT_FIX(NOT(DATA_OK),0.01,0.06,0,'数据不足80根');
| 旧名 | 素版新名 | 含义 |
|---|---|---|
| DCP0 | DC_BASE | 筹码成本(原始VWAP) |
| FQ5 | FQ_RATIO | 复权折算系数 |
| AMTQ | AMT_ADJ | 折算后成交额 |
| BG | BG_VAL | 波动率基准 3.5 |
| UPW | UP_STATE | 高波状态 |
| DNW | DN_STATE | 低波状态 |
| LOWW | LOW_STATE | 低波档位(取21日窗口) |
| MV20 | VOL_MA20 | 20日均量 |
| PUSHF | PUSH_SIG | 放量突破信号 |
| PRUN | PUSH_CNT | 连续突破天数 |
| EXIT2 | EXIT_LONG | 拉高过久(≥10天) |
| SANSE | TRI_UNION | 三色并集 |
| CSJ | STOP_DAY | 出手后天数 |
| CSZ | STOP_PRICE | 止损价(成交价x0.88) |
| CSG | STOP_SIG | 止损触发 |
| TIEB | TIE_BAND | 贴边带宽 1.2 |
| LVTIE | NEAR_EDGE | 贴边(距70不足1.2分) |
| SJQ | DATA_OK | 数据量守卫(≥80根) |
| 得分 | SCORE | 显示名(仅全ASCII版改) |
| 超跌深度 | DEPTH | 显示名(仅全ASCII版改) |
| 门槛 | GATE_10 | 显示名(仅全ASCII版改) |
| 满分线 | FULL_6 | 显示名(仅全ASCII版改) |
| 止损 | STOP | 显示名(仅全ASCII版改) |
| 数据不足80根 | DATA_SHORT | 显示名(仅全ASCII版改) |
连显示名和图上文字也英文化:SCORE / DEPTH / GATE_10 / FULL_6 / STOP / DATA_SHORT。
整份文件 0 个非 ASCII 字符(汉字一个都没有),是能过的最保守写法。
MA5:=MA(CLOSE,5); MA10:=MA(CLOSE,10); 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; DC_BASE:=MONEY/(VOL+0.0001)/100; FQ_RATIO:=MA(CLOSE/(DC_BASE+0.0001),5); AMT_ADJ:=MONEY*FQ_RATIO; DCP:=AMT_ADJ/(VOL+0.0001)/100; VW20:=SUM(AMT_ADJ,20)/(SUM(VOL,20)+0.0001)/100; VW60:=SUM(AMT_ADJ,60)/(SUM(VOL,60)+0.0001)/100; DP20:=(CLOSE/VW20-1)*100; DP60:=(CLOSE/VW60-1)*100; SQ2:=DCP*DCP; W60:=SUM(AMT_ADJ*SQ2,60)/(SUM(AMT_ADJ,60)+0.0001); CHIPSD:=SQRT(MAX(W60-VW60*VW60,0))/VW60*100; BG_VAL:=3.5; W1:=IF(CLOSE<=OPEN,CLOSE,OPEN); W2:=(W1-LOW)/LOW*100; W3:=IF(BARSCOUNT(CLOSE)>1,(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100,0); W4:=IF(BARSCOUNT(CLOSE)>1,(OPEN-REF(CLOSE,1))/REF(CLOSE,1)*100,0); W5:=(CLOSE-OPEN)/OPEN*100; W6:=IF(CLOSE>=OPEN,CLOSE,OPEN); W7:=(HIGH-W6)/W6*100; W8:=MAX(MAX(MAX(W3,W4),MAX(W5,W7)),MAX(W2,MAX(W5+W7,W5+W2)))*1.2; AVGW:=MA(W8,20); UP_STATE:=AVGW>BG_VAL+0.5; DN_STATE:=AVGW<BG_VAL; LOW_STATE:=BARSLAST(UP_STATE)>=BARSLAST(DN_STATE); CXL:=(2*CLOSE+HIGH+LOW)/4; RSLW:=IF(LOW_STATE,(CXL-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)+0.0001)*100,(CXL-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21)+0.0001)*100); E13:=EMA(RSLW,13); E11:=EMA(RSLW,11); BD7:=IF(LOW_STATE,E13,E11); 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; WZ250:=(CLOSE-LLV(LOW,250))/(HHV(HIGH,250)-LLV(LOW,250)+0.0001)*100; BL5:=(CLOSE/MA5-1)*100; BL20:=(CLOSE/MA20-1)*100; BL60:=(CLOSE/MA60-1)*100; RM60:=(CLOSE/HHV(HIGH,60)-1)*100; 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; T1:=DP20<=-12; T2:=RSI14<=28; T3:=BL20<=-15; T4:=CHIPSD<=6; T5:=DP60<=-20; T6:=MV5/REF(MV5,1)>=1.5; DF:=(T1+T2+T3+T4+T5+T6); LB5:=VOL/REF(MV5,1); ZF:=(HIGH-LOW)/REF(CLOSE,1)*100; SY:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW+0.0001)*100; STT:=ABS(CLOSE-OPEN)/(HIGH-LOW+0.0001)*100; EXITW:=(WZ20>=85) OR (BD7>=70); VOL_MA20:=MA(VOL,20); PUSH_SIG:=(CLOSE>=REF(HHV(HIGH,20),1)) AND (VOL>=REF(VOL_MA20,1)*1.5); PUSH_CNT:=BARSLAST((PUSH_SIG)=0); EXIT_LONG:=PUSH_CNT>=10; WARN1:=(JV>=95) OR (WZ20>=87); WARN2:=(SY>=35) AND (ZF>=8) AND (LB5>=1.8) AND (STT<=45); SCORE:DF,COLOR0000FF,LINETHICK2; DEPTH:SD,COLOR00CCFF,LINETHICK2; GATE_10:10,COLORAAAAAA,DOTLINE; FULL_6:6,COLORC8C8C8,DOTLINE; TRI_UNION:=((SD=9) AND (DF>=2) AND (DF<=4)) OR ((SD>=10) AND (DF>=2)); STOP_DAY:=BARSLAST((SD>=10) AND (DF>=4)); STOP_PRICE:=IF(STOP_DAY>=1,REF(OPEN,MAX(STOP_DAY-1,0)),0)*0.88; STOP_SIG:=(STOP_DAY>=1) AND (STOP_DAY<=40) AND (CLOSE<=STOP_PRICE) AND NOT(TRI_UNION); STOP_N:=BARSLAST((STOP_SIG)=0); STOP_WAIT:=STOP_SIG AND (STOP_N<5); STOP_CONF:=STOP_SIG AND (STOP_N>=5); STICKLINE(STOP_WAIT,0,1.2,2,1),COLORAAAAAA; STICKLINE(STOP_CONF,0,1.2,2,0),COLORAAAAAA; DRAWTEXT(STOP_CONF,1.6,'STOP'),COLORAAAAAA; STICKLINE((SD=9) AND (DF=2),0,1.2,2,1),COLOR00CCFF; STICKLINE(((SD=9) AND (DF=3)) OR ((SD>=10) AND (DF>=2) AND (DF<=3)),0,1.2,2,0),COLOR00CCFF; STICKLINE((SD=9) AND (DF=4),0,1.2,2,0),COLOR0000FF; STICKLINE((SD>=10) AND (DF>=4),0,1.2,2,0),COLOR0000FF; TIE_BAND:=1.2; NEAR_EDGE:=(BD7>=70-TIE_BAND) AND (BD7<70+TIE_BAND); STICKLINE(EXITW AND NOT(NEAR_EDGE),8.8,10,2,0),COLOR00FF00; STICKLINE(EXITW AND NEAR_EDGE,8.8,10,2,1),COLOR00FF00; STICKLINE(NOT(EXITW) AND (BD7>=70-TIE_BAND),8.8,10,2,1),COLOR00CC00; STICKLINE(WARN1 OR WARN2,7.6,8.8,2,0),COLORFF00FF; DATA_OK:=BARSCOUNT(CLOSE)>=80; DRAWTEXT_FIX(NOT(DATA_OK),0.01,0.06,0,'DATA_SHORT');
同源同逻辑,与通达信版数值一字未动,只换平台写法(注释 // / 成交额 MONEY / 连续计数 BARSLAST((X)=0) / 颜色按上方定稿色表换成六位十六进制)。
注释里有 ═ · → ÷ 这类装饰符号,若上传报特殊字符,换上面两份。
// ════ 通达信 · 技术指标公式 LZ_XG (副图·同花顺版) ════ // 安装(同花顺): 公式管理 -> 技术指标 -> 新建 -> 名称 LZ_XG -> 画线方法:副图 // -> 粘贴本文件 -> 确定 // 输出: 得分(0~6) / 超跌深度(0~10) // 底部红柱 = 出手(深度>=10 且 得分>=4) // 三色提示(次数+收益/胜率双轴一致): 青=(9,2)空心黄橙 / 黄=(9,3)(10,2)(10,3)实心黄橙 / 红=(9,4) // 顶部绿柱 = 离场(POS20>=85 或 BD7>=70) // 空心绿柱 = 贴边(距70不足1.2分) / 暗空心 = 未触发但已贴边; 顶部紫柱 = 顶部预警 // 灰柱(止损, 锚点=出手红柱): 空心=收盘跌破 实际成交价x0.88(待确认); // 实心=连续5日收在止损位下(确认) -> 次日开盘卖; 与三色同柱时三色优先 // (柱宽2=与K线柱同宽; 调宽须同改10处STICKLINE第4参数) // 进阶: 报价 -> 指标排序 -> 选 LZ_XG -> 按"得分"降序 = 全市场选股排序 // !! 本文件是【纯代码】, 请勿再加长注释(通达信单公式有字数上限) ════ MA5:=MA(CLOSE,5); MA10:=MA(CLOSE,10); 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日均值 → 把成交额折算到前复权口径 FQ5:=MA(CLOSE/(DCP0+0.0001),5); AMTQ:=MONEY*FQ5; DCP:=AMTQ/(VOL+0.0001)/100; 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; SQ2:=DCP*DCP; W60:=SUM(AMTQ*SQ2,60)/(SUM(AMTQ,60)+0.0001); CHIPSD:=SQRT(MAX(W60-VW60*VW60,0))/VW60*100; // B. 波动线 BD7 (BSTL 波动率分档) BG:=3.5; W1:=IF(CLOSE<=OPEN,CLOSE,OPEN); W2:=(W1-LOW)/LOW*100; W3:=IF(BARSCOUNT(CLOSE)>1,(CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100,0); W4:=IF(BARSCOUNT(CLOSE)>1,(OPEN-REF(CLOSE,1))/REF(CLOSE,1)*100,0); W5:=(CLOSE-OPEN)/OPEN*100; W6:=IF(CLOSE>=OPEN,CLOSE,OPEN); W7:=(HIGH-W6)/W6*100; 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; LOWW:=BARSLAST(UPW)>=BARSLAST(DNW); CXL:=(2*CLOSE+HIGH+LOW)/4; RSLW:=IF(LOWW,(CXL-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)+0.0001)*100,(CXL-LLV(LOW,21))/(HHV(HIGH,21)-LLV(LOW,21)+0.0001)*100); 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; WZ250:=(CLOSE-LLV(LOW,250))/(HHV(HIGH,250)-LLV(LOW,250)+0.0001)*100; BL5:=(CLOSE/MA5-1)*100; BL20:=(CLOSE/MA20-1)*100; BL60:=(CLOSE/MA60-1)*100; RM60:=(CLOSE/HHV(HIGH,60)-1)*100; // D. 第1层 规律状态: 超跌深度 10 条件 (>=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层 六件套等权得分 (0~6, 必须等权, 加权实测有害) T1:=DP20<=-12; T2:=RSI14<=28; T3:=BL20<=-15; T4:=CHIPSD<=6; T5:=DP60<=-20; T6:=MV5/REF(MV5,1)>=1.5; DF:=(T1+T2+T3+T4+T5+T6); // F. 第4层 离场与顶部预警 LB5:=VOL/REF(MV5,1); ZF:=(HIGH-LOW)/REF(CLOSE,1)*100; SY:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW+0.0001)*100; STT:=ABS(CLOSE-OPEN)/(HIGH-LOW+0.0001)*100; EXITW:=(WZ20>=85) OR (BD7>=70); // G. 拉高过久: 连续放量突破 >= 10 天 -> 后续 5/10/20/40 日全转为负收益 // 实测(158万个PUSH日): 对照组(全体PUSH日)前瞻20日 +0.912%; // 连续>=10天后 前瞻5日 -0.871% / 10日 -1.303% / 20日 -0.749% / 40日 -0.512% // 连续>=12天后 全部在 -0.6% ~ -1.6% 之间 // => "一直拉高"恰恰是该走的信号, 不是进场的信号 MV20:=MA(VOL,20); PUSHF:=(CLOSE>=REF(HHV(HIGH,20),1)) AND (VOL>=REF(MV20,1)*1.5); PRUN:=BARSLAST((PUSHF)=0); EXIT2:=PRUN>=10; WARN1:=(JV>=95) OR (WZ20>=87); WARN2:=(SY>=35) AND (ZF>=8) AND (LB5>=1.8) AND (STT<=45); // 输出 得分:DF,COLOR0000FF,LINETHICK2; 超跌深度:SD,COLOR00CCFF,LINETHICK2; 门槛:10,COLORAAAAAA,DOTLINE; 满分线:6,COLORC8C8C8,DOTLINE; // 三色并集速查: (9,5)(9,6)不画柱, 故不让位 SANSE:=((SD=9) AND (DF>=2) AND (DF<=4)) OR ((SD>=10) AND (DF>=2)); // 止损(两级): 锚点=出手红柱(唯一实盘买点), 止损位=成交价(出手次日开盘)x0.88 即固定-12% // 空心灰=跌破止损位(待确认) / 实心灰=连续5日收在止损位下(确认); 实测连跌5确认把拖累从-2.88降到-0.64个点 CSJ:=BARSLAST((SD>=10) AND (DF>=4)); CSZ:=IF(CSJ>=1,REF(OPEN,MAX(CSJ-1,0)),0)*0.88; CSG:=(CSJ>=1) AND (CSJ<=40) AND (CLOSE<=CSZ) AND NOT(SANSE); 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; DRAWTEXT(CSC,1.6,'止损'),COLORAAAAAA; // 三色提示(次数+收益/胜率双轴一致): 青=(9,2)空心黄橙 / 黄=(9,3)(10,2)(10,3)实心黄橙 / 红=(9,4); 红柱=出手不动 STICKLINE((SD=9) AND (DF=2),0,1.2,2,1),COLOR00CCFF; STICKLINE(((SD=9) AND (DF=3)) OR ((SD>=10) AND (DF>=2) AND (DF<=3)),0,1.2,2,0),COLOR00CCFF; STICKLINE((SD=9) AND (DF=4),0,1.2,2,0),COLOR0000FF; STICKLINE((SD>=10) AND (DF>=4),0,1.2,2,0),COLOR0000FF; // 贴边分层: BD7距70不足TIEB分=空心(待确认) TIEB:=1.2; LVTIE:=(BD7>=70-TIEB) AND (BD7<70+TIEB); STICKLINE(EXITW AND NOT(LVTIE),8.8,10,2,0),COLOR00FF00; STICKLINE(EXITW AND LVTIE,8.8,10,2,1),COLOR00FF00; STICKLINE(NOT(EXITW) AND (BD7>=70-TIEB),8.8,10,2,1),COLOR00CC00; STICKLINE(WARN1 OR WARN2,7.6,8.8,2,0),COLORFF00FF; // 数据量守卫: 序列不足80根时图上提示(递归线会随起点漂移) SJQ:=BARSCOUNT(CLOSE)>=80; DRAWTEXT_FIX(NOT(SJQ),0.01,0.06,0,'数据不足80根'); // 同花顺备注: 注释用 // ; 成交额用 MONEY; 颜色直接写 COLOR 常量或自定义色 COLORxxxxxx, // 颜色位不能写 RGB() 这类函数调用(同花顺报「同一行存在多个函数调用」); // 柱宽口径同花顺按10为标准间距, 若柱子比K线细, 把9处 STICKLINE 第4参数由2改为7。
| 项目 | 通达信 | 同花顺 | 本版处理 |
|---|---|---|---|
| 注释 | { ... }(可跨行) | 花括号是语句块,不是注释 → 必须 // | 全部改成 //(32 行) |
| 成交额 | AMOUNT | MONEY(金额,单位同为元) | AMOUNT → MONEY(4 处) |
| 连续计数 | BARSLASTCOUNT(X) | 无此函数 | → BARSLAST((X)=0)(等价) |
| 颜色 | COLORxxx 命名色 / COLORxxxxxx 自定义色 | 颜色位只认颜色/线型关键字 → 一律六位十六进制 COLORxxxxxx | 按 2026-09-23 定稿色表逐条映射(见上方「同花顺色表」);不写 RGB()(同花顺报「同一行存在多个函数调用」),也不留通达信命名色(同花顺上显示颜色不对) |
| 柱宽口径 | 部分版本 4 为标准间距 | 10 为标准间距 | 数字同为 2;同花顺上偏细就改 7 |
| 绘图/函数 | STICKLINE 5参 / DRAWTEXT_FIX / DRAWTEXT / NOT(X) | 同一套签名 | 不用改 |
| 行情·数学 | CLOSE/OPEN/HIGH/LOW/VOL、MA/SMA/EMA/REF/LLV/HHV/SUM/IF/SQRT/MAX/ABS/BARSLAST/BARSCOUNT | 同名同参 | 不用改 |
| 输出语法 | 名称:表达式,颜色,线型; | 同语法(中文输出名亦可) | 不用改 |
| 选股公式 | 纯条件(无 SELECT) | 条件选股用 SELECT: | 本页只含副图;要 THS 选股版另说 |
其余全部相同:变量赋值 :=、输出 名称:表达式,颜色,线型;、中文输出名、
NOT(...) 带括号、STICKLINE 第5参数 0=实心 / 1=空心 —— 两边都这么写。
① 图上的 BD7 只在载入 ≥80 根日线时与生产缓存逐位一致;不足 80 根会显示提示,请先补数据。
② 空心绿柱 = 贴边(距 70 不足 1.2 分):不是「已经离场」,是「随时可能翻面」。
③ 灰柱 = 止损:空心灰=收盘跌破 成交价×0.88(待确认);实心灰=连跌 5 日收在止损位下(确认,该走)。
④ 实际买卖一律以盘后落盘缓存/日报为准,图只用来体感。
⑤ 两个平台代码由脚本单向生成(改通达信版 → 跑 tdx2ths.py → 同花顺版自动跟上),不要手改两份。
通达信版:括号/单行注释/变量定义次序/保留字/裸 NOT/函数括号 = 0 错误;公式 4739 字符。
同花顺版:同上 + 平台兼容检查(花括号 0、AMOUNT 0、BARSLASTCOUNT 0、颜色位函数调用 0)= 通过。
素版:3552 字符 / 17 个非 ASCII 字符(只有中文显示名);全ASCII版:0 个非 ASCII 字符。
两个素版都与通达信源做了逐行恒等比对(脚本反向映射回原名):101 行零差异,只有名字与平台写法不同。