把黑马形态装到通达信后,在图上直接标注信号文字,以线上穿、下穿给出交叉信号,97 行源码原样贴出,便于二次修改。同一篇另附 1 套配套公式,主图、副图、选股可分开导入。

指标类型 主图指标 适用软件 通达信
适用周期 日线 / 60分钟 未来函数 无未来函数
加密状态 源码未加密,可修改 源码行数 97
公式套数 2 套 包含 黑马形态–主图(89行) / 黑马形态–快马信号选股(8行)
一、指标效果截图

效果图 1

二、公式源码
以下源码未加密,复制 → 打开通达信 → Ctrl+F 调出公式管理器 → 新建 → 粘贴 → 测试公式 → 保存即可调用。多套公式请分别新建,名称不要重名。

1. 黑马形态–主图(主图 · 89 行)

GHCZS1:=(SMA(HIGH,21,2) * 1.05);
DRAWTEXT(FILTER(((((C<REF(C,1)) AND (C<REF(C,1))) AND (H>GHCZS1)) AND (C<GHCZS1)),5),(H+0.05),'-减仓'),COLORFFFFFF;
下轨道:(SMA(LOW,21,2) * 0.969),POINTDOT,COLOR00FFFF;
GHCZS2:=MA(CLOSE,118);
GHCZS3:=(SMA(HIGH,21,2)*1.05);
GHCZS4:=(((C-LLV(LOW,13))/(HHV(HIGH,13)-LLV(LOW,13))) * 100);
K:=SMA(GHCZS4,3,1);
D:=SMA(K,3,1);
J:=((3*K)-(2*D));
GHCZS5:=(((C-LLV(L,34))/(HHV(H,34)-LLV(L,34))) * 100);
K12:=SMA(GHCZS5,3,1);
D12:=SMA(K12,3,1);
J12:=((3 * K12) - (2 * D12));
GHCZS6:=(((C-LLV(L,55)) / (HHV(H,55) - LLV(L,55))) * 100);
K24:=SMA(GHCZS6,3,1);
D24:=SMA(K24,3,1);
J24:=((3 * K24) - (2 * D24));
支撑位:=IF(CROSS(J,J24),L,REF(L,BARSLAST(CROSS(J,J24))));
压力位:IF(CROSS(J24,J),H,REF(H,BARSLAST(CROSS(J24,J)))),COLOR00FF00;
CB:=((AMOUNT / VOL) / 100);
CD:=((CB > HIGH) OR (CB < LOW));
黑马趋势:=MA(CLOSE,3);
MAP:=MA(CLOSE,8);
AA5:=MA(CLOSE,21);
AA10:MA(CLOSE,8),COLOR0000FF;
AA12:MA(CLOSE,12),COLOR0000FF;
BB10:=((ATAN((AA10 - REF(AA10,1))) * 3.1416) * 10);
BB12:=((ATAN((AA12 - REF(AA12,1))) * 3.1416) * 10);
MA13:=MA(CLOSE,13);
DRAWTEXT(FILTER(((((((CLOSE / OPEN) > 1.04) AND ((CLOSE - REF(CLOSE,1)) > 0)) AND (CLOSE > 下轨道)) AND ((AA10 - REF(AA10,1)) > 0)) AND (CLOSE < GHCZS1)),3),(LOW - 0.07),'追击'),COLORD1E768;
GSCHWD:=((((OPEN + LOW) + HIGH) + CLOSE) / 4);
支撑:=EMA(GSCHWD,5);
短期底部:=LLV(OPEN,30);
X1:=(((((3 * CLOSE) + HIGH) + LOW) + OPEN) / 6);
X2:=EMA(X1,10);
X3:=REF(X2,1);
X4:=((REF(HIGH,1) + REF(LOW,1)) / 2);
X5:=(MA(CLOSE,21) + (2 * STD(CLOSE,21)));
X6:=REF(CLOSE,1);
X7:=((SMA(MAX((CLOSE - X6),0),7,1) / SMA(ABS((CLOSE - X6)),7,1)) * 100);
X8:=CROSS(79,X7);
X9:=FILTER(X8,4);
MAP1:=MA(CLOSE,60);
均线30:=MA(CLOSE,30);
均线89:=MA(CLOSE,89);
均线:=MA(CLOSE,16);
均线34:=MA(CLOSE,34);
均线55:=MA(CLOSE,55);
GSCHW1:=EMA(CLOSE,8);
GSCHW2:=EMA(GSCHW1,20);
GSCHW3:=CROSS(GSCHW1,GSCHW2);
GSCHW4:=(GSCHW1 < MA(CLOSE,60));
GSCHW5:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100);
GSCHW6:=SMA(GSCHW5,5,1);
GSCHW7:=SMA(GSCHW6,8,1);
GSCHW8:=(CROSS(GSCHW6,GSCHW7) AND (GSCHW7 < 16));
GSCHW9:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND GSCHW8);
GSCHWA:=IF((CLOSE > 1000),GSCHW8,GSCHW9);
黑马起步:=(GSCHW3 AND GSCHW4);
逃遁:=GSCHWA;
均线20:=MA(CLOSE,20);
均线120:=MA(CLOSE,120);
牛熊线:=MA(CLOSE,250);
VA:=CROSS(MA(CLOSE,19),MA(CLOSE,120));
VB:=(MA(CLOSE,20) > MA(CLOSE,120));
VC:=CROSS(MA(CLOSE,120),MA(CLOSE,89));
VD:=(MA(CLOSE,20) < MA(CLOSE,120));
VE:=CROSS(MA(CLOSE,20),MA(CLOSE,250));
VF:=(MA(CLOSE,20) > MA(CLOSE,250));
VG:=CROSS(MA(CLOSE,250),MA(CLOSE,20));
短期底部2:LLV(HIGH,30),LINETHICK2,COLOR0000FF;
上轨:(SMA(HIGH,21,2) * 1.092),POINTDOT,COLORFFFFFF;
中轨道:(SMA(HIGH,21,2) * 1.017),POINTDOT,COLORFFFFFF;
DRAWTEXT(((((((HIGH >= 均线120) AND (CLOSE < REF(CLOSE,1))) AND (CLOSE < REF(CLOSE,1))) AND (HIGH > GHCZS1)) AND (CLOSE < GHCZS1)) AND (CLOSE < 均线120)),(HIGH + 0.05),'减仓'),COLOR00FF00;
DRAWTEXT(FILTER(((HIGH > GHCZS3) AND (CLOSE < GHCZS3)),5),(HIGH + 0.15),'←逃命');
DRAWTEXT(((VE > VG) AND (HIGH < GHCZS3)),(LOW - 0.65),'★黑马短线'),COLOR00FFFF;
DRAWTEXT(FILTER(((((((OPEN < X2) AND (WINNER(CLOSE) < 0.2)) AND (CLOSE > X2)) AND ((X2 - REF(X2,1)) > 0)) AND (HIGH < GHCZS3)) AND ((CLOSE - REF(CLOSE,1)) > 0.35)),4),(LOW - 0.05),'★黑马狂奔'),COLORD18073;
DRAWTEXT(CROSS(X4,X5),HIGH,'●减仓'),COLOR00B4FF;
DRAWTEXT(X9,(HIGH * 1.03),'出货'),COLOR9000F5;
DRAWTEXT((逃遁 > 0),(HIGH * 1.14),'●逃命'),COLOR0000FF;
RDV:=SMA(LOW,8,1);
DRAWTEXT(((((CROSS(K,D) AND (CLOSE >= OPEN)) AND ((X2 - REF(X2,1)) > 0)) AND ((RDV - REF(RDV,1))>0)) AND (K<=33)),(L-0.08),' ★黑马初现'),COLOR8500DE;
RCK:=(SMA(LOW,21,2) * 0.95);
趋势线:=SMA(LOW,5,1);
B1:=(((HIGH + LOW) + CLOSE) / 3);
B6:=HHV(B1,(4*15));
B7:=LLV(B1,(4*15));
B8:=(B6-B7);
飞龙顶底线:=(MA(((B1-B7)/B8),2)* 80);

