通达信跟庄筹码副图源码拆解:从EMA到筹码盈亏度 简介这是一份面向股票技术分析爱好者与通达信指标编写者的副图指标源码文档核心是「跟庄筹码」副图公式且明确不含未来函数适合希望研究筹码分布与跟庄逻辑、需要可复用源码进行二次调试的投资者。资源包共1个doc文件约182KB内容以源码文本与配套贴图说明为主便于直接复制到通达信公式管理器中使用。源码以EMA1至EMA120多条指数移动平均线构建均价线再衍生出R值、R1值、M3至M55均线、黄金线与跟庄线并进一步计算筹码、筹码2、周筹码、筹码盈亏度、HZL、LZH、BC、ZGHZ、ZGLZ等指标配合DRAWBAND与STICKLINE完成多空色带与柱状可视化。目前已有3411人学习下载读者可据此理解筹码盈亏度的计算链路、金叉死叉信号与高低点标记方式并在此基础上调整参数或组合选股条件。1. 为什么这套跟庄筹码副图值得单独拆一遍很多人拿到一份通达信副图源码第一反应是直接丢进公式管理器点确定能画出来就算成功。但跟庄筹码这类指标真正决定它能不能用的不是画线好不好看而是它背后的计算链条有没有断。这套源码从 EMA1 一路推到 EMA120再合成均价线、R、R1、M 系列、黄金线、跟庄线最后落到筹码盈亏度中间任何一环理解错副图上那根红蓝柱子就会骗你。它最大的特点是全程无未来函数所有引用都是当根或历史数据不会出现信号漂移。适合已经会写基础公式、想把副图指标从“能用”推到“知道为什么能用”的人。下面按计算链、筹码构造、绘图落地、参数调优四段拆开讲。2. 从 EMA 到黄金线跟庄筹码的计算链拆解2.1 均价线为什么用七条 EMA 而不是一条 MA源码开头定义了 EMA1 到 EMA120 共七条指数移动平均线然后直接取算术平均得到均价线。这里用 EMA 而不是 MA核心原因是 EMA 对最新价格赋予更高权重短周期反应更快长周期又不会像 MA 那样在窗口边界突然跳变。七条线覆盖 1、5、10、20、30、60、120 七个周期基本把日内、周级、月级、半年级的成本区间都框住了。EMA1:EMA(C,1); EMA5:EMA(C,5); EMA10:EMA(C,10); EMA20:EMA(C,20); EMA30:EMA(C,30); EMA60:EMA(C,60); EMA120:EMA(C,120); 均价线:(EMA1EMA5EMA10EMA20EMA30EMA60EMA120)/7;逻辑说明EMA(C,N) 中 C 是收盘价N 是周期。EMA1 实际等于收盘价本身所以均价线里已经隐含了当根价格。参数说明如果你做的是超短线可以把 EMA120 换成 EMA90 缩短长周期权重做中线则保持 120 不动因为 120 日大约对应半年交易日是筹码沉淀的常用分界。2.2 R 与 R1最低价、最高价和均价的加权融合R 和 R1 是这套指标的第一个分水岭。R 用最低价和均价做 2:3 加权R1 用最高价和均价做 2:3 加权然后两者再取平均进入 EMA 计算。这个设计的意图是把当根 K 线的极值信息和多周期均价信息揉在一起避免单纯用收盘价导致影线信息丢失。R:(2*L3*均价线)/5; R1:(2*H3*均价线)/5; M3:EMA((RR1)/2,3); M5:EMA((RR1)/2,5); M8:EMA((RR1)/2,8),COLORWHITE; M13:EMA((RR1)/2,13); M21:EMA((RR1)/2,21),COLORYELLOW; M34:EMA((RR1)/2,34); M55:EMA((RR1)/2,55);逻辑说明(RR1)/2 是当根融合价再对它做 3、5、8、13、21、34、55 七条 EMA。这组周期不是随便选的3-5-8-13-21-34-55 是斐波那契数列的常见变体短中长过渡平滑。参数说明M8 和 M21 分别给了白色和黄色是为了在副图上快速识别中短周期位置改颜色不影响计算。2.3 黄金线与跟庄线两条基准线的分工黄金线是 M3 到 M55 七条线的平均再套一层 EMA周期取这七个数字之和除以 7也就是 19.86 约等于 20。跟庄线则是对 (RR1)/2 的 2 周期最低值再做 3 周期 EMA。两条线一个代表多周期融合中枢一个代表短期下沿支撑。黄金线:EMA((M3M5M8M13M21M34M55)/7,(35813213455)/7); 跟庄线:EMA(LLV((RR1)/2,2),3),COLORWHITE,LINETHICK1;逻辑说明LLV((RR1)/2,2) 取最近两根融合价的最低值再 EMA3 平滑得到一条偏下沿的跟庄线。黄金线在上方作为中枢跟庄线在下方作为支撑两者差值就是后面筹码的分子。参数说明跟庄线的 LLV 周期 2 和 EMA 周期 3 都可以调改成 LLV 3 和 EMA 5 会让线更钝适合波动大的品种。2.4 筹码与筹码2用 COST 做波动归一化筹码的核心公式是 (跟庄线-黄金线)/(COST(90)-COST(10))*100。COST 是通达信的成本分布函数COST(90) 表示 90% 筹码集中在这个价格以下COST(10) 表示 10% 筹码集中在这个价格以下。两者之差就是筹码主分布区的宽度用它做分母等于把价格差值归一化成百分比不同价位的股票才能横向比较。筹码:(跟庄线-黄金线)/(COST(90)-COST(10))*100,COLOR00FFFF; 筹码2:(跟庄线-黄金线)/(COST(90)-COST(13))*100,COLOR00FFFF; 周筹码:EMA(筹码,5),LINETHICK1,COLORRED; 筹码盈亏度:2*(筹码2-周筹码);逻辑说明筹码2 把分母的 COST(10) 换成 COST(13)分母略小结果略大用来和筹码做差分。周筹码是筹码的 5 周期 EMA代表慢线。筹码盈亏度 2*(筹码2-周筹码)本质是快慢线差值的放大放大系数 2 是为了让副图柱子更明显。参数说明COST 的 90/10/13 三个分位可以按品种调整小盘股筹码集中可以改成 95/5大盘股分散保持 90/10 更稳。变量计算来源作用可调参数均价线七条 EMA 均值多周期成本中枢EMA 周期组合R/R1极值与均价加权融合当根极值信息加权比 2:3黄金线M 系列均值再 EMA中枢基准外层 EMA 周期跟庄线融合价 LLV 再 EMA下沿支撑LLV 2 / EMA 3筹码盈亏度筹码2 与周筹码差分副图柱状信号放大系数 23. 筹码盈亏度的信号构造与副图绘制3.1 HZL 与 LZH零轴穿越的两种方向筹码盈亏度围绕零轴波动上穿零轴记为 HZL下穿零轴记为 LZH。源码用 CROSS 函数捕捉这两个事件再用 BARSLAST 计算距离上一次穿越的周期数 BC。这个 BC 是后面取极值窗口的关键。HZL:CROSS(筹码盈亏度,0); LZH:CROSS(0,筹码盈亏度); BC:BARSLAST(HZL OR LZH)1; ZGHZ:IF(筹码盈亏度0,HHV(筹码盈亏度,BC),0); ZGLZ:IF(筹码盈亏度0,LLV(筹码盈亏度,BC),0);逻辑说明BARSLAST(HZL OR LZH) 返回上一次穿越到当前的周期数加 1 是为了让窗口至少为 1。ZGHZ 在零轴上方取 BC 窗口内的最高值ZGLZ 在零轴下方取最低值。参数说明BC 窗口会随穿越自动伸缩不需要手动设如果你觉得柱子太长可以在 HHV/LLV 外面再套一层 EMA 平滑。3.2 DRAWBAND 与 STICKLINE红蓝柱和渐变带副图的视觉主体由 DRAWBAND 和 STICKLINE 完成。DRAWBAND 画的是填充带ZGHZ 到 0 用暗红 RGB(105,77,77)ZGLZ 到 0 用暗绿 RGB(80,0,0) 和 RGB(66,88,66)。STICKLINE 画的是柱体零轴上方用 COLORLIMAGENTA下方用 COLORLICYAN再叠加一层黄色和棕色表示当日相对前一日的变化。DRAWBAND(ZGHZ,RGB(105,77,77),0,RGB(77,77,77)); DRAWBAND(ZGLZ,RGB(80,0,0),0,RGB(66,88,66)); STICKLINE(筹码盈亏度0,0,筹码盈亏度,3,0),COLORLIMAGENTA; STICKLINE(筹码盈亏度0,0,筹码盈亏度,3,0),COLORLICYAN; STICKLINE(筹码盈亏度REF(筹码盈亏度,1),0,筹码盈亏度,1.5,0),COLORYELLOW; STICKLINE(筹码盈亏度REF(筹码盈亏度,1),0,筹码盈亏度,1.5,0),COLORBROWN;逻辑说明STICKLINE 的第四个参数是宽度3 是主柱1.5 是叠加的细柱。第五个参数 0 表示实心。REF(筹码盈亏度,1) 是前一根值用来判断当日是增强还是减弱。参数说明宽度 3 和 1.5 可以按屏幕分辨率调高分屏可以改成 4 和 2颜色代码是 BGR 顺序改色时注意别把红绿写反。提示DRAWBAND 的两个填充带在零轴附近会重叠如果发现颜色发灰把 ZGHZ 和 ZGLZ 的 IF 条件里的 0 改成极小值如 0.001避免零轴处反复填充。3.3 筹码D、周筹码D 与趋势线三条参考线源码后半段又定义了筹码D、周筹码D 和筹码趋势。筹码D 是筹码2 的重复定义但加了 LINETHICK2周筹码D 是周筹码的加粗版筹码趋势是 2*EMA(筹码,55)。这三条线的作用是给柱体提供趋势参照。筹码D:(跟庄线-黄金线)/(COST(90)-COST(13))*100,COLOR00FFFF,LINETHICK2; 周筹码D:EMA(筹码,5),LINETHICK2,COLORRED; IF(筹码DREF(筹码D,1),筹码D,DRAWNULL),COLORLIBLUE,LINETHICK2; 筹码趋势:2*EMA(筹码,55),LINETHICK2,COLORMAGENTA; IF(筹码趋势REF(筹码趋势,1),筹码趋势,DRAWNULL),COLORLIGRAY,LINETHICK2;逻辑说明IF 配合 DRAWNULL 是通达信里实现“条件变色”的常用写法当筹码D 大于前一日时画蓝色否则不画这样上升段和下降段颜色不同。筹码趋势乘以 2 是为了让它和柱体在同一量级。参数说明EMA(筹码,55) 的 55 是长周期平滑改成 34 会更敏感改成 89 更钝。4. 把源码装进通达信公式管理器实操与排错4.1 新建副图公式的完整步骤打开通达信按 CtrlF 调出公式管理器选“技术指标公式”下的“其他类型”点新建。公式名称填“跟庄筹码副图”画线方法选“副图”然后粘贴源码。注意源码里有中文变量名和全角空格粘贴后要检查一遍。# 通达信公式管理器操作路径 CtrlF - 技术指标公式 - 其他类型 - 新建 公式名称: 跟庄筹码副图 画线方法: 副图 粘贴源码 - 测试公式 - 确定逻辑说明测试公式按钮会做语法检查如果报错会提示行号。参数说明画线方法必须选副图选主图会导致 DRAWBAND 和 STICKLINE 覆盖 K 线。如果公式管理器版本较老可能不支持 DRAWBAND需要升级到较新版本。4.2 常见报错与修复对照报错信息原因修复方法未定义的变量 COST公式类型选错改为技术指标公式DRAWBAND 函数不存在版本过旧升级通达信或用 STICKLINE 替代变量名重复筹码D 与筹码2 重名保留一个另一个改名全角空格从 doc 复制带入用编辑器替换全角空格为半角输出线过多超过副图限制注释掉不用的线逻辑说明COST 函数只在技术指标公式里可用选成条件选股公式会直接报未定义。DRAWBAND 是较新版本才有的绘图函数老版本只能用 STICKLINE 模拟。参数说明副图默认最多显示 6 条线超出部分会被截断建议把不用的线用大括号注释掉。4.3 无未来函数的验证方法验证无未来函数最直接的方法是看源码里有没有 REF 负值、ZIG、PEAK、TROUGH 这类函数。这套源码只用了 EMA、LLV、HHV、COST、CROSS、BARSLAST、REF 正值全部是历史或当根数据。另一个方法是把副图信号和实际 K 线对照如果柱子在某根 K 线收盘后就固定不变说明没有未来函数。{ 检查未来函数的快速方法搜索以下关键字 } { ZIG, PEAK, TROUGH, REF(X,-N), BACKSET, FILTER } { 本源码只含EMA, LLV, HHV, COST, CROSS, BARSLAST, REF(X,1) }逻辑说明REF(X,-N) 是引用未来数据BACKSET 会回填历史FILTER 在某些写法下也会引入未来。参数说明如果必须用 ZIG 类函数要在副图上标注“含未来”否则实盘会信号漂移。注意从 doc 文件复制源码时中文引号和全角空格是最常见的坑。建议先粘贴到纯文本编辑器用查找替换把全角空格换成半角再粘进公式管理器。5. 参数调优与多品种适配的进阶技巧5.1 用参数表快速切换短线与中线配置这套源码的硬编码周期较多直接改源码容易改乱。更稳的做法是把关键周期抽成参数在公式管理器里用参数列表管理。下面给出短线和中线两套配置。参数短线配置中线配置说明长周期 EMA90120决定均价线长度跟庄线 LLV23越大越钝跟庄线 EMA35平滑系数周筹码 EMA35快慢线切换筹码趋势 EMA3455趋势线平滑逻辑说明短线配置把长周期从 120 缩到 90跟庄线更敏感适合日内和隔日。中线配置保持 120 和 55信号更稳但滞后。参数说明改参数后要重新测试公式确认没有变量未定义。5.2 用 COST 分位适配不同市值品种COST(90)-COST(10) 是筹码宽度小盘股筹码集中这个差值小筹码值会被放大大盘股筹码分散差值大筹码值被压缩。适配方法是按市值调整分位。{ 小盘股筹码集中用 95/5 收窄分母 } 筹码小盘:(跟庄线-黄金线)/(COST(95)-COST(5))*100; { 大盘股筹码分散用 85/15 放宽分母 } 筹码大盘:(跟庄线-黄金线)/(COST(85)-COST(15))*100; { 默认保持源码的 90/10 } 筹码默认:(跟庄线-黄金线)/(COST(90)-COST(10))*100;逻辑说明COST(95)-COST(5) 比 COST(90)-COST(10) 小分母小则结果大适合小盘股。COST(85)-COST(15) 更大结果更温和适合大盘股。参数说明分位调整幅度不要超过 10 个点否则筹码值会失真。5.3 副图与主图联动看盘的一个技巧把跟庄筹码副图和主图 K 线放在同一窗口用“叠加”功能把黄金线和跟庄线画到主图上可以直观看到价格和筹码中枢的位置关系。具体做法是在主图公式里引用副图变量或者直接把黄金线和跟庄线的计算复制到主图公式末尾。{ 主图叠加把黄金线和跟庄线画到 K 线上 } 黄金线主图:EMA((M3M5M8M13M21M34M55)/7,(35813213455)/7),COLORYELLOW; 跟庄线主图:EMA(LLV((RR1)/2,2),3),COLORWHITE; { 注意M 系列和 R/R1 需要在主图公式里重新计算 }逻辑说明主图叠加需要把副图里的中间变量全部复制过去因为通达信公式之间不共享变量。参数说明叠加后主图线会变多建议只叠加黄金线和跟庄线两条其余用副图看。5.4 信号过滤用 BC 窗口长度剔除震荡假信号筹码盈亏度在零轴附近反复穿越时BC 窗口会很短ZGHZ 和 ZGLZ 的柱子也会很短这些大多是震荡假信号。过滤方法是在 STICKLINE 条件里加一个 BC 下限。{ 只画 BC 大于 3 的柱子过滤短窗口震荡 } STICKLINE(筹码盈亏度0 AND BC3,0,筹码盈亏度,3,0),COLORLIMAGENTA; STICKLINE(筹码盈亏度0 AND BC3,0,筹码盈亏度,3,0),COLORLICYAN; { BC 小于等于 3 的柱子不画减少噪音 }逻辑说明BC 是距离上一次零轴穿越的周期数BC 越小说明穿越越频繁信号越不可靠。加 BC3 后只有持续 4 根以上的方向才画柱。参数说明BC 下限可以按品种波动率调波动大的品种可以设到 5波动小的保持 3。本文还有配套的精品资源点击获取