做量化的朋友多少都干过这件事:盯着一只标的的分时图,想看清这一分钟到底有没有量放出来,结果默认副图那根孤零零的量柱根本看不出节奏。这时候第一反应往往是去网上找指标,找到一个“能量分时”的源码,复制粘贴进通达信的公式管理器,点确定——然后弹出一行红字编译失败;或者指标建成功了,翻遍分时图却怎么也调不出来。我自己最早折腾这块,光“为什么副图是空的”就卡了半个下午,最后发现是画线方法选成了主图。这篇就把“能量分时指标”从概念到落地配置一次性讲透:三种常见口径怎么选、五分钟内怎么把公式建好挂上、以及那些几乎人人都会踩一次的报错怎么排查。刚接触量化的新手能照着抄,用了几年通达信但一直只用默认副图的老手也能捡到点东西。以下内容均为软件功能配置与指标原理说明,指标只是观察工具,不构成任何操作建议。
1. 先把“能量”这个词拆开:分时副图上到底在算什么
1.1 民间说的“能量”其实是四种不同口径
“能量分时指标”不是一个官方术语,你在通达信的官方函数手册里搜不到这个词。它是圈内对“分时量能类副图指标”的统称,具体到源码层面,至少存在四种截然不同的做法,很多人复制了别人的源码却用不出效果,根源就在于没搞清楚自己拿到的是哪一种。
第一种是纯量柱加强化配色,把每分钟成交量按“比上一分钟放量还是缩量”染成红绿两色,再叠两条均量线。这是最轻量、最稳的做法,不依赖任何特殊行情权限,任何版本都能跑。
第二种是量比曲线,把系统盘口的量比数值画成一条连续曲线,用来看当前分钟的量能相对过去五天同期的水平。它反映的是“相对强度”而不是绝对量,适合做横向对比。
第三种是累计量能,把从开盘到当前分钟的成交量做累加,形成一条单调上升的曲线,配合斜率变化判断全天量能的释放节奏。均线系统里的能量潮思路就是从这个逻辑演化出来的。
第四种是主动买卖盘差值,用逐笔成交的方向把成交量拆成主动买和主动卖,两者相减画成柱状图。这一种对数据源要求最高,需要更细的成交明细支持,不同版本的数据权限不一样,是踩坑最集中的地方。
提示:拿到任何一份陌生源码,先看它调用了哪些函数。出现主动买卖、逐笔、大单这类字眼的,先确认自己的行情权限能不能支撑,别急着怪公式写错了。
1.2 为什么必须挂在分时副图,而不是K线副图
这是新手最容易混淆的一点。日线图上的V是“一天的成交量”,分时图上的V是“一分钟的成交量”,两者量纲差了几百倍。你把一个为日线写的量能公式直接挂到分时图上,量柱高度会失真到完全不可读;反过来把分时公式挂到日线,柱子又会细得像一条线。
更隐蔽的问题在均量线上。日线公式里写MA(V,5)是“最近五天的平均日量”,放到分时图上就变成了“最近五分钟的平均分钟量”。数值本身不会报错,但它代表的含义完全变了——原本用来判断中期量能趋势的线,突然变成了判断五分钟节奏的线。如果你不知道这个转换,读图结论必然是错的。
分时图的价值在于颗粒度。一天交易时间按四小时算,共240分钟,每一分钟的量能变化都能被看见。日线上你只能看到一根总量柱,看不出这根柱子是开盘半小时砸出来的还是尾盘拉的。分时副图补的正是这块信息:什么时候放的量、放量时价格在什么位置、放量之后有没有延续。这也是为什么做短线节奏的人几乎人手一个分时量能副图。
1.3 一句判断标准:它解决的是“节奏”不是“方向”
需要把预期摆正。量能类指标解决的是“这一分钟的量相对前面是放大还是萎缩”,它回答不了“接下来会涨还是会跌”。把它当成体温计而不是处方笺。我在实际使用中把它定位成三个用途:确认异动是否有效、判断放量位置是否健康、识别缩量休整的时长。超出这个范围的解读,基本都是过度发挥。
2. 动手前的环境准备:版本差异和入口位置
2.1 公式管理器的入口在不同版本里长得不一样
通达信各版本菜单命名有细微差异,但核心路径是一致的:顶部菜单找到“公式”或“功能”,进入“公式管理器”,快捷键通常是Ctrl+F。打开后左侧是一棵类型树,你会看到技术指标、条件选股、交易系统、五彩K线等分支。
新建分时副图指标,要落脚的节点是技术指标公式下的“其它类型”,右键新建。这里有个关键选择:新建窗口里有一项“画线方法”,下拉框里有主图叠加、主图坐标、副图、副图坐标等选项。必须选副图相关的选项,选成主图的话,指标会直接盖在分时价格线上,量柱和价格线互相干扰,视觉上惨不忍睹,而且很多人第一反应是“公式错了”,其实是挂错位置了。
注意:不同版本的“画线方法”下拉项文字略有出入,有的写“副图”,有的写“副图坐标”。判断标准很简单——只要不是“主图叠加”,且能在分时图下方独立区域显示,就是对的。
2.2 建指标之前先做两件小事:备份和命名
第一件事是备份现有公式。公式管理器里有导出功能,把当前的自定义公式导出一份放在本地。为什么强调这个?因为你在折腾过程中很可能不小心覆盖同名指标,而通达信的覆盖是静默的——点确定就没了,没有二次确认。我吃过一次亏,一个调了两个月的指标被一个同名的新建顶掉,只能重写。
第二件事是命名规范。给指标起名时避开系统保留名称,也别用纯数字开头。建议加个前缀,比如分时能量_v1这种。原因有两个:一是方便在指标列表里快速定位,二是在后续改版时能保留旧版本做对照。同名覆盖的坑,用版本号后缀就能躲过去。
另外提醒一句,粘贴源码时要用纯文本。从网页复制公式经常带入不可见的富文本格式字符,尤其是全角空格和中文标点,这些在编辑器里肉眼看不出区别,编译时直接报错。稳妥的做法是先粘到记事本里过一遍,再粘进公式编辑器。
3. 五分钟配置全过程:从新建到挂载
3.1 第一步:新建公式并选对类型
按Ctrl+F打开公式管理器,左侧树展开“技术指标公式”,选中“其它类型”,点右侧“新建”。弹出窗口里依次填写:
- 公式名称:用英文加数字的组合,长度控制在八个字符以内,别用中文标点。
- 公式描述:写清楚用途和版本,比如“分时量能柱加强化均量线 v1”,方便以后自己回忆。
- 画线方法:选副图。
- 参数设置:这一步先跳过,等基础版跑通了再回来加参数,一次加太多变量容易出错。
填完这几项先别急着粘代码,先把窗口最小化,确认一下左侧树里是不是已经出现了你刚建的空指标。这一步的意义在于验证“新建”这个动作本身成功了,把可能的权限问题、路径问题提前排除掉。
3.2 第二步:一段可直接用的基础源码
下面这段是我自己在用的通用版,只用了最基础的量价函数,不依赖任何特殊行情权限,任何版本都能编译。代码里的中文注释用花括号包着,不会参与计算,但能帮你回忆每行在干什么。
{分时能量副图 - 通用版 v1} {1. 量柱:与上一分钟比较,放量红、缩量绿} STICKLINE(V>=REF(V,1),0,V,2,0),COLORRED; STICKLINE(V<REF(V,1),0,V,2,0),COLORGREEN; {2. 均量线:五分钟与二十分钟两个尺度} 量均5:MA(V,5),COLORYELLOW; 量均20:MA(V,20),COLORMAGENTA; {3. 参考数值:只在标题栏显示,不画线} 量比:DYNAINFO(17),NODRAW; 累计量:SUM(V,0),NODRAW;逐行说一下设计意图。STICKLINE的第一个参数是绘制条件,这里用当前分钟量与上一分钟量的比较结果,成立就画一段从0到V的柱体,宽度2、实心。用STICKLINE而不用成交量专用函数,是因为那个专用柱状函数在部分周期的分时环境下不生效,画布上什么都没有,但公式编译又是通过的,排查起来特别绕。
两条均量线的周期不是随便定的。五分钟均量对应最近五分钟的平均节奏,用来判断“这一分钟是不是突然冒头”;二十分钟均量覆盖约半小时,大致对应一天交易时间的十二分之一,用来判断“这一段整体是在放量还是在退潮”。两个尺度叠加,短期的尖峰和稍长的趋势都能看到。
最后两行都带了NODRAW,意思是数值只在副图顶部的标题栏显示,不参与画线。之所以这么处理,是因为累计量从0涨到几千手,量级远大于普通分钟量,要是画出来会把量柱压成一条贴地的平线。这是新手常犯的错——把所有输出都留着画线,结果主图区被一个巨大数值的曲线占满,量柱全被压扁了。
3.3 第三步:先测试再确定,别跳过校验
代码粘完后,窗口下方有个“测试公式”按钮。这一步千万别省。点下去之后,如果语法有问题会直接弹出报错提示和大致行号;如果显示测试通过,说明语法层面没问题,可以点确定保存。
测试通过不等于效果正确,还有一层验证:保存后回到行情界面,打开任意一只标的的分时图(按F5切换或在代码框输入.5直接进分时),在下方副图区域右键,选择“选择副图指标”,从列表里找到你刚建的指标点确定。这时候观察三件事:量柱有没有出来、均量线是不是两条不同颜色、标题栏有没有显示量比和累计量的数值。
三件事里只要有一件不对,就回到第4章对照排查。我见过最常见的是“只有标题栏数值,画布全空”,九成是因为所有输出行都被加了不画线的标记。
3.4 第四步:调色、线宽和坐标,把可读性拉满
指标能显示只是及格线,真正影响使用体验的是配色和坐标设置。右键副图区进入“修改指标参数”或“副图设置”,几个建议:
| 项目 | 建议设置 | 理由 |
|---|---|---|
| 量柱放量色 | 暖色系,饱和度中等 | 太刺眼长时间盯盘会疲劳 |
| 量柱缩量色 | 冷色系,和放量色拉开明度差 | 一眼区分,避免色弱用户混淆 |
| 均量线线宽 | 短周期细、长周期粗 | 层次感来自粗细而非只有颜色 |
| 坐标类型 | 普通坐标,不用对数坐标 | 量能数据线性增长,对数坐标会压缩低量区 |
| 网格线 | 关闭或降到最淡 | 分时副图区域窄,网格会干扰读柱 |
坐标这块多解释一句。分时副图默认有时候会跟随主图设置成“百分比坐标”或“对数坐标”,量柱在这种坐标系下会出现高度非线性,视觉上“看起来没放量”其实放了不少。统一改成普通坐标,柱高和数据才对得上。
调完之后,把这套设置保存成版面模板。通达信支持保存版面,切到别的标的时样式不会丢。这一步做完,以后每天开盘直接调出模板就行,不用重复配置。
4. 常见错误排查:那些几乎人人踩一次的坑
4.1 编译阶段的报错:九成出在标点
公式编辑器的报错信息普遍很模糊,只说“第X行附近有语法错误”,不会告诉你具体错在哪。下面这张表是我这些年遇到过的编译类问题汇总,按出现频率排序:
| 报错现象 | 根本原因 | 处理办法 |
|---|---|---|
| 提示某行语法错误,但怎么改都不对 | 分号或冒号被打成了全角 | 全选代码,切输入法重打一遍标点 |
| 提示变量未定义 | 注释花括号没闭合,后面的代码被吃进去了 | 检查{和}是否成对 |
| 提示函数不存在 | 函数名拼音对了但版本不支持 | 换成基础函数替代,比如用绘制函数替代专用柱状函数 |
| 点了测试没反应也没报错 | 代码块整体被花括号包住,等于全是注释 | 检查最外层有没有多余的注释符号 |
| 保存时提示名称重复 | 和已有指标同名 | 加版本后缀重新命名 |
全角标点是重灾区。中文输入法下打出的分号是“;”,看起来和英文分号只差一点宽度,人眼在深色编辑器里极难分辨。我的做法是粘完代码后,把输入法切到英文,用查找替换把全角分号批量换成半角,一次解决。
还有一类隐蔽错误:从网页复制时,花括号注释里的内容如果本身含有花括号,会造成嵌套,编译器无法正确识别注释边界。遇到莫名其妙地提示“后面的代码全部丢失”,先看注释里有没有多余的括号。
4.2 建好了但调不出来:类型选错的调试路径
这是最高频的“以为公式错了其实没错”的问题。分三个方向排查:
第一个方向,画线方法。回公式管理器打开这个指标,看“画线方法”是不是副图。如果是主图叠加,它会被画在价格线上,你在下方副图区域自然找不到。改成副图后重新保存,再回分时图右键调出。
第二个方向,周期是否匹配。有些指标在设计时用了只在特定周期有效的函数。比如某些日线专用的量能函数,在分时周期下直接返回空值,整条线就是断的。判断方法很简单:把这个指标挂到日线图上看看有没有输出,如果有,说明是周期兼容问题,需要改源码。
第三个方向,副图位是否被占满。通达信默认的分时副图数量是有限的,通常只有两到三个位置。如果你之前已经挂了其他指标把位置占满了,新指标就会排不上。解决办法是删掉不常用的,或者在副图设置里增加副图数量(这个选项不同版本支持程度不同,没有的话只能做减法)。
4.3 副图一片空白:按这个顺序找
空白是最让人抓狂的现象,因为公式编译通过了,逻辑上“应该没问题”。按下面的顺序逐条排除,基本能在十分钟内定位:
- 检查数据是否到位。当天还没开盘、或者当天分时数据还没拉取下来,副图当然是空的。切换到昨天的历史分时图看一眼有没有内容,有内容说明公式没问题,是实时数据的事。
- 检查是否所有输出都被加了不画线标记。这是最常见的源码级原因。打开公式编辑器,看每一行输出后面是不是都缀着不画线的标记,如果是,副图区必然空白,但标题栏会有数字。
- 检查函数的权限要求。主动买卖类、逐笔类函数需要更细的行情数据支持。普通行情下这些函数返回零或空,画出来就是一条贴着底边的直线,视觉上和空白差不多。
- 检查数值量级是否被其他输出压扁。如果某个输出数值极大(比如累计量),它会把坐标轴上限撑得非常高,其他小数值的输出被压到贴近零轴,看起来像没画出来。解决方法是给大数值输出加不画线标记。
- 检查坐标设置是否被改成了负数区间。如果公式里有差值类输出会出现负值,坐标轴自动扩展到负区间,量柱的正值部分被压缩在上半部分,视觉上也会显得异常。
提示:排查顺序从“数据层”到“公式层”再到“显示层”,别一上来就怀疑源码。我踩过最蠢的一次坑是花了一小时改代码,最后发现是当天还没开盘。
4.4 数值不刷新和量比显示为零
有读者反馈过,指标挂上去之后数字一直定在那里不动,或者量比一直显示0。这里有两个独立原因。
量比显示0,是因为这个数值依赖盘口快照数据。在历史分时回看状态下,盘口数据不存在,量比自然取不到值,显示0属于正常现象。只有在实时行情下才有意义。你要是拿历史分时图去验证“量比准不准”,结论必然是错的。
数值不刷新,多半是行情推送的问题,和指标本身无关。检查行情连接状态、确认当前标的是否处于交易时段。另外,如果公式里大量使用了只在日线周期更新的函数,在分时图上的刷新频率会明显滞后,读到的数值看起来“卡住”。这种情况下把那些函数换成实时性好一些的写法即可。
4.5 量柱高度忽高忽低:量纲混用
一个特别隐蔽的错误:公式里同时用了成交量函数和成交额函数,然后把两者画在同一个副图上。成交量的单位是手,成交额的单位是元,两者差了两三个数量级。结果就是成交额曲线高到天花板,成交量柱被压成一条线,或者坐标轴被撑得离谱。
判断方法:看副图左侧的坐标刻度数值,如果是几万几十万这种量级,说明混进了大单位的输出。处理办法是统一量纲,或者给大单位输出加不画线标记,只留小单位的图形。
5. 参数怎么调:从能用变成好用
5.1 均量线周期与交易时间的关系
参数不是随便填的。一天240分钟的交易时间,是调参的基础坐标系。五分钟均量覆盖一天的十二分之一,属于极短周期,信号灵敏但噪音大;二十分钟均量覆盖一天的十二分之一到八分之一之间,兼顾灵敏和稳定;六十分钟均量覆盖四分之一个交易日,适合判断整体的量能基调。
我的习惯是三条线:五分钟看异动、二十分钟看趋势、六十分钟定基调。三条线太多会显得乱,实际使用中可以只保留前两条,把六十分钟的数值用不画线方式放在标题栏,需要时瞄一眼。
这里有个换算思路值得掌握:如果你想让均量线覆盖“半小时”,那就是240除以30等于8,取八分钟周期。想让覆盖“一小时”,就是四分钟周期……等一下,方向反了。要让均量线覆盖N分钟,周期参数就填N。半小时就是30,一小时就是60。这个换算简单但容易被绕晕,记住“周期参数等于覆盖的分钟数”就不会错。
5.2 量能强弱的判断阈值
单纯看柱子的高低太粗糙,需要一个相对标准。常用的判断是:当前分钟量除以二十分钟均量,得到量能倍数。这个倍数超过1.5,算温和放量;超过2,算明显放量;超过3,属于异动级别。反过来低于0.7,说明量能在收缩。
这个倍数关系可以直接写进指标,用标题栏数值显示,省得自己心算。写法上把当前量除以均量得到一个比值,加不画线标记即可。实测下来比肉眼看柱子准得多,尤其是在柱子普遍很高或普遍很低的极端行情里,肉眼判断完全失准。
需要强调:阈值没有普适标准,不同标的的活跃度差异很大。一个成交清淡的标的,量能倍数达到2可能只是偶尔一笔大单;一个活跃标的,倍数0.8就已经是正常水平。建议先拿自己常看的标的跑几天,观察这个倍数的分布区间,再定阈值。
5.3 三个读图场景,把指标用起来
第一个场景是放量突破的确认。价格突破前高时,看当前分钟量能倍数是否达到放量标准。如果价格过了前高但量能倍数平平,这种突破的可靠性就要打折。这不是判断涨跌,而是判断“这次异动有没有量能配合”。
第二个场景是缩量回踩的观察。价格回落到均线附近时,量能倍数如果持续低于0.7,说明抛压在衰竭,属于相对健康的休整形态。反之如果回踩时量能倍数反而上升,说明有资金在出,性质就变了。
第三个场景是连续放量后的监控。连续多分钟量能倍数站在2以上,说明这段时间的交投非常活跃。这时候要看的不是“还能不能追”,而是“放量的同时价格还在不在往上走”。量在价先这句话只对了一半,量放出来但价格滞涨,反而是需要警惕的信号。
这三个场景都只是观察角度,具体怎么用取决于你自己的交易框架。指标不会替你决策,它只负责把看不见的信息变成看得见的图形。
6. 一些踩过之后才明白的实操细节
先说备份这件事,前面提过一次,这里再强调一遍具体做法。公式管理器里选中你要备份的指标,右键有导出选项,导出的是一份文本文件。建议每周导一次,按日期命名存到一个固定文件夹。这么做不是因为通达信容易丢数据,而是因为你自己手滑的概率远高于软件出错的概率——覆盖保存、误删、改错参数又没记原值,这些都属于“事后想抽自己”的操作。
再说版本管理。我现在每个指标都带着版本号,改一版存一版,旧版不删。听起来麻烦,但当你调了半个月发现自己把某个参数改坏了又记不起原值时,旧版本就是救命稻草。指标调优是个反复横跳的过程,没有版本记录等于闭着眼睛改。
第三个细节是别在一个指标里塞太多功能。新手容易犯的错是看到一个指标就想往里加东西,量能、均线、参考线、提示标记全堆在一个副图里,最后的结果是图形互相遮挡,什么都看不清。分时副图区域本来就窄,功能越少越清晰。真要分门别类,就建两三个独立指标,按需切换。
第四个细节是观察一段时间再定性。任何参数调整之后,别急着下结论。至少跑够一周的盘中观察,覆盖不同的量能环境——清淡的日子、活跃的日子都要看。只在某一天验证过的参数,大概率是过拟合了当天的特殊情况。
最后说一句关于数据权限的事。分时量能类指标分两个层次:基础量价层次,任何版本都能用;细分成交方向层次,需要更细的数据支持。新手完全可以从基础层次起步,把量柱和均量线用熟练,已经能解决大部分“看不清量能节奏”的问题。等你确实需要更细的颗粒度时,再考虑往上走,别一上来就追求最复杂的版本,那只会让你在报错里打转。
还有一个我个人的小习惯值得一提:每天收盘后花两分钟,把当天分时图截一张存下来,重点标出量能倍数最突出的几个时间点,简单记一句当时价格在做什么。攒上一个月回头看,你会对自己的标的在什么时间段容易放量、放量之后通常怎么走,形成一个相当具体的印象。这个习惯的价值远大于不断换新指标——工具是次要的,对节奏的熟悉程度才是重点。