ARTICLE · 1040925
量能筹码综合副图指标,拆量、标筹码(源码)
这个指标是副图,画在成交量上。指标逻辑包含三件:拆量、标筹码、画状态带。柱子按上影、下影和实体哪个量大来上色,蓝偏多、绿偏空。上下还挂着一排小圆点,红点是状态转强,绿点是转弱。顶部那排色块,红和品红算多头占优,绿黄算空头占上风。成交量放大到两三倍,它会单独标个箭头。震荡市里这些点一天能变好几次,别单看一个就动手。
温馨提示
1、更多指标:www.logic88.cn
2、本指标仅作为知识分享。


指 标 源 码
{QS 量能综合副图:成交量立体柱、筹码控盘、主力资金线与多空状态色点}
VOLUME:VOL,VOLSTICK;
{预测全日量:量比乘前一日 5 日均量,只在当日实时数据下有效}
QS_PREDVOL:=IF(DYNAINFO(7)=CLOSE AND DYNAINFO(10)=AMOUNT,MAX(VOL,DYNAINFO(17)*REF(MA(VOL,5),1)),0),NODRAW;
QS_RTRATIO:=IF(ISLASTBAR,QS_PREDVOL/VOL,1),NODRAW;
QS_HSRAW:=HSCOL,NODRAW,COLOR00FF00;
QS_HS5:=SUM(HSCOL,5),NODRAW,COLOR00FFFF;
QS_HS20:=SUM(HSCOL,20),NODRAW,COLORFFFF80;
QS_VR:=VOL/REF(VOL,1),NODRAW,COLORFFFF80;
{量能按价格区间四分:下影、实体下半、上影、实体上半各自分摊的成交量}
QS_TYP:=(HIGH+LOW+CLOSE)/3;
QS_VDIST:=VOL/IF(HIGH=LOW,4,HIGH-LOW);
QS_LOWSH:=QS_VDIST*(MIN(OPEN,CLOSE)-LOW);
QS_BOTBODY:=QS_VDIST*(QS_TYP-MIN(CLOSE,OPEN));
QS_TOPSH:=QS_VDIST*(HIGH-MAX(OPEN,CLOSE));
QS_TOPBODY:=QS_VDIST*(MAX(CLOSE,OPEN)-QS_TYP);
QS_NETPWR:=IF(HIGH=LOW,4*QS_VDIST,((QS_LOWSH+QS_BOTBODY)-(QS_TOPSH+QS_TOPBODY)))/SUM(VOL,10)*100,NODRAW,COLOR80FF00;
QS_PCT1:=(C/REF(C,1)-1)*100;
QS_PCT2:=(C/O-1)*100;
QS_PCTMAX:MAX(QS_PCT1,QS_PCT2),NODRAW,COLOR00FFFF;
QS_LOWMA3:=LLV(MA(LOW,3),3);
QS_HIMA3:=HHV(MA(HIGH,3),3);
QS_N120:=120;
QS_VHH:=HHV(V*QS_RTRATIO,QS_N120);
QS_VLL:=LLV(V,QS_N120);
QS_HHPK:=CONST(QS_VHH);
QS_LLPK:=CONST(QS_VLL);
QS_PIVOT:=QS_HHPK*0.9-(QS_HHPK-QS_LLPK)*0.5;
QS_PIVOT2:=QS_PIVOT;
QS_VMAX:=QS_HHPK;
QS_VMIN:=QS_LLPK;
QS_ZMID:=(QS_VMAX+QS_VMIN)/2;
QS_ZRANGE:=QS_VMAX-QS_VMIN;
QS_ZB0:=(100-0)/2*1.3;
QS_ZB1:=(100-0)/1*1.3;
QS_GRID:=QS_HHPK/120;
{综合强弱线:把量价加权均线做多层平滑后再融合,得到一条节奏线}
QS_SPIRIT:=2*SMA(V*((C+L)/2+(H+C)/2+L)/3,2,1)/SMA(V,2,1)-(3*HHV(SMA(V*((C+L)/2+(H+C)/2+L)/3,2,1)/SMA(V,2,1),2)-2*SMA(V*((C+L)/2+(H+C)/2+L)/3,2,1)/SMA(V,2,1));
QS_ODD:=(2*QS_SPIRIT+EMA((2*(C+L)/2+(H+C)/2+L+O)/5,2)+2*((EMA((C*2+H+L+O)/5,5)+MA((C*2+H+L+O)/5,13)+MA((C*2+H+L+O)/5,21))/3)+((EMA
((C*2+H+L+O)/5,13)+MA((C*2+H+L+O)/5,21)+MA((C*2+H+L+O)/5,34))/3)+((EMA((C*2+H+L+O)/5,21)+MA((C*2+H+L+O)/5,34)+MA((C*2+H+L+O)/5,55))/3))/7;
QS_CLRDIR:=(FORCAST(HHV((C+L)/2,1),21)+(EMA(((C+L)/2+L+(H+C)/2)/3,55)-(C-EMA(((C+L)/2+L+(H+C)/2)/3,55))))/2;
QS_SAFEBUY:=(((C+L)/2+(H+C)/2+L)/3+(3*(C+H+L+(O+C+L)/3)/4-2*(C+L)/2))/2;
QS_STRONG:=(EMA((QS_CLRDIR+3*((EMA(QS_SAFEBUY,5)*5+QS_CLRDIR)/6+((EMA(QS_ODD,5)+EMA(QS_ODD,8)+EMA(QS_ODD,13))/3))/2)/4,3)/3),POINTDOT,COLOR00FFFF;
QS_VERIFY:=((((C+L)/2-LLV(L,24))/(HHV((H+C)/2,24)-LLV(L,24))*1.1*(C+L)/2));
QS_SMOKE:=EMA((2*(5*((EMA((2*C+L)/3,2)-EMA((2*C+H)/3,5))
-EMA((EMA((2*C+L)/3,2)-EMA((2*C+H)/3,5)),21)))
+(((C*2+H)/3+(C*2+H)/3)/2)+EMA(QS_VERIFY,2))/4,2),COLOR555555;
QS_TSCALE:=IF(ISLASTBAR,IF(FROMOPEN>60,IF(FROMOPEN-INTPART(FROMOPEN/60)*60=0,1,
60/(FROMOPEN-INTPART(FROMOPEN/60)*60)),60/FROMOPEN),1);
QS_AVGPX:=(H+L+C)/3;
QS_SHUP:=IF(H=L,1,H-MAX(O,C));
QS_BODYUP:=IF(H=L,1,MAX(C,O)-QS_AVGPX);
QS_SHDN:=IF(H=L,1,MIN(O,C)-L);
QS_BODYDN:=IF(H=L,1,QS_AVGPX-MIN(C,O));
QS_VPERR:=VOL/IF(H=L,4,H-L);
QS_SHUPQ:=(QS_SHUP*QS_VPERR);
QS_BODYUPQ:=(QS_BODYUP*QS_VPERR);
QS_SHDNQ:=(QS_SHDN*QS_VPERR);
QS_BODYDNQ:=(QS_BODYDN*QS_VPERR);
{内外盘估算:实时行情直接取 DYNAINFO,盘中改用影线与实体的量能比例分摊}
QS_OUTRT:=DYNAINFO(23)*QS_RTRATIO;
QS_INRT:=DYNAINFO(22)*QS_RTRATIO;
QS_OUTPX:=IF(ISLASTBAR AND C>300,(QS_BODYDNQ+QS_SHDNQ)*QS_RTRATIO,(QS_BODYDNQ+QS_SHDNQ));
QS_INPX:=IF(ISLASTBAR AND C>300,(QS_SHUPQ+QS_BODYUPQ)*QS_RTRATIO,(QS_SHUPQ+QS_BODYUPQ));
QS_OUTVOL:=IF(ISLASTBAR AND PERIOD=5 AND C<300,QS_OUTRT,QS_OUTPX);
QS_INVOL:=IF(ISLASTBAR AND PERIOD=5 AND C<300,QS_INRT,QS_INPX);
QS_VOLSPLIT:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN));
{主动买卖盘:阳线取整根振幅、阴线取影线比例分摊,净流为两者之差}
QS_BUYVOL:=IF(CLOSE>OPEN,QS_VOLSPLIT*(HIGH-LOW),IF(CLOSE<OPEN,QS_VOLSPLIT*((HIGH-OPEN)+(CLOSE-LOW)),VOL /2)),POINTDOT,COLORRED;
QS_SELLVOL:=IF(CLOSE>OPEN,0-QS_VOLSPLIT*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,0-QS_VOLSPLIT*(HIGH-LOW),0-VOL /2)),LINETHICK0,COLORGREEN;
净流:QS_BUYVOL-QS_SELLVOL,NODRAW,COLOR4080FF;
VOL,VOLSTICK;
{筹码集中度:获利盘与浮动盘之比,用来观察主力控盘程度}
QS_CHIP70:=EMA(WINNER(CLOSE)*70,3);
QS_FLOAT80:=EMA((WINNER(CLOSE*1.1)-WINNER(CLOSE*0.9))*80,3);
QS_CTRL:=QS_CHIP70/(QS_CHIP70+QS_FLOAT80);
QS_CTRLMA:=EMA(QS_CTRL,89);
QS_LN1:=EMA((O+H+L)/3,4),COLORWHITE,NODRAW;
QS_LN2:=EMA(C+(H-L)*0.618,3),COLORYELLOW,NODRAW;
{多空关键价位:由 4 日均价与它 0.618 倍偏移推导出来的六条参考线}
QS_KEY1:=QS_LN2+(QS_LN2-QS_LN1)*0.618,NODRAW,COLORWHITE;
QS_KEY2:=EMA((O+H+L)/3,4)+((H+L)/2-REF((O+H+L)/3,3))/4,NODRAW;
QS_KEY3:=MA(REF(QS_KEY1,1),1)*1,COLORLIMAGENTA,NODRAW;
QS_KEY4:=REF(QS_KEY2,1),COLORLIMAGENTA,NODRAW;
QS_KEY5:=MA(REF(QS_LN2,1),1)*1,COLORLIMAGENTA,NODRAW;
QS_KEY6:=REF(QS_LN1,1),COLORLIMAGENTA,NODRAW;
STICKLINE(1,QS_VMAX,QS_VMAX*0.96,5,0),COLORGREEN;
STICKLINE(QS_KEY1>QS_KEY3,QS_VMAX,QS_VMAX*0.96,5,0),COLORRED;
STICKLINE(1,QS_VMAX*0.98,QS_VMAX*0.98,5,0),COLORWHITE;
STICKLINE(1,QS_VMAX*0.93,QS_VMAX*0.89,5,0),COLORRED;
STICKLINE(QS_KEY2<=QS_KEY4,QS_VMAX*0.93,QS_VMAX*0.89,5,0),COLORGREEN;
STICKLINE(1,QS_VMAX*0.91,QS_VMAX*0.91,5,0),COLORWHITE;
{操作段色块:按六条关键价位的关系,在成交量顶部画出多空状态带}
QS_OPSEG1:STICKLINE(QS_KEY1>(QS_KEY3) AND C>QS_KEY2 OR QS_KEY2>QS_KEY4,QS_VMAX*0.82,QS_VMAX*0.86,5,0),COLORRED;
QS_OPSEG2:STICKLINE(C>QS_KEY2 AND QS_KEY1>QS_KEY3,QS_VMAX*0.82,QS_VMAX*0.86,5,0),COLORMAGENTA;
QS_OPSEG3:STICKLINE(QS_KEY1<QS_KEY3 AND QS_KEY2>QS_KEY4,QS_VMAX*0.82,QS_VMAX*0.86,5,0),COLORYELLOW;
STICKLINE(QS_KEY1>(QS_KEY3) AND C>QS_KEY2 OR QS_KEY2>QS_KEY4 OR C>QS_KEY2 AND QS_KEY1>QS_KEY3,QS_VMAX*0.84,QS_VMAX*0.84,5,0),COLORWHITE;
IF(QS_CTRLMA<REF(QS_CTRLMA,1),-35*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_CTRLMA>REF(QS_CTRLMA,1),-35*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
IF(QS_SMOKE<QS_STRONG,-5*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_SMOKE>=QS_STRONG,-5*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
IF(QS_SMOKE>= REF(QS_SMOKE,1),-11*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
IF(QS_SMOKE< REF(QS_SMOKE,1),-11*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_PCTMAX<0,-17*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_PCTMAX>0,-17*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
IF(QS_NETPWR<0,-23*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_NETPWR>0,-23*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
{个股资金线:收盘价相对 18 日前价位的位置,再取 20 日预测值的均线做参照}
QS_FUNDLINE:=MA(C,1)/MA(REF(C,18),18)*100;
QS_FUNDMA:=MA(FORCAST(QS_FUNDLINE,20),6);
QS_MAINUP:QS_FUNDLINE>QS_FUNDMA,COLOR000000,STICK,LINETHICK1;
IF(QS_MAINUP<=0,-29*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_MAINUP>0,-29*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
QS_CLOSEPX:=CLOSE;
QS_POSR:=(QS_CLOSEPX-LOW+0.01)/(HIGH-LOW+0.01);
QS_D120:=IF(BARSSINCE(CLOSE>0)<120,BARSSINCE(CLOSE>0),120);
QS_D90:=IF(BARSSINCE(CLOSE>0)<90,BARSSINCE(CLOSE>0),90);
QS_D55:=IF(BARSSINCE(CLOSE>0)<55,BARSSINCE(CLOSE>0),55);
QS_D34:=IF(BARSSINCE(CLOSE>0)<34,BARSSINCE(CLOSE>0),34);
{筹码获利比例:按 120/90/55/34 日成交量加权后取均值,再放大到 800 的刻度}
QS_CHIPA:=(DMA(QS_POSR,VOL/(MA(VOL,QS_D120)*QS_D120))+DMA(QS_POSR,VOL/(MA(VOL,QS_D90)*QS_D90))+DMA(QS_POSR,VOL/(MA(VOL,QS_D55)*QS_D55))+DMA(QS_POSR,VOL/(MA(VOL,QS_D34)*QS_D34)))/4*800;
QS_NBAR:=IF(PERIOD=5,240,IF(PERIOD=6,360,240));
QS_CHIPC:=(QS_CHIPA-LLV(QS_CHIPA,QS_NBAR))*100/(HHV(QS_CHIPA,QS_NBAR)-LLV(QS_CHIPA,QS_NBAR));
QS_CHIPB:=WINNER(CLOSE)*100;
QS_CHIPV:=IF(QS_CHIPB>0,QS_CHIPB,DRAWNULL);
QS_CHIP:=IF(QS_CHIPV=DRAWNULL,QS_CHIPC,QS_CHIPB);
QS_CHIPMA:EMA(QS_CHIP,3),COLORYELLOW;
QS_CHIPD:=QS_CHIPMA-REF(QS_CHIPMA,1);
IF(QS_CHIPD<0,-35*QS_GRID,DRAWNULL),CIRCLEDOT,COLOR00FF00,LINETHICK1;
IF(QS_CHIPD>0,-35*QS_GRID,DRAWNULL),CIRCLEDOT,COLORRED,LINETHICK1;
{影线与实体的量能拆分:用振幅把成交量摊到上下影线与实体上,看多空力量分布}
QS_HL:=(HIGH - LOW);
QS_BODYABS:=ABS((OPEN - CLOSE));
QS_UPSHADOW:=(HIGH - IF((CLOSE > OPEN),CLOSE,OPEN));
QS_DNSHADOW:=(IF((CLOSE > OPEN),OPEN,CLOSE) - LOW);
QS_BODYVOL:=((QS_BODYABS / QS_HL) * VOL);
QS_UPVOL:=((QS_UPSHADOW / QS_HL) * VOL);
QS_DNVOL:=((QS_DNSHADOW / QS_HL) * VOL);
QS_TURN1:=IF(((VOL / CAPITAL) > 0.001),1,EXP(ABS(LOG(((VOL / CAPITAL) * 100)))));
STICKLINE((CLOSE > MA(CLOSE,30)),0,VOL,3,0),COLOR000088;
STICKLINE((CLOSE > MA(CLOSE,30)),0,VOL,2,0),COLOR0000AA;
STICKLINE((CLOSE > MA(CLOSE,30)),0,VOL,1,0),COLOR0000DD;
STICKLINE((CLOSE > MA(CLOSE,30)),0,VOL,0.5,0),COLOR0000FF;
STICKLINE((CLOSE < MA(CLOSE,30)),0,VOL,3,0),COLOR008800;
STICKLINE((CLOSE < MA(CLOSE,30)),0,VOL,2,0),COLOR00AA00;
STICKLINE((CLOSE < MA(CLOSE,30)),0,VOL,1,0),COLOR00DD00;
STICKLINE((CLOSE < MA(CLOSE,30)),0,VOL,0.5,0),COLOR00FF00;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE > OPEN)),0,QS_BODYVOL,3,0),COLOR880088;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE > OPEN)),0,QS_BODYVOL,2,0),COLORAA00AA;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE > OPEN)),0,QS_BODYVOL,1,0),COLORDD00DD;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE > OPEN)),0,QS_BODYVOL,0.5,0),COLORFF00FF;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE < OPEN)),0,QS_BODYVOL,3,0),COLOR880000;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE < OPEN)),0,QS_BODYVOL,2,0),COLORBB0000;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE < OPEN)),0,QS_BODYVOL,1,0),COLORDD0000;
STICKLINE((((QS_BODYVOL >= QS_UPVOL) AND (QS_BODYVOL >= QS_DNVOL))
AND (CLOSE < OPEN)),0,QS_BODYVOL,0.5,0),COLORFF0000;
STICKLINE(((QS_DNVOL > QS_BODYVOL) AND (QS_DNVOL > QS_UPVOL)),0,QS_DNVOL,3,0),COLOR999999;
STICKLINE(((QS_DNVOL > QS_BODYVOL) AND (QS_DNVOL > QS_UPVOL)),0,QS_DNVOL,2,0),COLORAAAAAA;
STICKLINE(((QS_DNVOL > QS_BODYVOL) AND (QS_DNVOL > QS_UPVOL)),0,QS_DNVOL,1,0),COLORDDDDDD;
STICKLINE(((QS_DNVOL > QS_BODYVOL) AND (QS_DNVOL > QS_UPVOL)),0,QS_DNVOL,0.6,0),COLORFFFFFF;
STICKLINE(((QS_UPVOL > QS_BODYVOL) AND (QS_UPVOL > QS_DNVOL)),0,QS_UPVOL,3,0),COLOR008888;
STICKLINE(((QS_UPVOL > QS_BODYVOL) AND (QS_UPVOL > QS_DNVOL)),0,QS_UPVOL,2,0),COLOR00AAAA;
STICKLINE(((QS_UPVOL > QS_BODYVOL) AND (QS_UPVOL > QS_DNVOL)),0,QS_UPVOL,1,0),COLOR00DDDD;
STICKLINE(((QS_UPVOL > QS_BODYVOL) AND (QS_UPVOL > QS_DNVOL)),0,QS_UPVOL,0.5,0),COLOR00FFFF;
QS_DRYUP:=(QS_OUTVOL+QS_INVOL)<MA(V,60)/3 ;
QS_SHRINK:=MA(V,5)/2>V AND V>QS_DRYUP;
((80-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLORCCCCCC,LINETHICK1,DOTLINE;
((50-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLORCCCCCC,LINETHICK1,DOTLINE;
((20-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLORCCCCCC,LINETHICK1,DOTLINE;
((10-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLORCCCCCC,LINETHICK1;
QS_RSV4:=(EMA((CLOSE-QS_LOWMA3)/(QS_HIMA3-QS_LOWMA3)*100,4)-50)*0.5+50;
QS_RSVMA:=EMA(0.667*REF(QS_RSV4,1)+0.333*QS_RSV4,2);
QS_KDJV:=3*QS_RSV4-2*QS_RSVMA;
((QS_RSV4-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLORFFF111,LINETHICK1;
((QS_RSVMA-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLOR00FF00,LINETHICK1;
((QS_KDJV-QS_ZB0)*QS_ZRANGE/QS_ZB1+QS_ZMID),COLORFF00FF,LINETHICK1;
DRAWICON(V>=3*REF(V,1) AND O<C,V*1.1,23);
DRAWICON(V>=2*REF(V,1) AND O<C,V*0.8,25);