一、指标介绍
在各类行情分析工具中,一个精准的指标能帮我们快速洞察数据变化规律。今天给大家分享一款实用性拉满的通达信副图 + 选股双功能指标 ——“金牛形态”,无需复杂操作,就能识别趋势由弱转强的关键信号,新手也能轻松上手。
1、指标概述
“金牛形态” 指标包含 1 个副图指标和 1 个选股指标,手机、电脑端的通达信软件均可直接使用。
指标核心作用是识别特定数据经过长期调整与充分整理后,首次突破关键参考线(60 周期均线)时形成的 “金牛形态”,以此标记趋势可能发生转变的节点。经测试,指标无明显信号漂移问题,具体效果可结合自身使用场景进一步验证。
2、设计逻辑
指标的设计围绕 “筛选有效拐点、规避无效信号” 展开,核心逻辑分为三大维度:
范围限定:仅针对特定代码标识的标的,同时排除风险警示类标的,聚焦核心观察范围。
趋势筛选:通过 60 周期均线判断长期走势,要求突破前经历足够时间的调整,且调整过程中量能逐步收缩,确保趋势转变的有效性。
信号过滤:设置多重条件过滤虚假信号,比如限制短期极端波动次数、控制开盘阶段的波动幅度、排除异常量价组合等,提升信号精准度。
3、使用方法
安装方式:将源码直接复制粘贴到通达信软件的公式编辑器中,保存后即可在副图显示或用于选股。
信号识别:副图中出现红色柱体 + 白色 “+” 号 + 图标标记时,即为筛选信号,代表当前满足 “金牛形态” 的各项条件。
辅助判断:信号出现后,可结合分时数据变化或整体市场环境进一步确认,避免单一信号决策。若出现信号后数据快速回落或量能异常放大,需谨慎对待。
4、优势分析
通用性强:手机、电脑端通达信均适配,无需额外插件,安装简单便捷。
信号精准:通过 11 重条件组合过滤,有效减少虚假信号干扰,聚焦真正的趋势拐点。
门槛极低:无需专业知识,指标直接给出可视化标记,新手也能快速识别关键信号。
场景适配:适合短期、中期的数据分析需求,既能捕捉快速变化的拐点,也能匹配中等周期的趋势跟踪。
5、可提升空间
周期适配:当前默认以 60 周期均线为核心参考,可根据自身需求调整均线周期,适配不同的观察维度。
阈值优化:量能、波动幅度等关键阈值可结合具体标的特性微调,比如针对波动剧烈的标的可适当放宽参数,波动平缓的标的可收紧参数。
多指标联动:若搭配 MACD、量能等其他指标综合判断,可进一步提升信号的可靠性,减少单一指标的局限性。
6、总结
“金牛形态” 指标通过清晰的逻辑设计和多重信号过滤,为数据趋势分析提供了高效的辅助工具。无论是新手入门还是有一定经验的使用者,都能借助它快速定位趋势拐点,减少无效观察成本。
二、指标图示