2. 黑马形态–快马信号选股(选股 · 8 行)

XG1:=(SMA(H,21,2)*1.05);
XG2:=MA(C,8);
XG3:=((((O+L)+H)+CLOSE)/4);
XG4:=EMA(XG3,5);
XG5:=(((((3*C)+H)+L)+OPEN)/6);
XG6:=EMA(XG5,10);
XG7:=MA(CLOSE,16);
快马X:FILTER(((((((((((O<XG6) AND (C>XG6)) AND ((XG4-REF(XG4,1))>0)) AND ((XG4-REF(XG4,1))>0)) AND (C<XG1)) AND ((XG7 - REF(XG7,1))>0)) AND (C>=XG7)) AND (H<XG1)) AND ((XG2-REF(XG2,1))>0)) AND ((XG1-REF(XG1,2))>0)),11);

三、安装与调用
通达信客户端按 Ctrl + F 打开「公式管理器」。
选中对应分组(技术指标公式 → 其他类型 / 条件选股公式),点「新建」。
公式名称填英文或拼音(不含空格、不超过 10 个字符),把源码粘进编辑区。
点「测试公式」,提示编译通过后「确定」保存。
K 线图界面输入公式名称调出;选股公式在「条件选股」里执行。
四、使用提醒
指标本质是把价格与成交量做数学加工,用来辅助判断趋势和买卖时机,不能预测未来。任何公式都有失效区间,请结合大盘环境、板块节奏与仓位管理使用。本文源码仅供学习研究,不构成投资建议。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。