副图里同时写着“主力、游资、大户、散户”,再配上四组参与比例,很容易把它理解成四类账户资金被分别统计出来了。
把名称暂时拿掉,只沿着公式往回追一遍,实际结构要简单得多。四个名称没有读取四套账户数据,而是把同一个基础序列分别做4、8、16、32周期简单移动平均,再把四条均线各自除以总和,得到四个比例。
这篇只做一件事:把标签背后的计算口径还原清楚。
⚠️免责声明:本文为通达信指标公式的编写教学与逻辑拆解,旨在帮助读者理解公式的数据口径、计算关系和显示方式。本文不构成任何投资建议,不推荐任何个股或交易策略。技术指标存在滞后性和局限性,请结合实际客户端和自身需求独立判断。

四个名称先共用同一个A
整个副图的源头只有这一行:
A:=IF(CLOSE>126.32,AMOUNT/100000,VOL);后面四条线没有重新读取别的数据,全部围绕A计算:
主力:MA(A,4),NODRAW;
游资:MA(A,8),NODRAW;
大户:MA(A,16),NODRAW;
散户:MA(A,32),NODRAW;如果先不看变量名称,这四行可以直接理解成:
• 4周期均线; • 8周期均线; • 16周期均线; • 32周期均线。
周期越短,对A近期变化越敏感;周期越长,变化越平滑。
所以这里最值得记住的一句话是:四个标签首先代表四种平滑速度,不是四套独立的账户身份数据。
参与比例是四条均线内部归一化
四个比例的算法也很直接。以第一条为例:
主动参与比例:=ROUND(主力/(主力+游资+大户+散户)*100);其余三条只是把分子换成对应的8、16、32周期均线。
因此它回答的是:当前这条平滑线,占四条平滑线总和的大约多少。
举个纯数学例子。假设四条线当前分别是120、110、100、90,总和为420,那么第一条比例大约是28.6%,第二条约26.2%,第三条约23.8%,第四条约21.4%。经过ROUND取整后,显示值会接近这组关系。由于四项是分别四舍五入,最终四个整数相加不一定刚好等于100,出现99或101并不代表公式又多算或少算了一类。
这和“真实市场中某类账户占成交额多少”不是同一个问题。公式没有读取账户分类成交数据,也没有把成交明细按投资者身份分组。
126.32这一处分界,才是整套公式最需要看懂的地方
再回到A:
A:=IF(CLOSE>126.32,AMOUNT/100000,VOL);当收盘价不高于126.32时,A取VOL;高于126.32时,A改取AMOUNT/100000。
通达信公式函数定义中,VOL是成交量,单位为手;AMOUNT是成交额,单位为元。也就是说,这里不是同一个数据换了一种缩放方式,而是在价格阈值两侧切换了两种不同量纲的数据。
对A股再往下推一步更直观。通达信官方说明可以用AMO/(VOL*100)近似还原实际成交均价,因此AMOUNT/100000可以理解成VOL×成交均价/1000这一数量级。假设成交均价也在126元附近,那么AMOUNT/100000大约只有0.126×VOL。所以跨过126.32时,变化的不只是“单位名称”,数值尺度本身也可能明显跳变。
这会带来一个很实际的阅读边界。
如果一只股票长期处在阈值同一侧,四条线内部仍然都来自同一种A口径,短中长平滑关系比较容易理解。可一旦价格跨过126.32,A会从成交量切到缩放后的成交额,或者反向切回来。短周期MA会更快装入新口径数据,32周期甚至180周期线还会保留较多旧口径数据,所以影响不只发生在跨线那一根K线上,而会在后续一段窗口里逐步消化。若价格在126.32附近反复来回,A还可能连续切换口径。
另外还有一个容易忽略的边界:通达信官方说明CLOSE在复权状态下会使用复权后的序列价格,而VOL、AMOUNT仍是对应周期的成交量和成交额。也就是说,CLOSE>126.32这道门槛会受到当前复权方式影响。比较历史结果时,最好固定同一种复权设置,不要把不同复权状态下的结果直接横向对照。
因此,不宜把跨阈值前后以及随后若干周期的比例变化,直接解释成某一类资金参与突然改变。
“警戒线”其实也是同一个A的180周期均线
公式还有一条:
警戒线:MA(A,180),COLORFF00FF;它不是固定30%、50%之类的比例阈值,也没有和四个参与比例做比较。
它只是A的180周期简单移动平均。
这意味着图上所谓警戒线和四组柱体处在同一个基础数据体系里,只是观察窗口更长。若A本身发生口径切换,180周期线同样会受到影响。
图上的柱子也不是四块独立堆叠
原公式用多组STICKLINE叠加不同宽度和颜色,形成渐变柱效果。
这里要分清一个细节。绝大多数柱线都把PRICE1写成0、PRICE2写成对应均线值;但“游资”里宽度为2.7的那一层使用了EMPTY=3。按通达信官方定义,EMPTY=3属于从中间向上下绘制的特殊实线柱,此时PRICE1无效,所以不能把源码里的每一层都概括成“严格从0开始”。
不过有一点仍然成立:源码没有把“主力顶部”作为“游资起点”,也没有把四个比例按前一组顶部首尾相接。它不是常见的四段累计堆叠图。
因此,看图时不要拿柱体可见面积去估算四个比例。真正的比例值来自前面的四个ROUND计算,而不是柱子的宽窄或覆盖面积。那一层EMPTY=3的特殊绘制,也更应该按显示效果理解,不能反推成一块独立资金占比。
如果只想研究四种平滑速度,最好先统一A的口径
这套结构本身有一个很清楚的可改造方向:保留4、8、16、32四个周期,只让A始终采用同一种数据。
例如只研究成交量节奏,可以写成:
A:=VOL;如果想研究成交额节奏,则可以始终使用:
A:=AMOUNT/100000;改完以后,四条线仍然是同一套4、8、16、32周期结构,参与比例仍然是四条线内部归一化,但不会因为价格跨过126.32而更换数据单位。
注意,这属于功能口径调整,不是与原公式完全等价的格式清理。原逻辑和统一口径版应该分开保存,避免以后自己也分不清测试的是哪一版。
公式怎么理解
我更愿意把它理解成“同一基础序列的四种平滑速度比较器”。这样读,代码和图形就能对得上:
• 第一条反应最快; • 第二条稍慢; • 第三、第四条越来越平滑; • 四个参与比例描述的是四条平滑线在当前总和里的相对权重; • 180周期线提供更慢的长期基准; • 126.32附近需要额外留意数据口径切换。
至于变量被命名成哪一类市场参与者,只能当作这套公式里的标签,不能自动扩大成账户身份识别。
核心不是识别四类账户,而是同一个A序列经过4、8、16、32周期平滑后,再做内部比例化。
你更想先核对这类资金副图的“数据来源”,还是“比例算法”?留言写“数据”或“比例”即可。
💾电脑版和手机版已整理到小程序悟的源码库。
👉公众号回复关键词【8111】,即可获取并自行导入测试。
👍觉得有用,点个在看、转给身边使用通达信的朋友就行。
免责声明:本文仅为通达信指标公式的编写教学与逻辑拆解,所有内容均用于软件公式研究和使用说明,不构成任何投资建议。技术指标存在固有的滞后性和局限性,任何单一公式都不能保证结果。请根据自身情况独立判断,并以实际客户端测试结果为准。
夜雨聆风