三、指标源码
{金牛形态副图}
LTSZZ:=FINANCE(46)*REF(C,1)/100000000;
DIF:=(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:=(EMA(DIF,9));
MACD:=(DIF-DEA)*2;
MA1:=MA(C,60);
SH:=CODELIKE('00') OR CODELIKE('60');
SZ:=CODELIKE('30') OR CODELIKE('68');
SS:=CODELIKE('4') OR CODELIKE('8');
X1:=IF(SH,0.1,IF(SZ,0.2,IF(SS,0.3,100)));
FW:=(SH OR CODELIKE('30')) AND NAMEINCLUDE('ST')=0;
ZTJ:=ZTPRICE(REF(C,1),X1);
ZT:=C=H AND C>=ZTJ;
ZB:=C< H AND H>=ZTJ;
SB:=ZT AND COUNT(ZT,5)=1;
DT:=C=L AND C<=DTPRICE(REF(C,1),X1); YZB:=ZT AND C=O AND H=L; TZB:=ZT AND C=O AND H>L;
LBTS:=BARSLASTCOUNT(ZT);
SSTS:=BARSCOUNT(C);
SYX:=100*(H-MAX(C,O))/REF(C,1);
ST:=100*ABS(C-O)/REF(C,1);
XYX:=100*(MIN(C,O)-L)/REF(C,1);
QKS:=100*(L-REF(H,1))/REF(H,1);
QKX:=100*(REF(L,1)-H)/REF(L,1);
QK:=IF(L>REF(H,1),QKS,IF(H< REF(L,1),QKX,0)); JZF:=100*(O-REF(C,1))/REF(C,1); ZF:=100*(C-REF(C,1))/REF(C,1); TJA:=COUNT(LBTS>2,30)=0 AND COUNT(LBTS>5,60)=0 AND COUNT(YZB,5)=0;
TJB:=IF(SZ,COUNT(ZT,40)< 2 AND COUNT(ZT,60)< 3,SH); TJ:=TJA AND TJB; ZBD:=CROSS(MA1,C) AND REF(EVERY(C>MA1,20),1) AND TJ;
N1:=BARSLAST(ZBD);
LN1:=LLVBARS(L,N1);
T1:=COUNT(ZT,N1)=0 AND N1>10 AND MA(V,N1)< REF(MA(V,20),N1) AND LN1>=N1/2 AND C< 60; GL:=HHV(100*(MA1/C-1),N1); ZDFD:=100*(HHV(H,N1)/LLV(L,N1)-1); TPZF:=IF(O>REF(MA1,1),JZF,REF(100*(MA1/C-1),1));
ZHIBIAOA:=LTSZZ< 300 AND JZF< 5.1 AND O/REF(H,1)< 1.02 AND IF(GL< 10,JZF< 1,GL>10);
ZHIBIAOB:=CROSS(C,REF(MA1,1)) AND COUNT(CROSS(C,REF(MA1,1)),N1)=1;
ZHIBIAOC:=IF(COUNT(H>MA1,LN1)>1,GL< 5,COUNT(H>MA1,LN1)=1);
ZHIBIAOD:=REF(IF(V>2*REF(V,1),ST< 1,V<=2*REF(V,1)),1); ZHIBIAOE:=REF(NOT(EVERY(C>REF(C,4),8) AND REF(C< REF(C,4),8) AND V< 2*REF(V,1)),1); ZHIBIAOF:=REF(NOT(EVERY(C>=O,5) AND EVERY(C>O,3)) AND COUNT(C=O,5)< 2,1); ZHIBIAOG:=REF(NOT(EVERY(C>REF(C,4),10) AND REF(C< REF(C,4),10)),1); ZHIBIAOH1:=REF(COUNT(H>MA1,10)< 3,N1-10) AND REF(V< 2*REF(V,1),1); ZHIBIAOH2:=IF(JZF>4,REF(C< O,1),JZF< 4); ZHIBIAOH:=IF(TPZF>5,ZHIBIAOH1 AND ZHIBIAOH2,TPZF<=5); ZHIBIAOI:=REF(NOT(EVERY(DT,2)),N1-1); ZHIBIAOJ:=REF(COUNT(H/MA1>1.03,5)=0,N1-5);
N2:=BARSLAST(C=O);
ZHIBIAOK:=REF(NOT(HHV(H,N2)< REF(H,N2) AND (N2=7 OR (N2=1 AND ST>1))),1);
ZHIBIAOTJ:=ZHIBIAOA AND ZHIBIAOB AND ZHIBIAOC AND ZHIBIAOD AND ZHIBIAOE AND ZHIBIAOF AND ZHIBIAOG AND ZHIBIAOH AND ZHIBIAOI AND ZHIBIAOJ AND ZHIBIAOK;
XG:FW AND REF(T1,1) AND ZHIBIAOTJ AND NOT(ZT);
STICKLINE(XG,0,1,0.8,0),COLORRED;
DRAWICON(XG,0.5,1);
DRAWTEXT(XG,0.3,'+'),COLORWHITE;
{金牛形态选股}
LTSZZ:=FINANCE(46)*REF(C,1)/100000000;
DIF:=(EMA(CLOSE,12)-EMA(CLOSE,26));
DEA:=(EMA(DIF,9));
MACD:=(DIF-DEA)*2;
MA1:=MA(C,60);
SH:=CODELIKE('00') OR CODELIKE('60');
SZ:=CODELIKE('30') OR CODELIKE('68');
SS:=CODELIKE('4') OR CODELIKE('8');
X1:=IF(SH,0.1,IF(SZ,0.2,IF(SS,0.3,100)));
FW:=(SH OR CODELIKE('30')) AND NAMEINCLUDE('ST')=0;
ZTJ:=ZTPRICE(REF(C,1),X1);
ZT:=C=H AND C>=ZTJ;
ZB:=C< H AND H>=ZTJ;
SB:=ZT AND COUNT(ZT,5)=1;
DT:=C=L AND C<=DTPRICE(REF(C,1),X1); YZB:=ZT AND C=O AND H=L; TZB:=ZT AND C=O AND H>L;
LBTS:=BARSLASTCOUNT(ZT);
SSTS:=BARSCOUNT(C);
SYX:=100*(H-MAX(C,O))/REF(C,1);
ST:=100*ABS(C-O)/REF(C,1);
XYX:=100*(MIN(C,O)-L)/REF(C,1);
QKS:=100*(L-REF(H,1))/REF(H,1);
QKX:=100*(REF(L,1)-H)/REF(L,1);
QK:=IF(L>REF(H,1),QKS,IF(H< REF(L,1),QKX,0)); JZF:=100*(O-REF(C,1))/REF(C,1); ZF:=100*(C-REF(C,1))/REF(C,1); TJA:=COUNT(LBTS>2,30)=0 AND COUNT(LBTS>5,60)=0 AND COUNT(YZB,5)=0;
TJB:=IF(SZ,COUNT(ZT,40)< 2 AND COUNT(ZT,60)< 3,SH); TJ:=TJA AND TJB; ZBD:=CROSS(MA1,C) AND REF(EVERY(C>MA1,20),1) AND TJ;
N1:=BARSLAST(ZBD);
LN1:=LLVBARS(L,N1);
T1:=COUNT(ZT,N1)=0 AND N1>10 AND MA(V,N1)< REF(MA(V,20),N1) AND LN1>=N1/2 AND C< 60; GL:=HHV(100*(MA1/C-1),N1); ZDFD:=100*(HHV(H,N1)/LLV(L,N1)-1); TPZF:=IF(O>REF(MA1,1),JZF,REF(100*(MA1/C-1),1));
ZHIBIAOA:=LTSZZ< 300 AND JZF< 5.1 AND O/REF(H,1)< 1.02 AND IF(GL< 10,JZF< 1,GL>10);
ZHIBIAOB:=CROSS(C,REF(MA1,1)) AND COUNT(CROSS(C,REF(MA1,1)),N1)=1;
ZHIBIAOC:=IF(COUNT(H>MA1,LN1)>1,GL< 5,COUNT(H>MA1,LN1)=1);
ZHIBIAOD:=REF(IF(V>2*REF(V,1),ST< 1,V<=2*REF(V,1)),1); ZHIBIAOE:=REF(NOT(EVERY(C>REF(C,4),8) AND REF(C< REF(C,4),8) AND V< 2*REF(V,1)),1); ZHIBIAOF:=REF(NOT(EVERY(C>=O,5) AND EVERY(C>O,3)) AND COUNT(C=O,5)< 2,1); ZHIBIAOG:=REF(NOT(EVERY(C>REF(C,4),10) AND REF(C< REF(C,4),10)),1); ZHIBIAOH1:=REF(COUNT(H>MA1,10)< 3,N1-10) AND REF(V< 2*REF(V,1),1); ZHIBIAOH2:=IF(JZF>4,REF(C< O,1),JZF< 4); ZHIBIAOH:=IF(TPZF>5,ZHIBIAOH1 AND ZHIBIAOH2,TPZF<=5); ZHIBIAOI:=REF(NOT(EVERY(DT,2)),N1-1); ZHIBIAOJ:=REF(COUNT(H/MA1>1.03,5)=0,N1-5);
N2:=BARSLAST(C=O);
ZHIBIAOK:=REF(NOT(HHV(H,N2)< REF(H,N2) AND (N2=7 OR (N2=1 AND ST>1))),1);
ZHIBIAOTJ:=ZHIBIAOA AND ZHIBIAOB AND ZHIBIAOC AND ZHIBIAOD AND ZHIBIAOE AND ZHIBIAOF AND ZHIBIAOG AND ZHIBIAOH AND ZHIBIAOI AND ZHIBIAOJ AND ZHIBIAOK;
XG:FW AND REF(T1,1) AND ZHIBIAOTJ AND NOT(ZT);

