股票软件的技术指标公式共有15个小类,上一节已经对01_大势型和02_超买超卖型进行了学习和实践,有效的拓宽了自己的知识面,同时也发现了其实很多指标是类似的,它们或许分子计算不同,有没有做成百分比,或者用到的平均线不同,于是产生了很多的指标公式,归纳下来很多本质上是相同或一致的,可以用一个去替代另一个,也可以只使用其中的某一个等。
这一节继续技术指标公式的学习和实践。
03_均线型指标公式实践
从顺序上,趋势型排第3,能量型、成交量型排第4,第5,均线型是在第6个。不过均线型往往是其他指标公式的基础,这里就先把基础的部分先熟悉一下,否则直接上趋势型指标公式总觉得有些晦涩难懂。
如上图,均线型内置指标公式有MA,MA2,ACD,BBI,EXPMA......
JX01_MA
这个指标只是简单的8条移动平均线,参数分别是5,10,20,60,后面默认为0可以自定义。
MA1:MA(CLOSE,M1);
MA2:MA(CLOSE,M2);
MA3:MA(CLOSE,M3);
MA4:MA(CLOSE,M4);
MA5:MA(CLOSE,M5);
MA6:MA(CLOSE,M6);
MA7:MA(CLOSE,M7);
MA8:MA(CLOSE,M8);
MA2是在MA的8条的基础上,多加了2条变成10条,默认周期增加了120和250,如果以每周5天交易日计算,则分别代表1周,2周,月,季,半年和年线。
JX02_ACD升降线指标公式
ACD升降线是一种技术分析指标,它通过分析股票或期货市场中的开盘价、最高价和最低价来预测市场的走势。ACD指标的全称是Accumulation Distribution Line,即累积/分布线,用来衡量市场的买盘和卖盘力量。
M:=20;
LC:=REF(CLOSE,1);
DIF:=CLOSE-IF(CLOSE>LC,MIN(LOW,LC),MAX(HIGH,LC));
ACD:SUM(IF(CLOSE=LC,0,DIF),0);
MAACD:EXPMEMA(ACD,M);
根据指标公式,定义了昨日收盘价LC,然后出现了一个条件参数,这个参数判断今收是否大于昨收,如果是则上涨取昨收和今天的最低值的最小值,否则取昨收和今天最高值的最大值,我们把这个参数设为C1,则C1的连线其实就是上涨或阳线取最低值,下跌或阴线取最高值,示意图如下
从图中可知,C1与收盘价连线恰好反向的,而CLOSE-C1在阳线时为正相当于从最低值到收盘上涨的力量,而在阴线时为负,相当于从最高价跌到收盘的力量,再进行SUM累加,就变成了阶段上涨或下跌的力量累加,如果值为正则上涨力量大,即买盘力量强。
- 判断市场趋势:ACD指标可以通过计算市场的走势来判断价格的趋势。如果ACD指标呈现上升趋势,说明市场存在上涨的动力,可以考虑买入股票;如果ACD指标呈现下降趋势,说明市场存在下跌的动力,可以考虑卖出股票。
- 确定买卖点位:ACD指标可以根据其数值的变化来确定买入和卖出的点位。当ACD指标的数值大于一定阈值时,可以考虑买入股票;当ACD指标的数值小于一定阈值时,可以考虑卖出股票。
- 结合均线系统:ACD指标的应用可以和均线系统结合使用,当ACD线上升而股价下降时,为买进信号;ACD线下降而股价上升时,为卖出信号。
- 穿越均线的信号:如果ACD指标向上穿越20日线,可以视为买点;ACD指标向下穿过20日线,则是卖出位置。
根据网上的策略介绍,ACD至少有几种应用策略,其中一个就是ACD和自身平均线的双均线关系策略,这种就是最简单的交叉闭环策略,通过金叉买入和死叉卖出实现,我们仔细观察ACD的交叉点信号,与KAMA的红绿线信号进行对比,不难发现ACD交叉策略与KAMA的买入卖出信号基本一致,有时ACD会提前1天出现比如下图的十字坐标位置,而有时会晚一天出现比如下图最左侧的第2次金叉,但总的情况似乎差不多。
另一个策略是再提前一些,像backtrader加速度振荡器那样的连续两根上涨则触发买入,连续2根下跌则触发卖出,但这种策略会比较频繁,没有闭环,由下图看,有些时候连续2根上涨接着就是下跌(这里即使是交叉策略也会触发),成功率可能会更低一些。
再一个策略是参考MACD的红绿柱状线,也可以把ACD和MAACD的差值绘制成红绿柱状线,并再次计算它的指数移动平均线,当红线超过一定数值且穿出移动平均线时变成超买需要卖出,反之当绿柱低于一定数值并穿出平均线时为超卖,这里是一个比较好的入场点,从而赚取比双均线交叉策略更多的超额收益。观察下图K线,其实经常会走出涨跌抵消走势,如果超短线每次在红柱穿出时卖出,再回到EMA9或MA5的位置买回,就会获取不菲的收益,但是这样操作也很容易出现卖飞的情况(没有回踩MA5),而且最后一次一定是会错的(MA5买回但股价向下砸穿)。说的好听一点这个真的是看运气的,节奏踩准了还好,节奏没踩对就会拍断大腿。
在ACD的超买超卖策略上,数值是无法直接给出限值的,因为ACD的数值取值范围是根据股价来的,1元的ETF和100元的股票其数值差别非常大,对于有限的某几支股票而言,可以针对每一支的前期的ACD红绿柱的情况划出直线来指示。
当然也可以用归一化把它做成百分比的形式,这些拓展大家有兴趣可以自己研究,这里就先点到为止了。从ACD升降线指标我们可以看到不能机械的把系统给你的双均线就只当做金叉死叉应用,某些指标公式的设计真的很巧妙,但需要理解它并进行一些简单的拓展。ACD的策略后续移植到backtrader 中可以回测一下。
JX03_BBI多空均线指标
BBI多空均线指标,也称为多空指数(Bull and Bear Index),是一种基于移动平均线的技术指标。它通过将不同周期的移动平均线加权平均,以反映多头和空头市场的强度。
该指标与均线指标相同,是一种将不同日数移动平均线加权平均之后的综合指标,属于均线型指标,本质上是对MA均线系统的一种改进。
BBI中的第一个B是Bull,第二个B是Bear,所以这种出现牛和熊的英文的指标铁定是国内研发的指标。首先看一下BBI的公式
M1:=3;
M2:=6;
M3:=12;
M4:=24;
BBI:(MA(CLOSE,M1)+MA(CLOSE,M2)+MA(CLOSE,M3)+MA(CLOSE,M4))/4;
看到BBI的公式其实就是四条平均线再平均,这个的设计思路与前面超买超卖指标中的UDL引力线指标是完全一致的。只是在参数上稍微有点差别,它把UDL的3,5,10,20改成了3,6,12,24。
N1:=3;
N2:=5;
N3:=10;
N4:=20;
UDL:(MA(CLOSE,N1)+MA(CLOSE,N2)+MA(CLOSE,N3)+MA(CLOSE,N4))/4;
MAUDL:MA(UDL,M);
我们把BBI和UDL默认参数放到一起进行对比,不难看出这两条线的趋势几乎是一致的,在上涨和下跌的阶段中,它们都指示了多空的方向,只有要震荡区间时,两条线会有一定的分开,BBI的后3个参数都稍大一些,自然更慢。或许有的时候某些股票的K线恰好跌破了UDL而在BBI获得支撑。
前面在UDL的时候,我们通过使用EMA进行拟合,发现EMA9与UDL基本一致,那么在这里我们仍然可以用EMAx跟BBI进行拟合,根据BBI的参数 3+6+12+24 = 45 /4 = 11.xxx,当我们使用EMA11时,大部分的线与BBI还是基本重合的,某些震荡的区间还是有一些小差别,当然如果在意的话就继续使用BBI不要用EMA11/12的线就可以了。
对于BBI的应用,基本上就是网上总结的这些:
- 判断市场趋势:股价位于BBI上方,视为多头市场;股价位于BBI下方,视为空头市场。
- 买卖信号:股价在高价区以收盘价向下跌破BBI为卖出信号;股价在低价区以收盘价向上突破BBI为买入信号。
- 支撑与阻力:上升回档时,BBI为支持线,可以发挥支撑作用;下跌反弹时,BBI为压力线,可以发挥阻力作用。
JX04_EXPMA指数平均线指标
所谓EXPMA就是指数Exp和平均MA两个词的组合,即指数移动平均线。
EXPMA指数平均线指标(Exponential Moving Average),简称EMA,是一种常用的技术分析指标,主要用于平滑价格数据,以反映价格趋势。
EXPMA是利用快线和慢线的上下交叉信号,来研究判断行情的买卖时机,所以也可称“趋向型指标”,由于该指标属于平均线指标,如果是喜欢做短线的投资者,就可以将指标的参数设置为小一点,而作为一个中线投资者,就根本没有必要修改参数。EXPMA指标称为操盘线,其中12是快线,50是慢线,当12向上交叉50的时候,中线行情才能开始,当12向下交叉50的时候,中线跌势已经成立。
M1:=12;
M2:=50;
EXP1:EMA(CLOSE,M1);
EXP2:EMA(CLOSE,M2);
在这个指标公式的应用上,流传着各式各样的用法,比如说
买入法则 | 卖出法则 | |
1 | 蛟龙出水:当慢线由下降逐渐转化为水平时,而快线从慢线的下方向上突破慢线形成金叉,为第一个买入信号。 | 蛟龙入水:当慢线由上升逐渐转化为水平时,而快线也从慢线的上方向下跌破慢线形成死叉,为第一个卖出信号。 |
2 | 梅开二度:当快线与慢线金叉上行一段时间后,快线从上往下与慢线死叉,不久快线再度上行与慢线金叉,此时慢线仍保持上升之势,为第二个买入信号。 | 梅开梅落:当快线从下往上突破形成金叉,不久快线再度下行与慢线死叉,为第二个卖出信号。 |
3 | 蛟龙抬头:当快线连续运行在慢线之上并且远离慢线时,总有往下向慢线靠近的时候,但在快线与慢线即将死叉时突然反身向上,为第三个买入信号。 | 蛟龙低头:当快线连续运行在慢线下方并且远离慢线时,总有往上向慢线靠近的时候,但在快线与慢线即将金叉时突然反身向下,此时的杀伤力比较大,为第三个卖出信号。 |
4 | 蛟龙探宝:当快线跌破慢线后,继续往下运行,并且远离慢线时,为第四个买入信号。 | 蛟龙腾空:当快线突破慢线形成金叉后继续上行,并且远离慢线时,为第四个卖出信号。 |
在EXPMA的应用中,很多人总结了经验
金叉往往大涨,死叉往往大跌,必须在K线回到2条均线内时就卖出,不要等死叉!!!
用EXPMA来买会稍晚,但卖出等死差,赔到姥姥家。
在这里我再次表明一下观点,就是大多数指标公式都是来源于期货或者可以做空的市场,在这些市场中,金叉既是买多又是空单平仓,而死叉既是多头平仓又是空头开仓。用闭环的金叉死叉策略,控制起来比较简单。而我们的股票是不能做空的,因此金叉买入没有问题,而卖出的点应该在死叉之前才会有比较好的收益。这个思路在EXPMA中就可以比较好的体现出来,稳健的情况下还是可以金叉买入,或者耐心等待冲高回落后的第二个金叉(蜻蜓点水的可能性更大),而在K线下破EMA12,被夹在EMA12和50之间的时候就必须要退出了。
JX05_HMA,LMA与VMA指标
这三个指标可以放在一起看,对应于常规的MA指标的参数都是收盘价,当我们把参数改为最高价H的时候,它就变成了HMA指标,而把参数改为最低价L的时候就变成了LMA指标。回顾一下,我们还有典型价格TYPE的计算,以及把开、高、低、收四者加起来做平均的价格等,那么最后一种是产生了VMA指标。
HMA1:MA(HIGH,M1);
LMA1:MA(LOW,M1);
VV:=(HIGH+OPEN+LOW+CLOSE)/4;
VMA1:MA(VV,M1);
TYP:=(HIGH+LOW+CLOSE)/3;
对于使用哪种价格做参数在前面的章节中已经详细讲过了,这里不重复了。从图上去看,往往在上涨的过程中都会有某一条HMA成功的压住了K线,而下跌过程中总会有某一条LMA成功支撑住了K线,但总的说来我感觉这没有太大的意义,这种情况下不确定因素过于多了,很难形成当时可以操作的策略,虽然事后看来的确有一条均线是准的。
JX06_AMV成本价均线
首字母A即Amount成交额,所以AMV其实就是成交额的均线指标。
AMV成本价均线指标是一种技术分析工具,它通过结合成交量和价格数据来衡量股票价格的成本均价趋势。这种指标首次将成交量引入均线系统,提高了均线系统的可靠性。
M1:=5;
M2:=13;
M3:=34;
M4:=60;
AMOV:=VOL*(OPEN+CLOSE)/2;
AMV1:SUM(AMOV,M1)/SUM(VOL,M1);
AMV2:SUM(AMOV,M2)/SUM(VOL,M2);
AMV3:SUM(AMOV,M3)/SUM(VOL,M3);
AMV4:SUM(AMOV,M4)/SUM(VOL,M4);
从指标公式看,这里利用开盘价和收盘价的平均值为平均成交价格,去乘以成交量VOL就得到一个接近成交额的数值AMOV,然后根据周期参数5,13,34,60做累加AMOV和VOL,两者相除得到根据平均成交价格的移动平均线。
AMV成本价均线指标因其结合了成交量因素,相较于传统的移动平均线,更能反映市场的真实成本变化,减少因无量价格波动带来的影响,因此在股票分析中被广泛使用。
但是一般的情况下我们不使用这个指标,后面在鬼系指标中会有一个CYC的指标与AMV相类似,但CYC的应用可能更宽广一些。
所有多均线指标的应用大致为下面的几种:
- 趋势判断:AMV指标上升时,表示当前价格高于成本均价,市场可能处于上涨趋势;AMV指标下降时,表示当前价格低于成本均价,市场可能处于下跌趋势。
- 金叉和死叉:当短期AMV线上穿长期AMV线时,称为金叉,可能是买入信号;当短期AMV线下穿长期AMV线时,称为死叉,可能是卖出信号。
- 多头和空头排列:依据均线理论,短期均线站在长期均线之上称为多头排列,是牛市的标志;短期均线在长期均线之下称为空头排列,是熊市的标志。
- 参数设置:AMV指标可以使用月均线系统(5,10,20,250)和季均线系统(20,40,60,250),也可以使用自身特有的均线系统(5,13,34,250)。
JX07_MCST市场成本指标
MCST指标的英文全称是 Market Cost and Stock Trend,MCST市场成本指标是一种技术分析工具,它通过分析市场成交量、流通股本以及成交额等数据来衡量市场的平均成本水平。
在某些股票软件中,这个指标是加密的,不能查看,但网上搜索可以得到其计算公式,几个文档看下来,发现几乎都是一个模板写出来的。
MCST:DMA(AMOUNT/(100∗VOL),VOL/CAPITAL)
/*其中
AMOUNT代表成交额,
VOL代表成交量,
CAPITAL代表流通股本。
这个公式意味着MCST是基于成交量加权的平均成本,它考虑了股票的换手率和流通市值*/
。
当你把上面这个指标公式写到股票软件中去后,你会发现它与系统加密的指标是不一样的!是网上给的计算公式出错了吗?只能说不全错。
当我们把“复权”的选项改为不复权时,我们制作的指标与系统的MCST数值是一样的,但一般的情况下我们都使用的前复权,此时系统的指标的数值会发生变化,但自己制作的指标数值仍然不变。所以很明显问题出在这里,大家是否还记得在之前的章节中谈到的复权不复权数据的区别?
其实复权或不复权,我们得到的成交量,成交额,流通股,换手率的数值都是一样的,但是开、高、收、低的数值却会发生变化,而上面的公式完全没有涉及到价格的参数,也就会造成与价格无关,因此复权和不复权数值相同。
但是这个问题暂时不知道怎么解决,我们继续学习和实践,或许不久就能搞定它。当下先知道它的简单应用即可。另外,VOL/CAPITAL其实就是换手率的百分比形式,因此公式中的MCST1与MCST2完全相同。
MCST:DMA(AMOUNT/(100*VOL),VOL/CAPITAL);
HSL1:=IF((SETCODE==0||SETCODE==1||SETCODE==2),100*VOL,VOL)/(FINANCE(7)/100);
MCST2:DMA(AMOUNT/(100*VOL),HSL1*0.01);
- MCST指标揭示了持股人的平均成本。
- MCST上升表明市场筹码平均持有成本上升,下降表明市场筹码平均持有成本下降。
- 当股价向上突破MCST曲线时应视为买入信号,后市只要不破MCST曲线应坚定持有。
于是,这个指标与持股人的平均成本相关,那么与之相关的指标还有筹码峰,集中度等,后面有机会再继续深入研究关于持仓成本类的问题。
JX08_BBIBOLL指标
BBIBOLL多空布林线指标是一种结合了多空线(BBI)和布林线(BOLL)的技术分析工具,主要用于判断市场趋势和寻找买卖点。
全称为“Boll Breakout Bands Indicator”,中文名称为“布林带突破带指标”,由约翰·博尔(John Bollinger)发明,通过计算股票价格的标准差构建出包含上、中、下三条线的通道,以判断股票价格是否处于超买或超卖状态,为投资者提供买卖信号。
BBIBOLL指标基于股票价格的波动性进行分析,其核心理念是当股票价格波动较小时,布林带会收缩,此时价格容易突破;当股票价格波动较大时,布林带会扩张,此时价格难以突破。通过观察布林带的收缩与扩张,投资者可以判断股票价格的波动趋势以及可能的突破方向。
N:=11;
M:=6;
CV:=CLOSE;
BBIBOLL:(MA(CV,3)+MA(CV,6)+MA(CV,12)+MA(CV,24))/4;
UPR:BBIBOLL+M*STD(BBIBOLL,N);
DWN:BBIBOLL-M*STD(BBIBOLL,N);
由公式可知,BBIBOLL就是以BBI为中轨,再做出上轨和下轨,与布林带的区别在于中轨不是简单的移动平均线,而是BBI。所以这算是一个复合指标。
- 高价区收盘价跌破BBI线,并且上下轨相距非常远时,为卖出信号。
- 低价区收盘价突破BBI线,并且上下轨相距非常近时,为买入信号。
- BBI线向上,股价在BBI线之上,多头势强。
- BBI线向下,股价在BBI线之下,空头势强。
- 轨道收敛:说明行情即将变盘,向上或向下突破。
- 轨道发散:表明将向上或向下扩大趋势。
从常规的应用来看,BBI布林主要策略还是上穿BBI买和下穿BBI卖,只不过添加了BOLL的条件,跌破BBI时,如果上下轨很远,那么可能会出现很大幅度的下跌,所以卖出,而如果上下轨比较近,那么很可能马上就止跌反弹了,所以就可以暂时不卖出。那其实在这里还需要添加BOLL极限宽的公式,用BOLL极限宽判断当前上下轨是离得近还是远。
JX09_ALL鳄鱼线
ALLIGATOR鳄鱼线指标是由著名的股票交易家Bill Williams所创造的一种技术指标,其全称为“鳄鱼线指标(Alligator Indicator)”。这个指标基于鳄鱼的行为和习性,用来帮助分析市场的趋势和价格波动。
鳄鱼线指标由三条不同颜色的移动平均线组成,分别代表着鳄鱼的不同部位,包括牙齿(Jaw)、嘴巴(Lips)和下巴(Teeth)。具体计算方法如下:
- 鳄鱼的牙齿线(Jaw line):是13个周期的移动平均线,用来显示市场的慢速趋势。计算公式为 Jaw line = (最高价 + 最低价) / 2,向后移动8个周期。
- 鳄鱼的嘴巴线(Lips line):是8个周期的移动平均线,用来显示市场的中速趋势。计算公式为 Lips line = (最高价 + 最低价) / 2,向后移动5个周期。
- 鳄鱼的下巴线(Teeth line):是5个周期的移动平均线,用来显示市场的快速趋势。计算公式为 Teeth line = (最高价 + 最低价) / 2,向后移动3个周期。
ALLIGATOR指标的三条线的颜色分别是蓝色(Jaw line)、红色(Teeth line)和绿色(Lips line)。当这三条线交织在一起时,表示鳄鱼处于睡眠状态,市场处于震荡区间。当三条线开始展开时,表示鳄鱼开始醒来,市场开始进入趋势。如果嘴巴线(Lips line)在上面,表示市场处于上涨趋势;反之,如果嘴巴线在下面,表示市场处于下跌趋势。
NN:=(H+L)/2;
上唇:REF(MA(NN,5),3),COLOR40FF40;
牙齿:REF(MA(NN,8),5),COLOR0000C0;
下颚:REF(MA(NN,13),8),COLORFF4040;
这个指标相当于是价格变形后三均线指标。由公式可知,计算价格没有使用常规的收盘价Close,而是用了(H+L)/2得到的平均价,看到这里可能会回想起一目均衡表这个指标公式中的计算很相像
转换线:(HHV(H,SHORT)+LLV(L,SHORT))/2,COLORRED,LINETHICK2;
基准线:(HHV(H,MID)+LLV(L,MID))/2,COLORFF8040,LINETHICK2;
然后,鳄鱼线指标使用的是三均线的策略,简单的说是快线穿中线,穿慢线,然后中线穿慢线三个金叉作为确定性标志,这种策略的优点是稳健性非常高,如果快线穿中线,又下穿回去就不会触发。但其迟滞性也非常的大,有些时候等第三个金叉成立的时候,股价已经涨完了,如下图左边的第一波上涨。
于是,鳄鱼线指标还有一种用法,就是当K线穿过三条线就买入。但这种用法会很不稳定,比如图的中间靠右有K线上穿3线,但并没有实现上涨波段。
JX10_GMMA顾比线
GMMA(顾比线指标)是一种技术分析工具,由澳大利亚投资家戴诺·顾比(Daryl Guppy)发明。它由两组指数移动平均线(EMA)组成,用以衡量特定时间周期的短期和长期趋势。
MA3:EMA(CLOSE,3),COLORC08080;
MA5:EMA(CLOSE,5),COLORC08080;
MA8:EMA(CLOSE,8),COLORC08080;
MA10:EMA(CLOSE,10),COLORC08080;
MA12:EMA(CLOSE,12),COLORC08080;
MA15:EMA(CLOSE,15),COLORC08080;
MA30:EMA(CLOSE,30),COLOR0080FF;
MA35:EMA(CLOSE,35),COLOR0080FF;
MA40:EMA(CLOSE,40),COLOR0080FF;
MA45:EMA(CLOSE,45),COLOR0080FF;
MA50:EMA(CLOSE,50),COLOR0080FF;
MA60:EMA(CLOSE,60),COLOR0080FF;
从指标公式可知,顾比线指标其实是由6条短周期均线和6条中长周期均线组成的均线群。
趋势确认:
- 当GMMA指标的短期组均线(3、5、8、10、12、15日EMA)上穿长期组均线(30、35、40、45、50、60日EMA)并且颜色变为红色时,可以视为买入信号。
- 相反,当短期组均线下穿长期组均线并且颜色变为蓝色时,可以视为卖出信号。
支撑和阻力:
- GMMA指标的均线组可以作为动态的支撑和阻力位。在上涨趋势中,均线组通常会作为支撑;在下跌趋势中,均线组通常会作为阻力。
趋势的强度:
- 短期和长期均线之间的分离程度可以用作趋势强度的指标。如果存在广泛的分离,则普遍趋势很强。另一方面,狭窄的分离或纵横交错的线表明趋势减弱或盘整期。
一群均线分两组,可以等效为2条均线,金叉买和死叉卖。另外12条均线在图上,通常股价不是在这条均线上就是在那条均线上,并且可以形成多头排列,空头排列的图线,在视觉上效果是可以的,但过多的均线会使策略变得复杂而难以执行,并不适合制作简单的策略。
如上图,我们看到一目均衡表在某种形式上,也有顾比线的某些功能。
JX均线型指标公式小结
均线型的指标公式无论在backtrader中还是股票软件中都是基础的不可或缺的指标,在股票软件中我们了解的是一些复合的指标,比如MA是6根或12根不同周期的移动平均线的集合,它可以包含MA5,10,20,30,60,120等多条线,这些在图上就可以以多条均线显示,它们之前就必然会有大小以及交叉等关系存在。均线的一个作用就是支撑和压力。
这里的某些指标还区分了计算价格,比如常规的使用收盘价,也有的指标使用(H+L)/2,也有典型值(H+L+C)/3等,除了股价外,平均线还可以用于成交量,成交额或它们与股价之间的计算关系等。
并且这里有BBI这类的单均线指标,EMPMA类的双均线指标,甚至鳄鱼线这类的三均线指标。
不过这些指标都建立在我们已经懂得SMA,SMMA,EMA,DMA的基础上的。
04_成交量型指标实践
成交量型顾名思义就是关于成交的数量和金额的指标,我们在backtrader实践时知道标准的数据只需要开、高、低、收以及成交量就可以了,不过在股票软件中,会实时记录很多其它的数据,其中就包括成交额,这个值就像是每分或每秒的成交量x股价积分得到的,其数值与用(H+L)/2或收盘价乘上成交量的结果还是会有差别的。
成交量型的指标主要有以下几个:
简单的整理一下,主要是成交量与成交额指标,OBV,VRSI,HSL换手线,HSCOL换手柱,WSBVOL维斯波成交量这几个。
CJ01_VOL与AMO
基本的成交量与成交额的指标见下图,VOL即Volume成交数量,AMO即Amount为金额。
由指标公式可知,副图就是直接用VOL或AMOUNT画柱状线,然后做了5和10周期的简单平均线。当制作了平均线后,就可以与股价的5和10周期平均线进行对比,比如价格站上MA5而成交量不到MA5则后面的交易日需要补量否则价格也会再次掉到MA5之下等。
M1:=5;
M2:=10;
AMOW:AMOUNT/10000.0,VOLSTICK;
AMO1:MA(AMOW,M1);
AMO2:MA(AMOW,M2);
VOLUME:VOL,VOLSTICK;
MAVOL1:MA(VOLUME,M1);
MAVOL2:MA(VOLUME,M2);
至于带后缀TDX是在盘中对于VOL或AMO进行一定关系的计算并预估到收盘能够产生的VOL或AMO,提前给出预估值就像导航预估多长时间到达一样,做到心中有数。
CJ02_OBV累积能量线指标
A_简介与公式
能量潮OBV,也称为平衡成交量法、累积能量线,是一种基于成交量的技术指标。
它基于基本的量价配合关系,在设计过程中既考虑了价格的趋势运行情况,又考虑了量能的正负情况,依据价格的涨跌情况来累加成交量或是减去成交量,进而制成了一条反映市场运行状态的量能趋势线,以反映股价的波动与成交量变化趋势之间的关系。通过OBV指标线的变化形态,可以很好的判断出股市或个股的上涨能量如何。
OBV能量潮指标(On Balance Volume,简称OBV)是葛兰维(Joe Granville)于本世纪60年代提出的,并被广泛使用,算是比较冷门的指标,虽然冷门,但是却威力巨大!股市技术分析的四大要素:价、量、时、空。OBV指标就是从“量”这个要素作为突破口,来发现热门股票、分析股价运动趋势的一种技术指标。它是将股市的人气—成交量与股价的关系数字化、直观化,以股市的成交量变化来衡量股市的推动力,从而研判股价的走势。关于成交量方面的研究,OBV能量潮指标是一种相当重要的分析指标之一。
M:=30;
VA:=IF(CLOSE>REF(CLOSE,1),VOL,-VOL);
OBV:SUM(IF(CLOSE=REF(CLOSE,1),0,VA),0);
MAOBV:MA(OBV,M);
由指标公式可知,简单OBV首先通过今收大于昨收来确定上涨还是下跌,上涨时取成交量为正,下跌取成交量为负;然后对正或负的成交量进行累加。最后,使用简单移动平均线把OBV做了30周期的移动平均。
B_参考文档
C_指标应用
从前面的学习和实践可知,只要是在原指标的基础上再做移动平均的,都可以套用双均线的策略,例如KD,例如EXPMA等。对于OBV与MAOBV来说,策略也可以这样做。
- OBV线上穿其移动平均线为买进信号,下穿其移动平均线为卖出信号
如果只是这样简单的策略,我们能从图上看出来,它与KAMA指标的买卖点其实很类似,特别对于趋势比较明显的阶段。但还是有些情况与价格的变化和趋势不一样,这也是使用成交量指标与价格指标的关键所在。
技术分析中描述成交量与股价关系的重要术语
量增价跌(Volume Increases, Price Falls)
量价齐扬(Volume and Price Increase Together)
量缩价涨(Volume Decreases, Price Increases)
量缩价跌(Volume Decreases, Price Decreases)
而通过OBV与其他均线指标就能对上面的这些量价关系进行读取和确认,从而能结合量价关系进行更高层次的交易策略。OBV线的走向与股价曲线产生“反向背离”时,说明当时的走势是虚假的,不管当时股价是上涨行情还是下跌行情,都随时有反转的可能。
另外,根据双均线(MACD)的方式,将OBV与MAOBV相减并绘制colorstick就能得到类似MACD的红绿柱,再做移动平均线,就可以得到一个超短线的反转指标信号,跟之前说到的OSC和UDL应用一样,当某一根红柱明显超出了其平均线时,应该根据物极必反理论进行卖出;而当某一根蓝柱下穿其移动平均线且差值较大时,应执行买入。
CJ03_VRSI相对强弱量指标
VRSI(Volume Relative Strength Index),即相对强弱量指标,是一种衡量股票或期货市场相对强度的技术指标,主要基于成交量和价格的关系来判断市场的买卖力量。VRSI指标的计算方法和判断原理与RSI(相对强弱指标)基本相同,但它更注重成交量的因素,根据“量比价先行”的道理,能较好地超前判断价格走势。
N1:=6;
LC:=REF(VOL,1);
RSI1:SMA(MAX(VOL-LC,0),N1,1)/SMA(ABS(VOL-LC),N1,1)*100;
从指标公式就能清楚的认识到VRSI完全套用了RSI的公式,只是计算的参数由收盘价改成了成交量。由此也可以知道它跟RSI也可以实现量与价的关系的确认。
由上图可知,当股价一路下跌时,短期RSI1一直在中期RSI2之下,在下跌的末段,明显成交量突然增大,即出现了价跌量升的情况,这个阶段中VRSI1跑到了VRSI2之上,那么在VRSI1再次下穿VRSI2的时候进行买入,后续股价就发生了反转。
在RSI与VRSI的联合运用中,我们发现如果"量价齐扬"的初期买入,有时会在很短的时间获得较大的收益,比如RSI上穿70且VRSI>60时果断买入,如下图
CJ04_HSL换手线和HSCOL换手柱指标
HS是换手的拼音首字母缩写,而L和COL分别代表的是英文单词Line(线)和column(柱),也就是说这个指标的缩写是由拼音和英文单词混合而成的。
在前面MCST指标公式的探索中我们已经发现了换手线其实和VOL/CAPITAL是一回事,这里的CAPITAL是当前流通股本(手),而换手线是VOL/Finance(7),Finance(7)是流通股本(股),其差别就是1手=100股的换算关系。
N:=5;
HSL:IF((SETCODE==0||SETCODE==1||SETCODE==2),100*VOL,VOL)/(FINANCE(7)/100);
MAHSL:MA(HSL,N);
HSCOL:IF((SETCODE==0||SETCODE==1||SETCODE==2),100*VOL,VOL)/(FINANCE(7)/100),VOLSTICK;
MAHSL:MA(HSCOL,N);
由指标公式可知,换手线与换手柱的计算部分是完全一致的,差别仅在绘制图线的时候换手线为默认的线,而换手柱用了VOLSTICK绘制柱状图。
由于流通股本数在一段时期内是固定不变的,于是公式就是VOL去除以一个常量,从比例上来看,换手率其实与成交量为正比例函数,在图形上显示是一致的。
我们可以利用换手率与其平均线的关系,从图中发现换手率上穿平均线的位置,这里表示为放量,也可以跟上面几个成交量指标(VRSI,OBV等)一样得到量价之间的关系。但实际上换手率和平均线很容易纠缠在一起,而且有些时候换手率太低会没有辨识度,所以在这个方面它真的不如OBV和VRSI的指标清晰好用。
但是,换手率却是一个筛选指标,我们可以在前期就通过换手率筛选出适合进行交易的股票。
绝大多数股票的每日换手率在1%~25%之间,大约70%的股票的日换手率低于3%。
- 换手率 3%是一个重要的分界,3%以下通常表示没有较大的实力资金在其中运作。
- 换手率在3%~7%时,该股已进入相对活跃状态,应该引起注意。
- 10%的日换手率在强势股中经常出现,属于股价走势的高度活跃状态,一般来说,这些股票正在或者已经广为市场关注。
- 日换手率在10%~15%的股票如果不是在上升的历史高位区或者见中长期顶的时段,则意味着强庄股的大举运作,若其后出现大幅的回调,在回调过程中满足日最小成交量或成交量的1/3法则或1/10法则则可考虑适当介入。
- 超过15%的日换手率后,如果该股能够保持在当日密集成交区附近运行,则可能意味着该股后市具有潜在的极大的上升能量,是超级强庄股的技术特征,因而后市有机会成为市场中的最大黑马
CJ05_WSBVOL维斯波成交量
A_简介
学习本身就是件不断成长的事,原本以为成交量型的指标就那么几个,稍微花一点时间就能快速进行学习和实践了,但实际上并非如此。如果有老师带,真的可以花最少的时间学到最有效的东西;在没有老师带教的情况下,学习就不是件容易的事,现在是信息大爆炸的时代,网张上有着各种各样的正确的、错误的、误导的、人云亦云的、讲话讲一半的、通篇没有实质内容的、过于高深的、表达不清的内容。很多时候就会在低水平的小循环里绕着圈子,始终不能进阶到高一点的水平里。但自己学习往往就是这样,会耗费比较多的时间去学习一些可能效率很低的东西,即所谓的摸着石头过河,肯定会经常走错,但当你探索过某一方向,至少知道不应该再走下去。
摸着摸着,有时可能也会摸到新的东西。比如说这里的维斯波成交量指标。
WSBVOL,全称为“Weighted Standard Deviation of Volume”,即加权成交量标准差,是一种技术分析指标,主要用于分析股票市场的波动性。它是由成交量加权移动平均线(WMA)派生出来的,通过计算WMA的标准差来衡量市场的波动性。
维斯波指标的英文全称为“Weis Wave Volume”,又叫“WWV指标”。该指标的创始人为戴维 H·维斯(David H. Weis),他创建的维斯波浪指标体系继承和发展了威可夫(Wyckoff)交易方法,也是对威科夫基本分析的量化和可视化。
当去搜索维斯波以及威可夫时,我们就进入了一个崭新的领域,也就又需要花费一些时间来学习一些新的知识。
B_参考文档
- 威科夫3大指标组合(通达信)(股票期货通用)_通达信威科夫指标-CSDN博客
- 潮起潮落:威斯波浪在通达信的精妙演绎 | blackcat1402.blog
- 识别趋势最精准的技术指标:维斯波浪交易策略 - 知乎
- 通过维斯波浪(Weis Wave)理解市场
- 维斯波浪——揭示股价涨跌的奥秘 - 雪球
- 威科夫武器库巡礼之二 :强大的波段量价分析指标——维斯波 - 知乎
- WEISWAVE盘口分析_维斯波-CSDN博客
C_公式解析
上面参考文档中有一篇讲到以前这个维斯波指标是收费的(2019)
维斯官网上有出售这个指标,还只能用在MT4, Nijia Trader, Trade Statioin等国外常用的行情软件上,价格是500刀.....
现在在股票软件中已经内置了这个指标(WSBVOL),先学习一下指标公式
UPTJ1:=CLOSE>REF(CLOSE,1);
UPTJ2:=(CLOSE==REF(CLOSE,1) && REF(CLOSE,1)>REF(CLOSE,2));
UPTJ3:=MAX(OPEN,CLOSE)<REF(C,BARSLAST(CLOSE>REF(CLOSE,1))) AND MIN(OPEN,CLOSE)>REF(O,BARSLAST(CLOSE>REF(CLOSE,1)));
UPTJ4:=NOT (H<REF(H,1) AND L<REF(L,1));
UP:=(UPTJ1 || UPTJ2 || UPTJ3) AND UPTJ4;
DOWN:=NOT(UP);
M1:=BARSLASTCOUNT(UP);
N1:=BARSLASTCOUNT(DOWN);
CZB:=IF(M1=1 OR N1=1,2*INTPART(VOL*100/10000),INTPART(VOL*100/10000));
SZ:=IF(M1>0,SUM(CZB,M1),-1*SUM(CZB,N1));
GY:=IF(N1>0,SUM(CZB,N1),0);
XQ:=IF(M1>0,SUM(CZB,M1),0);
NOTEXT1:STICKLINE(M1>0,0,XQ,1,0),COLORRED;
NOTEXT2:STICKLINE(N1>0,0,GY,1,0),COLORGREEN;
WSB:SZ,NODRAW;
我们人为的把这个公式分成四段:
- 第一段是判定向上的4个条件,
- 第二段是向上标志位,向下标志位以及它们的计数,
- 第三段是累加向上的量和向下的量,但如果出现向上和向下的状态切换,第1根需要把成交量翻倍(计数为1),从而突出状态切换。
- 第四段是绘图函数,用红柱绘制向上的,用绿柱绘制向下的,原公式中CZB是不绘制的,自己研究的时候可以去掉NODRAW让其绘制线条。
由图可知,判定向上的4个条件与实际的阴线和阳线并不完全一致,在图上我们看到很多阴线画出向上红柱以及阳线画出绿柱的情况。所以仔细看一下这4个条件:
- 今收>昨收(上涨)
- 今收=昨收 且 昨收>前收 (上涨后保持)
- 判断之前最近的一次上涨的收盘价,需要大于今天的O和C的最大值;但是那天的开盘价(必然小于那天的C)需要小于今天O和C的最小值,(类似孕育线)
- 没有(今最大值<昨最大值 且 今最小值<昨最小值)的情况 (即K线包括影线都不是向下移动)
前3个条件是或的关系,然后与第4个条件为与的关系,满足组合条件就判定为向上,否则为向下。
以上图为例,第1个箭头阴线判定为向上(UP)是因为满足条件1(今收>昨收)和条件4(K线不是向下移动);第2个箭头阳线判为向下(DOWN)是因为条件4不满足(K线向下移动了);第3个箭头阴线判定为向上是因为条件3满足(这根K线的C和O之间被上一根C和O包住,没有穿出),且上影线高于昨高满足条件4;第4个箭头阳线判定为向下是因为条件4不满足(K线向下移动了)......
这样的组合条件用来判定K线是向上还是向下,感觉非常的高深和有道理,或许这个和前面backtrader的内置指标HEIKIASHI有些异曲同工的地方,如果有兴趣可以再深入对比一下。
另外,由图可知,CZB(代表成交笔数)在向上时包络红柱,向下时负向与绿柱的值是相反数,由于用Stick绘制了向上(XQ)以及向下(GY)的柱状线,的确没有绘制CZB的必要。
D_维斯波浪指标策略
在很多的网上文章,把WEISWAVE,WSBVOL以及PIPWAVE三个指标组合在一起使用,并称其为威科夫3大指标组合。但这里我们只简单的学习WSBVOL这个指标。
常规的策略为
策略1:根据维斯波浪指标的趋势发展信号进行交易
入场点:当维斯波浪指标柱状线从红色变为绿色时。在交易图表上,下跌趋势中出现一根强劲的看涨烛台时。
止损点:价格反弹前的最近支撑位。
止盈点:当价格触及此前形成的阻力位时,你应该获利了结(也可根据自己的风险偏好自行判断在什么位置进行止盈)。
策略2:维斯波浪指标结合反转烛台形态策略
当维斯波浪指标维斯波浪指标柱状线变成红色时。价格正处于上涨趋势中,同时出现晨星烛台形态。在晨星烛台形态完成后,可立即入场做多。
止损点:在晨星烛台形态出现之前的最近支撑位。
止盈点:当价格触及此前形成的阻力位时,你应该获利了结(也可根据自己的风险偏好自行判断在什么位置进行止盈)。
这样的策略就会有一个明显的问题,在下跌趋势中,难免会有1~2次反抽的情况,就会造成绿柱中夹带1根红柱,而如果在红柱时就进行买入,那么接下来又是一长段的下跌,虽然根据再出现绿柱策略上会卖出,但这一次的交易就是错误的,就当避免的。
如果从简单并稳健的方案来,可以不要急着在第1根变色柱时就进行交易,可以等第2甚至第3根;也可以结合双均线的或其他价格的指标根据趋势进行应变。
当然也可以通过上面所说的威可夫3指标组合进行策略的设定。
CJ成交量型指标公式小结
在成交量型指标公式中,用到的指标似乎比较少,主要是成交量和成交额,由成交量除以流通股本得到的换手率,换手率可用线(HSL)或柱(HSCOL)来表示;另外还有累积能量线(能量潮)OBV以及借用RSI的计算逻辑在成交量的应用VRSI等。在最后我们还简单了解了维斯波浪成交量指标。
本节小结
首先是价格关系的均线指标,然后是重要的成交量指标。回顾backtrader接受的数据有7列,日期,openinterest给期货用的,其余5个是开盘价,最高价,最低价,收盘价和成交量。这就是最基本的数据。
通过对成交量指标的学习和实践,我们开始注意到了量与价之间的关系,网上很多老股民都说指标研究了几年都没什么用,最后还是以量价关系为重点,这些都能说明量价关系的重要性。在backtrader内置指标中基本上都是些价格相关的指标,对于成交量类的还真不多,也是通过学习股票软件的内置指标,让我们把思路拓得更加宽广。
我们在学习和实践backtrader的过程中,又延伸出了新的技能树和知识树,这对于建立完善和有效的交易系统是积极的,有用的。