通达信量学指标公式源码
指标构成与显示逻辑:
1. 成交量柱:主图显示成交量柱(VOLSTICK)。
2. 特殊量能标识:根据特定条件,在成交量柱上叠加不同颜色的细柱进行标识:
倍量(黄色):当日成交量大于等于前一交易日成交量的2倍。
平量(灰色):当日成交量在前一日成交量的97%至103%之间。
低量10(绿色):当日成交量低于过去10日(不含当日)的最低成交量。
低量50(蓝色):当日成交量低于过去50日(不含当日)的最低成交量。
低量100(洋红色):当日成交量低于过去100日(不含当日)的最低成交量。
3. 数值输出(不显示在K线图,仅在公式栏或信息地雷中查看):
换手:计算换手率(成交量/流通股本100)。
几倍:计算成交量相对于前一日的变化倍数。
平量:输出平量条件是否满足(1或0)。
低量10/50/100:输出对应低量条件是否满足(1或0)。
4. 量能异动标记:在成交量柱上方特定位置标记数字或符号:
标记“1”:当日成交量是最近100日的最低量(且已上市超过10个交易日)。
标记“2”:当日成交量小于前一日一半,且不满足“1”的条件。
标记“3”:当日成交量小于前一日三分之二,且不满足“1”和“2”的条件。
标记“!”:当日股价上涨(收盘价高于前一日收盘价)但K线收阴线(收盘价低于开盘价)。
5. 预测成交量:在当日(最新一根K线)显示一个灰色的预测成交量柱,该数值是基于当日已交易时间对全天成交量的估算。
6. 参考线:
百日高量线:一条黄色的虚线,标示最近100个交易日内(可开关控制)的最高成交量水平。在最高量出现的位置有一个黄色圆圈点标记,并在最新K线位置有“高量”文字标注。
三十日低量线:一条绿色的虚线,标示最近30个交易日内的最低成交量水平。
参数设置:
`高量开关`:默认值为10。此参数用于控制“百日高量线”的绘制逻辑。根据代码逻辑,当该参数为1时,会绘制最近100日(不含当日)内的最高量水平线;为其他值时(如默认的10),则可能不绘制或绘制逻辑不同。用户可根据需要调整此参数值(通常调整为1)来启用百日高量线功能。
使用观察点:
通过颜色柱快速识别倍量、平量和多周期低量。
关注成交量柱上方的数字“1”、“2”、“3” 标记,识别极端缩量或量能大幅萎缩的情况。
注意“!”标记,识别价涨量缩或假阴线的异动。
利用百日高量线(黄色虚线)和三十日低量线(绿色虚线)判断当前成交量在整个周期中所处的位置(相对高位或低位)。
观察最新K线的灰色预测量能柱,预判全天成交量大小。
高量开关:=10;
量:VOL,VOLSTICK;
换手:V/CAPITAL*100,COLORRED,NODRAW;
几倍:(V-REF(V,1))/REF(V,1),COLORYELLOW,NODRAW;
平量:IF(V>=REF(V,1)*0.97 AND V<=REF(V,1)*1.03,1,0),COLORGRAY,NODRAW;
低量10:IF(V<REF(LLV(V,10),1),1,0),COLORGREEN,NODRAW;
低量50:IF(V<REF(LLV(V,50),1),1,0),COLORBLUE,NODRAW;
低量100:IF(V<REF(LLV(V,100),1),1,0),COLORFF00FF,NODRAW;
倍量:=V>=REF(V,1)*2;
STICKLINE(倍量 ,V,0,0.01,0),COLORYELLOW ;
STICKLINE(平量,V ,0,0.01,0),COLORGRAY ;
STICKLINE(低量10,V,0,0.01,0),COLORGREEN ;
STICKLINE(低量50,V,0,0.01,0),COLORBLUE ;
STICKLINE(低量100,V,0,0.01,0),COLORFF00FF ;
FF1:=V=LLV(V,100) AND BARSCOUNT(V)>10;
FF2:=V<REF(V,1)/2 AND NOT(FF1);
GG:=IF(C>O,O,C);
GG1:=IF(C>O,C,O);
FF3:=V<REF(V,1)/1.5 AND NOT(FF2) AND NOT(FF1);
DRAWTEXT(FF3,V*0.95,'3'),DRAWABOVE,COLORLIBLUE;
DRAWTEXT(FF2,V*0.95,'2'),DRAWABOVE,COLORLIBLUE;
DRAWTEXT(FF1,V*0.95,'1'),DRAWABOVE,COLORLIBLUE;
DRAWTEXT(FF3,V*0.95,'3'),DRAWABOVE,COLORLIBLUE;
DRAWTEXT(FF2,V*0.95,'2'),DRAWABOVE,COLORLIBLUE;
DRAWTEXT(FF1,V*0.95,'1'),DRAWABOVE,COLORLIBLUE;
AA:=V*0.67;
BB:=V*0.5;
CC:=C<O;
DD:=C>REF(C,1) AND CC;
DRAWTEXT(DD,V*0.95,'!'),DRAWABOVE,COLORLIBLUE;
TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=5,TOTALFZNUM,1)))));
MTIME:=MOD(FROMOPEN,TOTAL);
CTIME:=IF(MTIME<0.5,TOTAL,MTIME);
VVOL:IF((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VOL*(TOTAL+3)/(CTIME+3),DRAWNULL),NODRAW;
STICKLINE((CURRBARSCOUNT=1 AND DYNAINFO(8)>1),VVOL,0,1.8,-1),COLORGRAY;
{百日内高量}
PT100:=CONST(HHVBARS(V,100));
PT0:=CONST(HHVBARS(V,0));
PT:=IF(高量开关=1 AND PT100>=PT0,PT100,DRAWNULL);
TS:IF(CURRBARSCOUNT<=PT+1,CONST(IF(PT=0,V,REF(V,PT))),DRAWNULL),COLORYELLOW,DOTLINE;
IF(CURRBARSCOUNT=PT+1,TS,DRAWNULL),CIRCLEDOT,COLORYELLOW,LINETHICK1;
DRAWTEXT(ISLASTBAR,TS*0.975,' 高量'),COLORYELLOW;
{30日低量}
叁拾日低量:CONST(LLV(V,30)),COLORGREEN,DOTLINE;
来函数检测结果如下:
该公式包含未来函数:CAPITAL
该公式包含未来函数:DYNAINFO
定制、编写公式指标请联系QQ或微信同号:88652583
高量开关赋值:10
输出量:成交量(手),VOLSTICK
输出换手:成交量(手)/当前流通股本(手)*100,画红色,NODRAW
输出几倍:(成交量(手)-1日前的成交量(手))/1日前的成交量(手),画黄色,NODRAW
输出平量:如果成交量(手)>=1日前的成交量(手)*0.97ANDV<=1日前的成交量(手)*1.03,返回1,否则返回0,画深灰色,NODRAW
输出低量10:如果成交量(手)<1日前的10日内成交量(手)的最低值,返回1,否则返回0,画绿色,NODRAW
输出低量50:如果成交量(手)<1日前的50日内成交量(手)的最低值,返回1,否则返回0,画蓝色,NODRAW
输出低量100:如果成交量(手)<1日前的100日内成交量(手)的最低值,返回1,否则返回0,COLORFF00FF,NODRAW
倍量赋值:成交量(手)>=1日前的成交量(手)*2
当满足条件倍量时,在成交量(手)和0位置之间画柱状线,宽度为0.01,0不为0则画空心柱.,画黄色
当满足条件平量时,在成交量(手)和0位置之间画柱状线,宽度为0.01,0不为0则画空心柱.,画深灰色
当满足条件低量10时,在成交量(手)和0位置之间画柱状线,宽度为0.01,0不为0则画空心柱.,画绿色
当满足条件低量50时,在成交量(手)和0位置之间画柱状线,宽度为0.01,0不为0则画空心柱.,画蓝色
当满足条件低量100时,在成交量(手)和0位置之间画柱状线,宽度为0.01,0不为0则画空心柱.,COLORFF00FF
FF1赋值:成交量(手)=100日内成交量(手)的最低值 AND 成交量(手)的有效数据周期数>10
FF2赋值:成交量(手)<1日前的成交量(手)/2 AND 取反
GG赋值:如果收阳线,返回开盘价,否则返回收盘价
GG1赋值:如果收阳线,返回收盘价,否则返回开盘价
FF3赋值:成交量(手)<1日前的成交量(手)/1.5 AND 取反 AND 取反
当满足条件FF3时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
当满足条件FF2时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
当满足条件FF1时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
当满足条件FF3时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
当满足条件FF2时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
当满足条件FF1时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
AA赋值:成交量(手)*0.67
BB赋值:成交量(手)*0.5
CC赋值:收阴线
DD赋值:收盘价>1日前的收盘价 AND CC
当满足条件DD时,在成交量(手)*0.95位置书写文字,显示在位置之上,画淡蓝色
TOTAL赋值:如果周期类型=1,返回5,否则返回如果周期类型=2,返回15,否则返回如果周期类型=3,返回30,否则返回如果周期类型=4,返回60,否则返回如果周期类型=5,返回总分钟数,否则返回1
MTIME赋值:当前离开盘分钟数关于TOTAL的模
CTIME赋值:如果MTIME<0.5,返回TOTAL,否则返回MTIME
输出VVOL:如果(到最后交易的周期=1ANDDYNAINFO(8)>1),返回成交量(手)*(TOTAL+3)/(CTIME+3),否则返回无效数,NODRAW
当满足条件(到最后交易的周期=1ANDDYNAINFO(8)>1)时,在VVOL和0位置之间画柱状线,宽度为1.8,-1不为0则画空心柱.,画深灰色
PT100赋值:100日内成交量(手)距今天数的最后一日取值设为常数
PT0赋值:历史成交量(手)距今天数的最后一日取值设为常数
PT赋值:如果高量开关=1ANDPT100>=PT0,返回PT100,否则返回无效数
输出TS:如果到最后交易的周期<=PT+1,返回如果PT=0,返回成交量(手),否则返回PT日前的成交量(手)的最后一日取值设为常数,否则返回无效数,画黄色,DOTLINE
如果到最后交易的周期=PT+1,返回TS,否则返回无效数,CIRCLEDOT,画黄色,线宽为1
当满足条件是否最后一个周期时,在TS*0.975位置书写文字,画黄色
输出叁拾日低量:30日内成交量(手)的最低值的最后一日取值设为常数,画绿色,DOTLINE