简介:通达信资金突破ZT主图指标公式源码文档,面向使用通达信进行股票技术分析的用户及指标编写学习者,旨在帮助读者理解资金突破主图指标的设计逻辑,并直接应用到行情研判与交易决策中。文档为DOC格式,共1个文件,容量153KB,已有603人学习下载。内容以完整指标源码为主线,逐段解析DRAWGBK背景设置、DRAWKLINE主图绘制、MA7/MA05/MA10/MA20/MA30多均线体系、五日乖离率、速度与加速度,以及STICKLINE条件K线变色、强势狙击、加仓减仓、买入清仓等信号判断;同时给出SJTJ日期条件、X2/X3指数移动平均交叉、VAR1/VAR2均线状态等关键参数的计算方法。读者拿到后可复制公式至通达信直接使用,也可调整T、T1参数改变指标灵敏度,用于复盘预警与选股参考;文档附有逐行中文注释,对学习通达信公式语言也有较高参考价值。
1. 资金突破ZT主图指标:不只是画线,是量价共振的纪律化表达
资金突破这四个字,放在通达信主图里,通常不是指某笔大单的实时流向,而是把“资金愿意在某个价位上放量买进”这个动作固化成一条可扫描的信号。很多人在副图里看资金流、在分时里盯大单,但真正能直接摆在K线图上、一眼看出“今天这笔突破到底算不算数”的主图指标反而少见。资金突破ZT主图指标就是干这件事的:它把成交额放大、价格突破前高、当日收阳等条件组合在一起,在主图上用图标和文字标出每一根满足条件的K线。这个指标最大的价值不是预测涨跌,而是强迫你在盘中只盯着过滤后的少数信号,避开那些看似热闹却拿不住的量价杂音。适合每天要复盘大量股票、又不想被盘面情绪牵着走的股民和短线交易者:指数、个股、ETF通通可以套用,但前提是你得先理解背后的几条核心公式,而不是拿到源码就盲目条件选股。
2. 通达信主图公式的底层结构与资金数据选取
2.1 主图指标能做什么:从K线叠加到信号标记
通达信的主图指标默认是叠加在K线图上的,跟副图指标最大的区别在于坐标系:主图的纵轴是价格或者百分比,所以画趋势线、均线、通道、文字图标都更直观。主图公式可以读取行情数据(开高低收、成交量、成交额、换手率)和部分财务数据,但输出结果一般分成两类:一类是直接画在K线上的曲线,比如MA均线;另一类是条件触发后的标记,比如在满足条件的K线下方画一个图标、写一行文字。
写主图指标时,我一般会先区分两个角色:计算变量和输出函数。计算变量用“:=”赋值,只在内部使用;输出函数用“:”赋值,会直接显示在主图上。比如下面这段最简单的代码:
MA5:MA(C,5); MA10:MA(C,10);这里MA5和MA10就是输出,它们会以线条形式叠加在K线上。而如果你只想让某个计算结果参与后续判断,就应该这么写:
COND_A:=C>O;COND_A后面没有冒号加冒号,它不会单独输出,只作为中间条件。这个语法习惯非常重要,因为很多人把信号画成一堆乱七八糟的折线,就是分不清“:=”和“:”的用途。资金突破ZT主图指标会大量用到中间变量,所以先从这条基本功开始。
2.2 为什么用成交额AMOUNT而不是成交量VOL来代表资金
资金突破里的“资金”,我不推荐用VOL(成交量)直接衡量,而是用AMOUNT(成交额)。原因很简单:成交量是股数,成交额是钱数。同样是一万手的量,茅台和一元股背后代表的可动用资金天差地别。当我们要判断“今天是否有大资金进场”,要看的其实是成交额相对于过去一段时间是否出现了显著放大,而不是单纯手数变多。
通达信里AMOUNT的单位是元,数字通常会很大。为了让它适合做比值计算,我们一般会对它做移动平均,比如计算5日或10日成交额均线,然后把当天成交额除以这个均线,得到“金额量比”。这个比值和传统量比(用VOL计算)相比,不受除权、送股、停牌复牌后股本变动影响,走势更平滑,也更贴近主流资金的实际动作。
另外,成交额放大还要结合价格位置才有意义。在底部放量可能是吸筹,在高位放量可能是出货,所以资金突破信号必须同时包含价格突破条件。这也是为什么主图指标比副图指标天然更适合做资金突破:它可以直接引用HIGH、LOW、CLOSE这些价格数据来定义“突破”。
2.3 公式管理器导入源码的两种方式
拿到一份从.doc文件里复制的公式源码,第一步不是粘贴,而是先确认文本有没有被Word里的智能引号、全角括号、空格污染。通达信公式编辑器对换行和空格不敏感,但对全角字符和特殊符号非常严格。比如中文输入法下写的“(”和英文的“(”就是两个完全不同的字符,放进公式里会直接报错“未定义的标识符”。常见做法是先把源码粘到记事本或VS Code里,把全角符号批量替换成半角,再复制到通达信。
通达信公式管理器打开方式:菜单栏“功能”→“公式系统”→“公式管理器”,或者直接按Ctrl+F。左侧选择“主图指标”→“其他类型”(或自建分类),点击“新建”,然后把你整理好的代码粘贴进去。公式名称可以写成“资金突破ZT”,类型选择“主图”,画线方法选“主图叠加”。测试公式后有错误提示,就按提示逐行检查。如果你拿到的是.tn6格式封装好的指标,那需要通过“公式管理器”里的“导入公式”功能,而不是单纯复制文本;但.doc文档里通常包含的就是可复制的源码,走文本粘贴路线最简单。
3. 资金突破信号的定义:从涨停到突破前高,四条件交集
3.1 资金突破的数学表达:四条件交集
资金突破ZT里的“ZT”,在各类主图指标里通常有两种含义:一是“涨停”的拼音缩写,二是自定义信号名。我更倾向于把它解释为“资金突破”信号的专用缩写,因为单靠涨停并不足以构成资金突破。一只票一字板涨停,成交额很小,根本没有资金交换,谈不上突破。真正有价值的资金突破,应该是下面四个条件同时成立:
- 价格突破前期高点(关键压力位)
- 当日成交额显著放大
- 成交额相对近5日均线有明显放大(金额量比大于阈值)
- 当日K线收阳,且涨幅不能太小
用通达信公式表达,就是四个独立条件的AND组合。其中价格突破我用REF(HHV(H,N),1)来取“最近N根K线中的最高价”且必须是昨天之前的最高点,这样避免把当天最高点当作突破目标,否则就产生未来函数。成交额放大则用AMOUNT/REF(AMOUNT,1)>M表示比昨天放大M倍。金额量比用AMOUNT/MA(AMOUNT,N1)>R表示比N1日均额放大R倍。三个维度缺一不可。
3.2 涨停近似判断的兼容性处理
如果你希望在资金突破条件里加入涨停限制,注意A股不同板块的涨停幅度不同。主板普通股是10%,创业板和科创板是20%,ST股是5%。通达信没有内置一个直接返回涨停价的函数(不同版本有差异),所以比较简单且兼容的处理是统一用涨幅判断,比如:
涨停接近:=C/REF(C,1)>1.095;这个条件在主板适用,但在注册制20%的票上会漏掉很多大阳线。还有一种思路是不判断涨停,只用“当日涨幅超过5%”这类相对阈值,把选股的自由度留给使用者在参数面板里调整。资金突破ZT作为主图指标,不应该把涨停写死,因为用户自选股可能同时包含主板和创业板。因此我会在参数区放一个“最小涨幅”参数,默认5,让用户自己改。这样既兼容了不同板块,又保留了“必须大阳突破”的形态意图。
3.3 完整主图指标源码:资金突破ZT 第一版
下面给出一个可直接粘贴到通达信主图指标编辑器里的版本。这个版本没有用到任何未来函数,所有REF都是基于历史数据,适合作为你二次开发的底座。
{资金突破ZT主图指标:第一版} N:=20; {突破回看周期} N1:=5; {金额均线周期} RB:=2.0; {金额量比阈值} ZF:=5; {最小涨幅,单位:%} 前期高点:=REF(HHV(H,N),1); 金额均线:=MA(AMOUNT,N1); 金额量比:=AMOUNT/金额均线; 放大倍率:=AMOUNT/REF(AMOUNT,1); 突破条件:=C>前期高点 AND 放量条件; 放量条件:=金额量比>RB AND 放大倍率>1.2; 涨幅条件:=(C/REF(C,1)-1)*100>ZF; 资金突破ZT:=突破条件 AND 涨幅条件; DRAWICON(资金突破ZT,L*0.97,1); DRAWTEXT(资金突破ZT,L*0.95,'资金突破'),COLORRED; VAR1:MA(C,N);注意这里的VAR1只是为了显示一个均线作为主图参考,你可以改为MA(C,5)、MA(C,10)等自己习惯的均线组合。DRAWICON和DRAWTEXT里的L*0.97和L*0.95是相对最低价的位置参数,目的是让图标和文字画在K线下方,避免遮住实体。下一章会详细解释这两个坐标该怎么调。
3.4 关键参数表:回看周期、放大倍数、量比阈值怎么调
| 参数名称 | 代码变量 | 默认值 | 作用 | 常见调法 |
|---|---|---|---|---|
| 突破回看周期 | N | 20 | 取多少天内的最高价作为突破目标 | 短线用10,波段用30,突破平台用60 |
| 金额均线周期 | N1 | 5 | 计算多长周期的成交额均值 | 跟N匹配,短期5,中期10 |
| 金额量比阈值 | RB | 2.0 | 当天成交额是近N1日均额的几倍 | 牛市调到1.5,震荡市调到2.5以上 |
| 最小涨幅 | ZF | 5 | 当日涨幅需超过的百分比 | 想要更严可提高到7 |
| 放量大单倍率 | 无 | 1.2 | 当天成交额相对昨天的最小倍数 | 要求更强就调到1.5 |
调参的逻辑不是越大越好:如果N太大,前期高点离当前价太远,突破难度高,信号稀少;N太小,比如用5,那股票随便波动两天就会产生新高,信号噪音多。我个人的经验是先定N,再定RB。先看你想抓的是哪个级别的突破,比如月线级别就用60日高点,然后用RB=2过滤掉大多数普通阳线,最后剩余出来的信号如果还太多,再提高ZF最小涨幅。参数之间不是独立的,调完一个必须回头看另一个的分布。
4. 可视化输出:图标、文字与颜色让信号一眼可辨
4.1 DRAWICON与DRAWTEXT的位置参数详解
DRAWICON的语法是DRAWICON(条件, 位置, 图标编号)。位置可以用价格坐标,也可以用百分比坐标。如果填入L*0.97,含义是在“当前K线最低价的下方3%处”画图标。这里有个坑:通达信主图的价格轴是统一的,当股票价格在10元和100元时,3%的距离在视觉上不一致,但至少能保证图标不压到K线实体。想更精确,可以用常数相减,比如L-0.2,但这对价格低的票不友好。更通用的做法是用百分比,像上面那样。
DRAWTEXT的位置参数相同,但文字会占据一定宽度,如果图标和文字同时画,要注意上下错开。示例里L*0.97放图标,L*0.95放文字,这样图标在上、文字在下,两层不重叠。如果你想在K线上方显示信号,就把L换成H,比如H*1.03,但那样容易跟上方其他文字冲突。我还是习惯放在下方,因为多数交易者的注意力集中在K线实体和均线,下方空位更多。
DRAWICON(资金突破ZT,L*0.97,1); DRAWTEXT(资金突破ZT,L*0.95,'资金突破'),COLORRED; DRAWICON(资金突破ZT,H*1.02,2);上面第三行是另一个图标,画在K线上方,用图标编号2。DRAWICON的图标编号从1到几十不等,不同编号对应不同图形,比如小箭头、圆圈、五角星。你可以打开公式编辑器,在帮助手册里查到图标编号表,但注意不同版本通达信的图标库略有差异,这行在别的软件上可能显示成不同图形。所以关键信号我建议用文字辅助,图标只做扫描视觉提示。
4.2 用STICKLINE高亮突破日K线
除了图标和文字,还可以用STICKLINE把信号日的K线实体涂成特殊颜色,让主图一眼标出“今天就是资金突破”。STICKLINE的语法是STICKLINE(条件, 第一值, 第二值, 宽度, 是否空心)。比如你想把满足条件的K线画成黄色实心棒,可以这样:
STICKLINE(资金突破ZT,O,C,3,0),COLORYELLOW;宽度3表示棒线较粗,0表示实心。但要注意,STICKLINE画出的棒线会覆盖原K线的实体颜色,可能把涨跌颜色(红绿)盖掉。如果你不希望改变实体颜色,可以只画一条“外边沿”,比如用H和L画上下影线范围,或者用O和C加一个半透明效果(通达信支持部分alpha但兼容性一般)。更稳妥的做法是保留K线原本的红绿,只加图标和文字,不额外涂棒。不过对于复盘截图来说,黄色高亮确实醒目,很多付费指标都是这么干的,我们可以把它放在一个开关变量里,比如:
高亮:=1; STICKLINE(资金突破ZT AND 高亮=1,O,C,3,0),COLORYELLOW;这样想关闭高亮,把1改成0就行,不用删代码。
4.3 多信号叠加:与均线系统共用主图
主图指标不能只画信号,否则你会失去价格趋势参照。我一般会在同一个公式里加上简单的均线组,作为资金突破信号的“过滤背景”。例如同时显示5日和20日均线,并且资金突破信号要求收盘价站在20日均线上方,这样就在量价突破之外额外要求均线趋势向上。修改如下:
MA5:MA(C,5),COLORWHITE; MA20:MA(C,20),COLORYELLOW; 趋势过滤:=C>MA20; 资金突破ZT:=突破条件 AND 涨幅条件 AND 趋势过滤;加入趋势过滤后,信号数量会明显下降,但剩下的突破多半处于中期上升趋势中。这里要注意,如果你把MA5和MA20作为输出线,它们也会占用主图空间;如果你不希望显示均线,就把它们改成赋值变量,只用它们的值做过滤。主图指标的好看与否不重要,重要的是你不能在杂乱背景里漏看关键信号。所以我的原则是:均线颜色用亮白和明黄,信号文字用大红,其他辅助线一律不用。
5. 信号验证与参数优化的三个实用技巧
5.1 用“历史信号K线标记法”做穷举回测
拿到一个主图指标后,别急着上实盘,先通过通达信的“条件选股”或“筛选”把历史信号全部找出来,然后看看这些信号出现在K线图的什么位置。一个简单有效的方法是把信号输出变量直接放到选股公式里,然后指定历史区间运行选股。比如在”条件选股“中新建一个选股公式:
N:=20; N1:=5; RB:=2.0; ZF:=5; 前期高点:=REF(HHV(H,N),1); 金额均线:=MA(AMOUNT,N1); 金额量比:=AMOUNT/金额均线; 放大倍率:=AMOUNT/REF(AMOUNT,1); 放量条件:=金额量比>RB AND 放大倍率>1.2; 突破条件:=C>前期高点 AND 放量条件; 涨幅条件:=(C/REF(C,1)-1)*100>ZF; 趋势过滤:=C>MA(C,20); 资金突破ZT:=突破条件 AND 涨幅条件 AND 趋势过滤;把这个公式分别用日线周期、周线周期运行,对比不同参数组合下信号出现的次数,以及信号日之后3日、10日内的最高价是否显著高于信号日收盘价。这不是精确回测,但能快速看出参数是否失效。
5.2 避免未来函数的检查清单
资金突破类指标最常见的错报原因就是未来函数。检查三步:第一,所有HHV、LLV、MA等统计函数,确认周期里是不是要求了包含当前K线时间;第二,凡是“突破”类逻辑,对比基准都应该是REF(HHV(H,N),1),而不是HHV(H,N);第三,在通达信公式编辑器里打开“测试公式”,如果状态栏提示“用了未来函数,测评结果不可靠”,就要逐句排查。另外不要迷信那些声称“无未来函数”的指标,只要它使用了ZIG、BACKSET、PEAK这类函数,结果就会有偏移。资金突破ZT主图指标第一版里没有任何这类函数,但如果你自己加上了BACKSET来把信号画到过去的K线上,那就等于在造假信号。
5.3 参数过拟合的简单解法:先固定周期再调倍率
优化参数时不要同时调整所有变量,那样大概率是过拟合。我一般先固定金额量比RB=2.0和最小涨幅ZF=5,只把N从10、20、30、60依次改变,观察信号分布在近一年的数量是否稳定。如果N=20时信号数量在合理区间(比如50到150个),就保留N=20。然后固定N=20,把RB从1.5、2.0、2.5、3.0逐步调大,每调一档就查看信号日之后5日的平均涨幅。你会发现RB越高,信号越少,但平均涨幅未必单调上升,通常在一个临界点后信号质量反而下降,这是因为成交额极度放大往往意味着情绪高潮,追高风险同样放大。这个临界点就是适合当前市况的阈值,需要手工记录并定期修正。记住,没有万能的参数,资金突破在主升浪行情里效果最好,在阴跌行情里所有阈值都会失真——这时候唯一的优化手段就是不开仓,而不是改参数。
本文还有配套的精品资源,点击获取