简介:为通达信软件用户及技术分析爱好者提供筹码峰指标公式完整源码,文档将成本分布量化为50个区间,并结合COST与WINNER函数计算获利盘比例,便于理解筹码峰形成原理与市场持仓成本结构。压缩包仅含1个doc文件,大小125KB,文件内容紧凑,既适合直接导入公式管理器,也可作为修改二次开发的基础底稿。已有2433人浏览学习,在指标类资源中有一定参考价值。文档从HB、LB、B3等基础变量入手,逐层构建B31至B349以及A1至A50系列算式,并利用MAX函数提取峰值区域,可帮助投资者判断密集成交区、支撑压力位及获利盘变化,对个股短线和中长线分析均有辅助作用。对于刚接触通达信公式编辑的读者,还能从变量拆分与嵌套调用中学习COST、WINNER、MAX等常用函数的组合用法。 我最早接触筹码峰这个概念,是在一次复盘大牛股底部形态的时候。当时软件里弹出那几条红红绿绿的山峰线,我第一反应是:这就是主力成本的可视化吧?后来花了大把时间把通达信指标公式源码翻出来逐行研究,才发现理解偏了不少。这篇文章就围绕“筹码峰”相关指标公式的源码原理和修改经验展开,适合那些不想当黑盒用户、想把公式拆开看个明白的朋友。
老规矩,先说明白:这里说的“筹码峰指标”,不是通达信软件自带的那个山峰图(那个属于看盘组件),而是基于 COST、WINNER 这类函数写出来的一类指标公式。源码写在公式管理器里,既能做主图叠加,也能做副图显示,还能进一步写成选股器。理解了它的计算逻辑,很多网上流传的“神秘指标”,你一眼就能看出套路。
1. 筹码峰到底在算什么:先看懂COST和WINNER
1.1 均线看不见的那部分市场信息
均线是价格的平均值,它把不同时间的价格做算术平均,但忽略了一个关键维度:每个价位上到底成交了多少量。
举个例子,一只票从50元跌到10元,中间每个价位都有成交。均线只能告诉你“过去20天平均成本是18元”,却无法告诉你“10到12元之间到底堆了多少筹码,13到15元之间又沉淀了多少套牢盘”。筹码峰补齐的正是这个信息,它在每个价格上计算“当前还有多少比例的筹码被套在这里”。
你打开CTRL+F公式管理器,新建指标,输入 COST(50),回车,再叠加到主图上,会看到一条比均线更“钝”的线。这条线代表的是:当前所有持仓者中,成本低于这条线的人刚好占一半。它不是简单的算术平均,而是按成交量权重累加出来的中位数价格。这个区别很关键:均线被一两天的极端价格拉偏,但COST(50)不会,因为它考虑的是筹码量的分布。
1.2 通达信筹码计算的换手衰减模型
通达信的COST、WINNER函数,并不是读取某个“真实持仓记录”,它本质上是对一套“历史换手衰减模型”的近似求解。理解这个模型,才知道筹码峰为什么会长成那个样子。
模型的核心逻辑并不复杂:每天成交的股票数量,对应着当天的换手部分;这部分筹码会在当天被“搬运”到成交价附近;而没换手的旧筹码,继续留在原来的价位上。交换比例就是换手率,也就是说,当日换手率越高,老筹码被替代得越多。
假设一只票长期在10元附近横盘,每天的换手都在这个区间发生,那么10元附近的筹码不断得到补充,其它价位的旧筹码则不断衰减。经历足够多交易日后,筹码自然向10元集中,形成一个尖锐的单峰。反过来,如果股价从10元快速拉到20元,过程中每个价位都有大量换手,筹码分布就会变得分散,出现多个峰或者一个宽大的峰。筹码峰的形态,本质上就是“过去一段时间换手行为”的投影。
2. 源码逐行拆解:一个可以跑起来的主图和副图指标
2.1 COST与WINNER的参数含义:为什么是50和90
COST(N)的含义是:获利盘达到N%时对应的价格。N是分位点,不是天数,这一点很多新手搞混。
- COST(50):中位成本,一半筹码亏损、一半筹码盈利的临界价格。
- COST(90):90%的筹码都处于盈利状态时的价格,可以理解为套牢盘压力上沿。
- COST(10):只有10%的筹码盈利时的价格,相当于支撑参考下沿。
WINNER(CLOSE) 返回的是当前收盘价下的获利筹码比例。数值0.8,代表现在有80%的持仓者是浮盈的。它和COST是同一套算法的一体两面:COST是“给定比例求价格”,WINNER是“给定价格求比例”。
这两个函数对数据量有要求,数据太少时计算出来的值会失真。这也是后面要说的次新股问题的根源。
2.2 主图叠加指标源码与每一句话的作用
先给出一份可以直接复制到通达信的主图叠加源码。新建公式时,记得把画线方式选成“主图叠加”。
{筹码峰主图叠加指标} 筹码重心:COST(50),COLORRED,LINETHICK2; 成本上轨:COST(90),COLORYELLOW,LINETHICK1; 成本下轨:COST(10),COLORCYAN,LINETHICK1; 获利比例:WINNER(CLOSE)*100,COLORWHITE,NODRAW;逐句说明:
筹码重心:COST(50)输出一条红色粗线,这是整个筹码分布的“重心”,我个人习惯把它当作动态成本线看待。成本上轨:COST(90)输出黄色线,代表90%筹码实现盈利的分界。股价站上这条线,意味着绝大多数持仓者都解套了。成本下轨:COST(10)输出青色线,代表只有10%筹码盈利的位置,是成本分布的低位边界。获利比例:WINNER(CLOSE)*100,COLORWHITE,NODRAW在左上角显示一个数字,比如72.35,表示当前72.35%的筹码处于盈利状态。加NODRAW是为了只显示数值、不画线,保持主图干净。
把这四条线叠加到K线上,你第一眼就能看到:股价在筹码重心下方运行,说明多数人套牢;股价站上重心并远离上轨,说明进入筹码全面盈利的强势区。这比单纯看均线多了一个维度:量的分布。
2.3 副图集中度指标与常见的编译报错
再看一个副图指标,用来量化筹码的集中程度。
{筹码集中度副图} CJ:=(COST(90)-COST(10))/(COST(90)+COST(10))*100; 集中度:CJ,COLORWHITE,LINETHICK2; 平滑:MA(CJ,5),COLORYELLOW;这个公式把90%筹码与10%筹码的价差,除以两者的和,得到一个大致在5到50之间的数值。值越小,说明筹码越集中;值越大,说明分布越散。
编译时比较容易踩的坑有三个:
- 漏写分号。通达信公式要求每句以分号结尾,漏一个就可能报“缺少表达式”或者“未知变量”。
- 混用中英文符号。公式里的括号、分号必须是英文半角,全角括号必报错。
- 用了未来函数。COST和WINNER本身没有未来函数问题,但有一些“筹码峰变体”源码里混入了ZIG、PEAK这类函数,选股时信号会在历史K线上漂移,非常危险。例如对同一根K线,昨天看没有信号,今天看却出现了一个昨天就该出现的买点,这是典型的未来函数现象。
3. 筹码集中度与密集峰形态:从公式到信号过滤
3.1 三种集中度计算方式,我用得最多的是哪种
筹码集中度的定义没有统一标准,常见的有三种:
| 公式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| (COST(90)-COST(10))/(COST(90)+COST(10))*100 | 整体集中度 | 稳健,抗异常值 | 对大区间变化不敏感 |
| (COST(85)-COST(15))/(COST(85)+COST(15))*100 | 主峰密集度 | 更灵敏 | 噪声稍大 |
| (CLOSE-COST(50))/COST(50)*100 | 价格偏离成本程度 | 辅助判断位置 | 仅能看偏离,无法反映分布宽窄 |
我写副图指标时,默认用的是第一种。原因是COST(90)和COST(10)之间的差价,能比较完整地覆盖“绝大多数持仓成本带”;换成COST(95)和COST(5),数值容易受个别极端成交影响,图形会跳来跳去。如果你觉得第一种反应慢,再把口径缩窄到COST(85)/COST(15),也是一种折中。
3.2 用代码识别单峰、双峰和“峰偏离”
要做到形态识别,不能只写一个普通指标,还需要在代码里做条件判断。单峰密集的典型特征有两个:集中度数值小,并且当前价格正好落在成本重心附近。
可以这样写:
CJ:=(COST(90)-COST(10))/(COST(90)+COST(10))*100; 偏离率:=(CLOSE-COST(50))/COST(50)*100; 单峰密集:CJ<18 AND ABS(偏离率)<5;这里把“集中度小于18”和“价格偏离成本重心在正负5%以内”同时满足,视为单峰密集状态。你可以在副图里输出这个条件,会看到横盘整理末期频繁出现这种状态。
双峰结构相对难量化,我一般再看两个条件:集中度明显偏大(比如超过30),同时价格运行在COST(50)附近,说明上套牢、下获利,多空分歧大。多峰则更加复杂,肉眼看一下“山峰”的数量就够了。我的经验是:不要试图用公式把每一种形态都做到完美识别,那会把指标写成俄罗斯方块。
3.3 组合过滤器:低位、密集、放量、突破的叠加使用
单峰密集本身不是一个买入信号,它描述的只是一个状态。真正实战中,我习惯把它和位置、量能、突破结合起来,写成一个组合过滤器:
CJ:=(COST(90)-COST(10))/(COST(90)+COST(10))*100; 低位:=CLOSE<=LLV(LOW,120)*1.2; 密集:=CJ<18; 放量:=VOL>MA(VOL,5)*2; 突破:=CROSS(CLOSE,COST(90)); 组合信号:低位 AND 密集 AND 放量 AND 突破;这里每个条件的含义:
低位:收盘价不高于120日最低点的120%,确保不是在高位追入。密集:筹码集中度小于18,确定当前是单峰密集状态。放量:成交量大于5日均量的2倍,代表资金愿意在这个位置发力。突破:收盘价上穿COST(90),意味着价格突破了绝大多数筹码的套牢区。
利用组合信号,可以把几千万只股票里“低位横盘后又启动”的标的筛出来,缩小复盘范围。它绝不是稳赚买卖点,只是一个把市场状态变得更明朗的过滤器。我建议把它用在选股器里,定期跑一遍,再结合基本面挨个看。
4. 参数优化与周期适配:别让阈值死在一套值上
4.1 COST分位参数怎么选
COST里的分位参数,直接决定了筹码边界的定义。
- COST(5)和COST(95):代表极端边界,容易受到单日脉冲式成交量的干扰。适合看超宽成本区间,但不适合做集中度计算。
- COST(10)和COST(90):最常用的一对,抗噪能力好,集中度公式基本都用这一对。
- COST(50):筹码重心,无论做主图还是做参考线,都建议保留。
- COST(2)和COST(98):几乎接近全部筹码范围,但有时候会把历史残留的零散筹码算进来,图形上显得很“拉胯”。
如果你拿不准选哪一组,我的建议是固定使用90/10组合,连续观察两周,再对比85/15组合的效果,不要同时在一张图上画七八条成本线,那是自己给自己找麻烦。
4.2 日线、周线对筹码指标的影响
通达信公式默认按当前K线周期计算。把同一套筹码源码切到周线,你会发现COST和WINNER取到的是周线换手率重建的筹码分布,形态和日线差别很大。
周线级别的筹码 “记忆” 更长,单峰密集信号出现频率更低,但一旦出现,参考价值更高。我自己的习惯是:日线筹码用于跟踪短线波动,周线筹码用于判断中期底部区域。比如日线出现密集峰但股价还在下跌中继,这时候信号会骗人;而周线出现密集峰,并且价格站上周线COST(50),往往说明中期底部区域已经临近。
4.3 大盘股与小盘股的阈值差异
不同流通盘的票,换手率差异极大,直接套用同一套集中度阈值会出问题。
小盘股换手率普遍高,筹码更新速度快,峰形清晰,集中度阈值可以收紧。我的经验是:流通盘在50亿以下的小票,集中度小于15就算高度集中。大盘股换手率低,历史筹码残留多,峰形较钝,集中度小于22就可能已经是比较集中的状态。如果用15这个值去筛大盘股,大概率什么信号都选不出来。
所以集中度阈值从来不是固定不变的,需要结合流通盘体积做大致调整。一个简单做法是:把集中度公式加上流通盘判断,分档设置阈值。
5. 实战中容易翻车的三个场景
5.1 除权除息后,筹码峰为什么会突然变形
这是最容易踩的坑。除权除息日,股价会形成一个跳空缺口,比如10送10,股价直接从20元变成10元。如果你没有在软件里设置复权,COST和WINNER用原始价格计算,会把除权前的高位筹码全部标记成巨额亏损,筹码分布图上凭空多出一个“假峰”。
实际上除权后大家的持仓成本都等比稀释了,并不存在那么多人被深套。这个问题不是公式写错的,而是数据口径用错了。处理方法很简单:在通达信行情界面上,把“不复权”切换成“前复权”,再使用筹码类指标。如果你写的是选股公式,同样需要先确保软件处于前复权模式。
5.2 次新股的筹码数据为什么不能信
COST和WINNER依赖历史成交量来推演筹码分布,上市时间太短的股票,历史数据量不足以形成稳定的分布模型。我的个人经验是:上市不足120个交易日的股票,筹码峰图形基本没有参考价值,峰形会随着行情跳动剧烈变化,换个周期重新加载,图形都不一样。
有些刚上市新股拉出几根大阳线,筹码峰会在底部形成一个很尖锐的峰,看起来像“低位密集”,其实只是因为可供计算的样本太少。拿这个信号去判断买卖,很容易出错。
5.3 最危险的误用:把筹码状态当成买卖点
网上经常看到类似口诀:“突破筹码峰买入,跌破筹码峰卖出”。听上去干脆利落,实际用起来会很别扭。筹码峰描述的是当前的成本分布状态,它本身没有预测能力。即使你看到单峰密集,这个状态可能已经维持了几个月,什么时候启动,需要别的信号来确认。
我自己的定位是:筹码指标是一个“位置确认工具”,不是“时机信号源”。低位单峰密集,只能说明浮筹清洗比较充分,不代表马上就要拉升,要等价格放量脱离密集区再关注;高位筹码峰密集并伴随股价滞涨,这是一个风险提示,即使价格还在创新高,也要开始警惕。把它当作背景板,结合价量关系使用,要比直接抄代码里的信号可靠得多。
最后再分享一条个人体会。指标源码能告诉你的,从来不是“买还是卖”,而是市场参与者的成本和情绪分布。筹码峰类公式用了几年之后,我最大的变化是不再迷信所谓的“主力成本线”,而是把它当作判断“当前位置还有多少人被套、多少人浮盈”的工具。先看清楚筹码在哪里,再谈交易策略,根基才稳。
本文还有配套的精品资源,点击获取