简介:通达信操盘手主图指标学习文档面向使用通达信软件做技术分析的交易者,适合已了解指标公式基础、想提升看盘与信号判断效率的读者。文档围绕主图指标源码展开,系统拆解成交量均值、指数移动平均、操盘线、行情线、趋势线、压力支撑线等核心构成,并结合红升蓝降、柱状图、顶底信号以及涨跌停显示,逐条说明公式算法与对应的买卖参考含义。资源为单份doc文档,大小约209KB,内容包含完整指标源码及各变量详细解释,可直接复制到通达信公式编辑器中使用,也可作为学习自定义指标编写与优化主图策略的参考。目前已有184人学习下载,对于希望理解指标底层逻辑、自行调整参数或扩展主图功能的用户具有实际参考价值。
1. 通达信操盘手主图指标:为什么说操盘线是"反着看的量价温度计"
把成交额除以成交量,再套上好几层 EMA,最后把结果画成主图上的红绿柱——这套源码第一眼看上去并不复杂,但真正把它逐行拆开之后,你会发现它和市面上大多数均线类指标思路完全不同。它不直接画均线,而是先算"每一手成交的真实均价",再通过偏离度制造一条能反映资金短期强弱变化的操盘线,再叠加一条考虑价格位置的重心线,把看涨看跌的判断转成红升蓝降两种颜色。这篇拆解会按源码顺序,把变量的物理含义、参数设置理由以及常见的误读逐条讲清,适合正在学通达信公式语言、想理解别人指标思路的读者,也适合那些手上已有主图体系、想横向对比量价类指标的开发者。
2. 核心变量拆解:A、VARA、操盘线与行情线的量价联动
2.1 A 的构造:为什么是 AMOUNT/V/100
源码第一行是A:=AMOUNT/V/100,AMOUNT 是通达信内置函数,表示当日成交金额(元),V 是成交量(手)。两者相除得到的是每股平均成交价,再除以 100,是为了把数值缩放到与个股价格相近的量级,避免后面画线时出现几万甚至几十万的数值把坐标轴撑爆。A 本质上就是"量加权均价",比收盘价更能反映当日资金进场的真实成本。
这里要强调一个容易被忽略的细节:A 用的是 AMOUNT 和 V,不是用(H+L+C)/3之类的典型价格。它把成交量和价格同时纳入,因此当某一天出现大单集中成交在某个价位时,A 会明显偏向那个价位,而不是被开盘价或收盘价拉偏。后面的 VARA 和操盘线都建立在 A 之上,也就是说整个指标的量价基因是从这一行开始注入的。
2.2 VARA 的作用:衡量均价偏离度,而且负值才是强势区
VARA:=EMA((((A-EMA(A,13))/EMA(A,13))*(0-100)),5),从内向外拆:
EMA(A,13)是 A 的 13 周期指数移动平均,代表近期量价均值的基准;(A-EMA(A,13))/EMA(A,13)计算的是当前量价均值相对其基准的偏离比例;*(0-100)等同于乘以 -100,把偏离比例转为负向百分比;- 最外层再取 5 周期 EMA 做平滑,避免单日异动导致数值剧烈跳动。
这段代码在实际盯盘中最反直觉的地方在于:当 VARA 为负且绝对值较大时,说明 A 显著高于其 13 周期均值,也就是说当前成交均价正在快速抬升,资金在主动追价。此时 VARA 数值虽然为负,却对应强势。反过来,VARA 趋近于 0 甚至变成正数,说明均价已经低于近期基准,追价意愿减弱。理解这个反相关系是读懂操盘线的关键。
2.3 操盘线与行情线:一快一慢,交叉即信号
操盘线:=EMA(((VARA/10)+EMA(A,10)),3); 行情线:=EMA(A,3);操盘线的内部逻辑是(VARA/10)+EMA(A,10)。VAARA 一般是负值,除以 10 后数值量级通常在几十以内,加到 EMA(A,10) 上相当于在 10 周期均价附近做上下修正。当 VARA 的绝对值变大(强势),修正量变大,操盘线被压低;当 VARA 归零(弱势),操盘线回归 EMA(A,10)。最后取 3 周期 EMA 做输出。
行情线就是EMA(A,3),反应非常灵敏。两条线构成一快一慢的组合:行情线快速贴近实时成本,操盘线相对平滑。源码后面用行情线 < 操盘线画绿柱,行情线 >= 操盘线画红柱。也就是说,当短期成本快速跌破平滑后的修正成本时显示绿色,反之为红色。很多直接用均线判断趋势的读者第一次看到这里会问:为什么行情线在下方反而是绿色?答案是这里的红绿柱不是涨跌含义,而是短期成本与中期修正成本的相对位置,绿色代表短期成本走弱,红色代表走强,与 K 线涨跌没有直接关系。
2.4 红柱绿柱的用法与参数对照
| 信号表现 | 行情线与操盘线关系 | 通常对应的盘面状态 | 交易含义 |
|---|---|---|---|
| 红柱 | 行情线 >= 操盘线 | 短期资金成本在修正成本之上 | 多头占优,可持有 |
| 绿柱 | 行情线 < 操盘线 | 短期资金成本低于修正成本 | 空头占优,需谨慎 |
| 绿转红 | 行情线从下向上穿越操盘线 | 资金成本快速修复 | 潜在买入观察点 |
| 红转绿 | 行情线从上向下穿越操盘线 | 资金成本快速走弱 | 潜在卖出观察点 |
这段逻辑对应源码中四行 STICKLINE:
STICKLINE(行情线<操盘线,H,L,0,1),COLORGREEN; STICKLINE(行情线<操盘线,C,O,2,1),COLORGREEN; STICKLINE(行情线>=操盘线,H,L,0,1),COLORRED; STICKLINE(行情线>=操盘线,C,O,2,1),COLORRED;前两行画绿色柱体的影线和实体,后两行画红色柱体。STICKLINE 的四个参数分别是条件、起始价格、结束价格、宽度系数和空心属性。宽度 0 代表极细线,用于最高价到最低价的影线;宽度 2 用于开盘价到收盘价的实体,比影线粗,视觉上形成类似 K 线的效果。也就是说,主图上的红绿柱并不是原始 K 线,而是根据行情线与操盘线关系重新着色的"量价状态柱"。
3. 重心与趋势线:斜率修正的价值与红蓝双色切换
3.1 重心公式的加权思想
源码中的重心定义是:
重心:=(C+0.618*REF(C,1)+0.382*REF(C,2)+0.236*REF(C,3)+0.146*REF(C,4))/2.382;这个公式对最近 5 天收盘价做了衰减加权,权重序列依次是 1、0.618、0.382、0.236、0.146,分母 2.382 是权重之和。用这种黄金分割递减序列,是为了让最近一天的价格对重心影响最大,越远的数据影响力越小。与简单算术平均相比,这种加权方式能更快反映最新的价格变化,同时不会因为单日极端值过度反应。
重心这个变量在主图中并不直接画线,而是作为判断依据参与红升蓝降的颜色逻辑。它是整个主图里少数完全不依赖成交量的部分,纯粹由收盘价时序构成。当价格处于上升通道时,重心通常位于趋势线附近或上方;在下跌趋势中,重心会更快地滑落到趋势线下方。
3.2 趋势线的 SLOPE 修正
趋势线的公式是EMA(((SLOPE(C,22)*20)+C),55),COLORYELLOW,LINETHICK2。SLOPE(C,22) 是对最近 22 个周期收盘价做线性回归得到的斜率,乘以 20 后叠加到当前收盘价上,再取 55 周期 EMA 平滑。这里的斜率不是用来预估涨幅,而是对价格做空间平移修正:当 22 周期整体处于上升状态时,斜率为正,趋势线上移到当前价格上方;下跌时斜率为负,趋势线被压到价格下方。55 周期 EMA 的平滑期较长,所以趋势线对短期波动不敏感,适合作为中期多空分界线。
注意这里有一个很多移植者容易弄错的地方:SLOPE(C,22)*20+C的结果再套 EMA,而不是先对价格取 EMA 再算斜率。两者差别在于,前者保留了斜率的动态修正效果,后者前置平滑会削弱斜率变化。如果自行修改这里的平滑周期,建议 55 这个数值不要低于 40,否则趋势线会变得太贴近价格,红蓝信号切换会明显变频繁。
3.3 红升与蓝降:趋势线被赋予颜色状态
红升:IF(重心>=趋势线,趋势线,DRAWNULL),COLORRED,LINETHICK2; 蓝降:IF(重心<趋势线,趋势线,DRAWNULL),COLORBLUE,LINETHICK2;这两行从同一根趋势线中分出两种显示状态:重心大于等于趋势线时画红色加粗线,重心小于趋势线时画蓝色加粗线。DRAWNULL 的作用是在不满足条件时输出空值,让对应段落的线不显示,从而在视觉上形成红蓝切换。这样设计的好处是,不需要额外画一条切换标记或改变线型,直接通过颜色就能表达多空状态切换。
实战中观察红蓝线比单纯看趋势线方向更有用,因为它是相对位置的体现:即使趋势线方向依然向下,只要重心快速回升并越过趋势线,红升就会提前出现,这往往发生在价格止跌初期;反过来,趋势线还在向上时重心跌破趋势线进入蓝降,可能预示上涨动能衰减。
4. 压力支撑、顶底信号与涨跌停的判定实现
4.1 压力与支撑的延迟设计
源码中压力与支撑的计算方式如下:
压力:MA(REF(HHV(C,30),1),2),COLORWHITE; 支撑:MA(REF(LLV(C,30),1),2),COLORGRAY;HHV(C,30)取最近 30 周期收盘价最高值,REF(...,1)把结果向后平移一天,再取 2 周期均值,支撑线同理用LLV(C,30)。这里的 REF 平移是刻意的:用昨日之前的 30 日高点作为今日压力参考,避免把今日 K 线本身纳入极值计算,降低信号自指的概率。2 周期均值对压力支撑做了轻平滑,使两条线不是锯齿状,而是相对平缓的轨道线。
这两条线适合做波段参考。价格接近白色压力线时观察是否放量滞涨,接近灰色支撑线时观察是否缩量止跌。由于压力支撑来自收盘价极值而非最高最低价,它们在多数情况下会略低于真实高点压力、略高于真实低点支撑,实际使用时可以在 ±0.5% 范围内做微调。
4.2 顶底信号:DA 与 DB 的交叉识别
DA:=(EMA(C,1)+EMA(C,2)+EMA(C,3)+EMA(C,4))/4; DB:=(EMA(C,10)+EMA(C,20)+EMA(C,40)+EMA(C,80))/4; DRAWTEXT(CROSS(DA-DB,0),L*0.98,'★B'),COLORGRAY;DA 是短周期 EMA 族均值,覆盖 1 到 4 周期,代表极短期价格重心;DB 是长周期 EMA 族均值,覆盖 10 到 80 周期,代表中长期价格重心。当 DA-DB 从下往上穿越 0 轴,说明短期重心上穿了长期重心,源码在最低价下方 2% 位置标注灰色 ★B。这个信号本质上是一个多重 EMA 的交叉信号,只是通过均分降低单一周期参数过灵敏的影响。
对应的卖出信号用 RSI 类公式实现:
JH:=SMA(MAX(C-REF(C,1),0),5,1)/SMA(ABS(C-REF(C,1)),5,1)*100; DRAWTEXT(CROSS(84,JH),H*1.02,'☆S'),COLORMAGENTA;JH 计算的是 5 周期内上涨量与总波动的比值,本质上就是 RSI 的一种变体。CROSS(84,JH)表示 JH 从上方跌破 84 阈值的瞬间,源码在最高价上方标注品红色 ☆S。84 是一个相当高的阈值,意味着只有超买到极端区域才会触发标注。这类信号出现频率很低,在震荡行情中一年可能只有几次,因此它更像是辅助确认信号,不适合作为独立交易依据。
4.3 涨跌停识别的非标准参数写法
涨停:=IF((C-REF(C,1))*100/REF(C,1)>=(10-0.01*100/REF(C,1)),1,0); STICKLINE(涨停,O,C,2,0),COLORRED; 跌停:=IF((REF(C,1)-C)*100/REF(C,1)>=(10-0.01*100/REF(C,1)),1,0); STICKLINE(跌停,O,C,2,1),COLORGREEN;这里判断涨停没有直接用涨幅>=10,而是写成10-0.01*100/REF(C,1)。原因是通达信默认的涨跌百分比精度是 0.01%,对于低价股,10% 涨跌幅对应的实际价格变化可能因四舍五入略微不足 10%,直接写>=10会漏掉部分涨停。用10-0.01*100/REF(C,1)可以将阈值下调一个最小报价单位,以兼容低价股精度问题。对于 20% 涨跌幅的板块,这个公式不会误判为涨停,因为 20% 远高于 10%,只是不会触发标记,不是错误。
涨跌停识别在主图中被画成覆盖开盘价到收盘价的加粗柱体,涨停红色、跌停绿色。它与前面的红绿柱同时存在,视觉上可能叠加,但含义完全不同:前面红绿柱是量价状态,这里的是真实涨跌停标注。实际观察时优先看 K 线实体颜色来区分。
5. 调参方向、公式排错与选股扩展
如果要把这个主图指标用于不同周期或不同风格的交易,建议按以下方向调整参数。表格中列为默认值和可选范围:
| 参数位置 | 默认值 | 可选范围 | 调整含义 |
|---|---|---|---|
EMA(A,13) | 13 | 8 ~ 21 | 数值越小,VARA 对短期量价变化越敏感 |
SLOPE(C,22) | 22 | 13 ~ 34 | 斜率回看周期,影响趋势线倾斜程度 |
EMA(...,55) | 55 | 40 ~ 89 | 趋势线平滑度,越大越迟钝 |
HHV(C,30)/LLV(C,30) | 30 | 20 ~ 60 | 压力支撑观察周期 |
JH阈值 84 | 84 | 78 ~ 90 | 数值越低卖出信号越频繁 |
一个值得尝试的改进是:将第 2 章的 STICKLINE 条件从行情线>=操盘线改为行情线>=操盘线 AND 重心>=趋势线,这样红柱不仅要求短期成本走强,还要求价格重心站在趋势线之上,能过滤掉一部分下跌反弹中的假红柱。但这会改变原有意图,做策略回测时要注意与默认版本对比。
关于排错,这套源码移植到通达信时最容易遇到两类问题。一是DRAWNULL在部分旧版本中把虚线转为空值后,线型显示断裂严重,这时可以把LINETHICK2改为LINETHICK1并观察颜色切换位置,而不是删除 DRAWNULL。二是 STICKLINE 在副图指标中无法直接使用,若想把这个主图逻辑放在副图验证,需要将 STICKLINE 替换为PLOYLINE或直接改用IF输出成交量柱。另外,公式中使用了两处REF(C,1),在买入信号出现的同一根 K 线收盘前,REF(C,1) 取的是上一根 K 线收盘价,但在收盘前选股时,C 是动态变化的,会导致信号闪烁。如果用于盘中预警,建议把 C 改为DYNAINFO(3)(动态收盘价),或者只在收盘后运行。
需要特别提醒的是,源码中DRAWTEXT(CROSS(DA-DB,0),L*0.98,'★B')的 ★B 信号,在主力资金持续流入但价格横盘的场景下会反复交叉,产生连续多次买入标注。这种情况可以用FILTER(CROSS(DA-DB,0),5)做信号过滤,含义是同一个信号出现后 5 个周期内不再重复标注。若把这个指标扩展为选股公式,可以仅保留重心上穿趋势线且行情线大于操盘线两个条件,再叠加成交量大于 5 日均量的过滤项,用于缩小范围。最后,调整任何参数后,建议用至少 200 根 K 线回看红蓝线段的变化频率,频率不高于每 15 根 K 线切换一次比较合理,太过频繁说明参数过于敏感。
本文还有配套的精品资源,点击获取