[ZD261011]筹码峰指标主图-通达信指标源码分享

01 把最高到最低,切成十层量
都说看筹码峰,可你知道这峰是怎么堆出来的吗?把一段时间的最高价到最低价,用对数切成十层,每层堆成交量,堆得高的地方就是峰。筹码峰指标主图干的就是这活儿,不玄。
切法有讲究,先看它怎么落子:
速查卡(五秒扫完,名称 + 一句话作用)——十层切片,挑要紧的认:
对数分割最高最低切十层 | 每层量各层堆多少成交 |
峰值线量堆得高的那层 | 均线四根5/10/30/60 参照 |
02 指标源码分享|筹码峰指标主图

指标编号:ZD261011
完整指标源码:
DA1:=IF(130>TOTALBARSCOUNT,TOTALBARSCOUNT,130);DA:=IF(CURRBARSCOUNT>DA1,0,DA1);HI:=REFDATE(HHV(H,DA),DATE);LO:=REFDATE(LLV(L,DA),DATE);C1:=IF(CURRBARSCOUNT<=DA,C,DRAWNULL);GZ:=EXP(LN(HI/LO)/10);LH1:=SUM(IF(C1>=(HI/GZ),V,0),DA);LH2:=SUM(IF(C1>=(HI/POW(GZ,2))ANDC1<(HI/GZ),V,0),DA);LH3:=SUM(IF(C1>=(HI/POW(GZ,3))ANDC1<(HI/POW(GZ,2)),V,0),DA);LH4:=SUM(IF(C1>=(HI/POW(GZ,4))ANDC1<(HI/POW(GZ,3)),V,0),DA);LH5:=SUM(IF(C1>=(HI/POW(GZ,5))ANDC1<(HI/POW(GZ,4)),V,0),DA);LH6:=SUM(IF(C1>=(HI/POW(GZ,6))ANDC1<(HI/POW(GZ,5)),V,0),DA);LH7:=SUM(IF(C1>=(HI/POW(GZ,7))ANDC1<(HI/POW(GZ,6)),V,0),DA);LH8:=SUM(IF(C1>=(HI/POW(GZ,8))ANDC1<(HI/POW(GZ,7)),V,0),DA);LH9:=SUM(IF(C1>=(LO*GZ)ANDC1<LO*POW(GZ,2),V,0),DA);LH10:=SUM(IF(C1>=LOANDC1<LO*GZ,V,0),DA);L1:=REFDATE(HHV(LH1,DA),DATE),LINETHICK0;L2:=REFDATE(HHV(LH2,DA),DATE),LINETHICK0;L3:=REFDATE(HHV(LH3,DA),DATE),LINETHICK0;L4:=REFDATE(HHV(LH4,DA),DATE);L5:=REFDATE(HHV(LH5,DA),DATE);L6:=REFDATE(HHV(LH6,DA),DATE);L7:=REFDATE(HHV(LH7,DA),DATE);L8:=REFDATE(HHV(LH8,DA),DATE);L9:=REFDATE(HHV(LH9,DA),DATE);L10:=REFDATE(HHV(LH10,DA),DATE);SS:=(L1+L2+L3+L4+L5+L6+L7+L8+L9+L10);STICKLINE(CEILING(DA*L1/SS)*3>=CURRBARSCOUNT,HI*99/100,HI/GZ,9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L2/SS)*3>=CURRBARSCOUNT,HI/POW(GZ,1)*99/100,HI/POW(GZ,2),9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L3/SS)*3>=CURRBARSCOUNT,HI/POW(GZ,2)*99/100,HI/POW(GZ,3),9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L4/SS)*3>=CURRBARSCOUNT,HI/POW(GZ,3)*99/100,HI/POW(GZ,4),9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L5/SS)*3>=CURRBARSCOUNT,HI/POW(GZ,4)*99/100,HI/POW(GZ,5),9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L6/SS)*3>=CURRBARSCOUNT,HI/POW(GZ,5)*99/100,HI/POW(GZ,6),9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L7/SS)*3>=CURRBARSCOUNT,HI/POW(GZ,6)*99/100,HI/POW(GZ,7),9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L8/SS)*3>=CURRBARSCOUNT,LO*POW(GZ,2),LO*POW(GZ,3)*99/100,9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L9/SS)*3>=CURRBARSCOUNT,LO*POW(GZ,1),LO*POW(GZ,2)*99/100,9,0)COLOR3C3C3A,LINETHICK3;STICKLINE(CEILING(DA*L10/SS)*3>=CURRBARSCOUNT,LO,LO*POW(GZ,1)*99/100,9,0)COLOR3C3C3A,LINETHICK3;DRAWKLINE(H,O,L,C);MA1:MA(CLOSE,5);MA2:MA(CLOSE,10);MA3:MA(CLOSE,30);MA4:MA(CLOSE,60);VAR3:=LLV(HIGH,240);VAR4:=100*(CLOSE-VAR3)/VAR3;VAR5:=(CLOSE-LLV(LOW,528))/(HHV(HIGH,528)-LLV(LOW,528))*100;VAR6:=(CLOSE-LLV(CLOSE,530))/(HHV(CLOSE,530)-LLV(CLOSE,530))*100;VAR7:=0;VAR8:=SMA(MAX(CLOSE-REF(CLOSE,1),0),34,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),7,1)*100;VAR9:=SMA(MAX(CLOSE-REF(CLOSE,1),0),13,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),13,1)*100;VAR10:=IF(TROUGHBARS(3,16,1)=0ANDHIGH>LOW+0.04,4,0);VAR11:=ZIG(3,6)>REF(ZIG(3,6),1)ANDREF(ZIG(3,6),1)<=REF(ZIG(3,6),2)ANDREF(ZIG(3,6),2)<=REF(ZIG(3,6),3);VAR12:=ZIG(3,6)<REF(ZIG(3,6),1)ANDREF(ZIG(3,6),1)>=REF(ZIG(3,6),2)ANDREF(ZIG(3,6),2)>=REF(ZIG(3,6),3);VAR13:=ZIG(3,22)>REF(ZIG(3,22),1)ANDREF(ZIG(3,22),1)<=REF(ZIG(3,22),2)ANDREF(ZIG(3,22),2)<=REF(ZIG(3,22),3);VAR14:=ZIG(3,22)<REF(ZIG(3,22),1)ANDREF(ZIG(3,22),1)>=REF(ZIG(3,22),2)ANDREF(ZIG(3,22),2)>=REF(ZIG(3,22),3);VAR15:=ZIG(3,51)>REF(ZIG(3,51),1)ANDREF(ZIG(3,51),1)<=REF(ZIG(3,51),2)ANDREF(ZIG(3,51),2)<=REF(ZIG(3,51),3);VAR16:=ZIG(3,51)<REF(ZIG(3,51),1)ANDREF(ZIG(3,51),1)>=REF(ZIG(3,51),2)ANDREF(ZIG(3,51),2)>=REF(ZIG(3,51),3);VAR17:=ZIG(3,72)>REF(ZIG(3,72),1)ANDREF(ZIG(3,72),1)<=REF(ZIG(3,72),2)ANDREF(ZIG(3,72),2)<=REF(ZIG(3,72),3);VAR18:=ZIG(3,72)<REF(ZIG(3,72),1)ANDREF(ZIG(3,72),1)>=REF(ZIG(3,72),2)ANDREF(ZIG(3,72),2)>=REF(ZIG(3,72),3);VAR19:=EMA(CLOSE,2)-EMA(CLOSE,150);强1:=VAR10;强2:=(VAR11+VAR13+VAR15+VAR17);弱1:=(VAR12+VAR14+VAR16+VAR18);B:IF(强1>0OR强2>0,LOW*0.99,DRAWNULL),CROSSDOT,LINETHICK3,COLORYELLOW;DRAWTEXT(强1>0OR强2>0,LOW*0.99,'信号位'),COLORRED;S:IF(弱1>0,HIGH*1.01,DRAWNULL),CROSSDOT,LINETHICK3,COLORGREEN;DRAWTEXT(弱1>0,HIGH*1.02,'高位区'),COLORGREEN;VAR100:=(100-((90*(HHV(HIGH,20)-CLOSE))/(HHV(HIGH,20)-LLV(LOW,20))));VAR200:=(100-((90*(HHV(HIGH,20)-CLOSE))/(HHV(HIGH,20)-LLV(LOW,20))));VAR300:=(100-MA(((100*(HHV(HIGH,5)-CLOSE))/(HHV(HIGH,5)-LLV(LOW,5))),34));F:IF(CROSS(VAR200,MA(VAR300,5)),LOW*0.98,DRAWNULL),CROSSDOT,LINETHICK3,COLOREE00EE;年:MA(CLOSE,22),LINETHICK2,COLORWHITE;
顺手把 #筹码峰指标# 钉一下,平时跟 #筹码分布# #主图# 绑一块儿聊,都是看量堆在哪的路子。
03 对数等分十层,量一堆成峰
先看那把刀,GZ 一句,定的是每层多宽:
GZ:=EXP(LN(HI/LO)/10);
HI 是这区间最高,LO 是最低,HI 除以 LO 再开十次方,就是每层的高度。为啥用对数?价格越低,一分钱含金量越高,算术等分会在低价区挤成一坨,对数等分才均匀。我对筹码这东西,就信对数,不信算术。
切好了,开始数每一层的量,头一层是 LH1:
LH1:=SUM(IF(C1>=(HI/GZ),V,0),DA);
C1 是当天的收盘,落在哪一层,就把这天的成交量 V 记到哪层的账上。它收最高那一层的量,从 LH2 往下到 LH10,十层各记各的。一天一天的成交,全按价格归位,堆起来就是峰的雏形。
LH1 | LH2 | LH3 | LH4 | LH5 |
LH6 | LH7 | LH8 | LH9 | LH10 |
这指标贴心的地方在末尾,L1 到 L10 各自 REFDATE 一下,把历史峰值也拉齐了,SS 把十层加一块儿做底:
SS:=(L1+L2+L3+L4+L5+L6+L7+L8+L9+L10);
每层量除以总量,等于这一层占总成交的份额。份额大的层,STICKLINE 就画得长,尖尖的峰就出来了。峰的长度怎么定的?那句 CEILING(DA*L1/SS)*3,把份额乘上天数再放大三倍,层占得多画得就长,峰尖自然冒出来。我试过把十层改成八层,峰太钝,边角磨平了不好看,又改回十层。
10 层HI 到 LO 开十次方,十层等分,一层一账本
MA 那四根均线是后加的参照线,跟峰没关系,5/10/30/60 各管各的,用来搭个价格骨架。VAR5 那句算的是价格在两年多区间里的位置,分母是 528 天的高低差——250 天一年,528 差不多两年,取一年太短框不住大峰,取三年太长又磨得没脾气,两年卡中间。那两行 VAR3 和 VAR4 找 240 天最高,再算收盘离它多远,一个长周期参照,跟十层峰各干各的。对了,说个题外的,天 那句 BARSLAST(L=DD),记的是最低点离现在隔了几根K线,DRAWTEXT 拿它标位置,就是个计数器。后面那堆 ZIG 信号是另一套逻辑,跟筹码峰各说各话,别混着看。
