全美交易冠军马克·米勒维尼的核心交易模式VCP形态的指标公式及选股公式

标签: 指标公式 选股公式 技术分析 VCP形态 股票形态 发布于: 编辑于: 浏览量:1722

VCP形态介绍

VCP形态的英文”Volatility Contraction Pattern”的缩写,意思是“波动收缩形态”。VCP形态是全美交易冠军马克·米勒维尼的核心交易模式之一,在其著作《股票魔法师》中有详细介绍。

VCP原理

是实际操作中供求法则的作用,是股票经历了从弱势手到强势手有序的过渡过程,因为真正推动股价上涨的是机构(大资金)投资者正在积极的买入股票,是强势投资者代替弱势投资者的过程,一旦弱势投资者被淘汰,供应的缺乏即使少量的需求也能轻松推高股价,在波动收缩期间,市场供应量越来越少,更多的长线买家买入,短线卖家变少。

VCP的表现

其发生在股价的第二阶段,上升趋势,股价上涨了30%、40%、50%甚至更高后,股价开始调整,经过来回拉锯,价格从高点到低点波动逐渐收窄,一般有2-6次的收缩,随着VCP中的每一次收缩,股票价格变得更加紧实,意味着供给的减少,从左到右修正幅度越来越少,在这个过程中价格波动逐渐降低,收窄同时伴随着交易量的显著下滑。

马克·米勒维尼把VCP形态比喻为湿毛巾,拧过一次后仍含水,重新拧一下,又挤出一些。继续拧紧毛巾,每次挤出的水越来越少,最后毛巾变干变轻。VCP每一次收缩,股价变得“更加紧实”,意味着供给减少,就像毛巾被拧干。经历几次收缩后,股票变得更轻,比之前有大量供给时更容易向一个方向移动。

7a940daacf82d7dabd7db5f5c9f94e3.jpg

VCP形态的买点

枢纽点、最小阻力线是最佳买点,可能是股价创新高的位置,也有可能低于股价高点的位置,一个适当的枢纽点(最小阻力线)代表股票盘整的完成和下一个上涨的前景。换句话说,在形成适当的基地图形之后,枢纽点(最小阻力线)的触发代表股票可以介入交易的价格水平。

切记选择趋势已经形成的股票,有机构大资金支撑的股票,一定要等待突破之后介入,也有很多时候会出现价格一瞬间突破,或者买入之后一直不出现突破,甚至还会出现回调。

VCP的形成条件

1、旨在目标价格波动逐渐缩小,同时成交量也明显减少,该形态通常呈现二至五次的波浪型收缩。

2、读者须注意的是「初始跌幅通常是最为明显的,但一般不超过50%」。随后,价格会由低点反弹,每次的下跌幅度最好不超过前一波的一半,这样的过程反复出现数次。

3、最终,价格波动出现趋缓或停滞,甚至是单日波动少于1%的情况,表明市场上的交易者已经无人愿意再卖出,预示着行情即将逆转,CPT Markets分析师指出「这个时刻往往是投资者进场的良机」。

image.png

VCP型态的要求是,目标价格必须处于上升趋势(第二阶段)中,才容易成为暴涨目标。

image.png

VCP型态的背后原理,读者可以想象成由一群散户与专业操盘手在供需市场中所形成的互动。当散户因价格上涨而急于出售目标时,目标价格波动会增大;而当市场走至波浪底部时,有经验的投资者便会开始吸纳筹码,迅速推断价格上升,此过程将循环不断。

CPT Markets分析师提到,筹码由弱者手上转移到强者会形成多个波浪,即所谓的「收缩」。而这个收缩幅度会随着时间越来越小,这代表着卖压逐渐减弱,筹码趋于稳定,而当VCP型态收缩到最后,会出现成交量萎缩的现象,在此,投资人应留意「若出现强劲攻击量并突破前高,创下新高点,此时往往会是一绝佳的买点。

image.png

VCP形态公式的计算原理

1、拟合曲线

在指标公式开发过程中,曾使用布林线、振幅等方法来进行处理计算高点和低点,但效果不够理想,后经多次测试,决定采用斜率加权和指数加权移动平均(EMA)二次平滑的方法,得到拟合曲线SL,用于清晰展示高点和低点。

SL:=EMA(EMA(SLOPE(C,10)*5+C,10),2);

217df03891e8c338030cdfdc82c6159.jpg

2、拟合曲线的底和顶

通过对SL曲线的周期值比较,识别曲线的顶点和底点。

DI:=REF(SL,1)<REF(SL,2) AND REF(SL,1)<SL;(底)

DING:=REF(SL,1)>REF(SL,2) AND REF(SL,1)>SL;(顶)

b74836717543db7acc0f0e10737539f.jpg

3、高低点计算

利用BARSLAST和SUMBARS函数计算底部间的周期数,并使用FINDHIGH和FINDLOW函数找到高低点。

最高点:

TDI1:=BARSLAST(DI)+1;
TDI2:=SUMBARS(DI,2);
TDI3:=SUMBARS(DI,3);
TDI4:=SUMBARS(DI,4);
DINGH1:=FINDHIGH(H,TDI1,TDI2-TDI1,1);
DINGH2:=FINDHIGH(H,TDI2,TDI3-TDI2,1);
DINGH3:=FINDHIGH(H,TDI3,TDI4-TDI3,1);

129968a8878aa1b97f0f9b39fb12604.jpg

最低点:

TDING1:=BARSLAST(DING)+1;
TDING2:=SUMBARS(DING,2);
TDING3:=SUMBARS(DING,3);
DIL1:=FINDLOW(L,TDING1,TDING2-TDING1,1);
DIL2:=FINDLOW(L,TDING2,TDING3-TDING2,1);
DL:=FINDLOW(L,1,TDING1,1);

645cd5dff466e277cc01dbb659cf0e9.jpg

4、条件设置

设置条件以过滤出符合条件的VCP形态股票。

1)、计算K线顶和底的价格

在准备阶段,已经计算出了K线顶(DINGH1, DINGH2, DINGH3)和底(DIL1, DIL2)的价格。

2)、顶的价格范围

A1条件用于确定三个顶(DINGH1, DINGH2, DINGH3)的价格范围。

找出三个顶中的最大值(MAXH)和最小值(MINH)。

设定一个幅度限制,比如5%,即三个顶的价格差异不能超过这个范围。

使用公式 A1:=(MAXH-MINH)/MINH*100<5; 来判断是否满足条件。

3)、底的价格关系

A2条件用于确定两个底(DIL1, DIL2)之间的价格关系。

要求后一个底(DIL1)相对于前一个底(DIL2)不能低过-2%。

同时还要求DIL(可能是指另一个底或某个基准值,但说明中未明确)要大于DIL1。

使用公式 A2:=(DIL1-DIL2)/DIL2*100>-2 AND DL>DIL1; 来判断是否满足条件。

4)、触发信号

A3条件是一个触发信号,用于确定是否出现买入或卖出机会。

要求当前K线创下过去20日的新高(HHV(H,20))。

同时要求当前K线为阳线,即收盘价(C)大于开盘价(O)。

使用公式 A3:=H=HHV(H,20) AND C>O; 来判断是否满足条件。

VCP形态指标公式

公式源码

将以上编写的条件和逻辑整合至主图公式中,以可视化地显示符合条件的VCP形态股票。

SL:=EMA(EMA(SLOPE(C,10)*5+C,10),2);
DI:=REF(SL,1)<REF(SL,2) AND REF(SL,1)<SL;
DING:=REF(SL,1)>REF(SL,2) AND REF(SL,1)>SL;
TDI1:=BARSLAST(DI)+1;
TDI2:=SUMBARS(DI,2);
TDI3:=SUMBARS(DI,3);
TDI4:=SUMBARS(DI,4);
DINGH1:=FINDHIGH(H,TDI1,TDI2-TDI1,1);
DINGH2:=FINDHIGH(H,TDI2,TDI3-TDI2,1);
DINGH3:=FINDHIGH(H,TDI3,TDI4-TDI3,1);
TDING1:=BARSLAST(DING)+1;
TDING2:=SUMBARS(DING,2);
TDING3:=SUMBARS(DING,3);
DIL1:=FINDLOW(L,TDING1,TDING2-TDING1,1);
DIL2:=FINDLOW(L,TDING2,TDING3-TDING2,1);
DL:=FINDLOW(L,1,TDING1,1);
MAXH:=MAX(DINGH1,MAX(DINGH2,DINGH3));
MINH:=MIN(DINGH1,MIN(DINGH2,DINGH3));
A1:=(MAXH-MINH)/MINH*100<5;
A2:=(DIL1-DIL2)/DIL2*100>-2 AND DL>DIL1;
A3:=H=HHV(H,20) AND C>O;
AA:=A1 AND A2 AND A3;
XG:=FILTER(AA,20);
DRAWICON(XG,L,1);
STICKLINE(XG,H,L,0,0),COLORYELLOW;
STICKLINE(XG,O,C,3,0),COLORYELLOW;

公式源码截图

image.png

公式效果图

1f9f53d16123b5b72702149c7b89a30.jpg

VCP形态选股公式

SL:=EMA(EMA(SLOPE(C,10)*5+C,10),2);
DI:=REF(SL,1)<REF(SL,2) AND REF(SL,1)<SL;
DING:=REF(SL,1)>REF(SL,2) AND REF(SL,1)>SL;
TDI1:=BARSLAST(DI)+1;
TDI2:=SUMBARS(DI,2);
TDI3:=SUMBARS(DI,3);
TDI4:=SUMBARS(DI,4);
DINGH1:=FINDHIGH(H,TDI1,TDI2-TDI1,1);
DINGH2:=FINDHIGH(H,TDI2,TDI3-TDI2,1);
DINGH3:=FINDHIGH(H,TDI3,TDI4-TDI3,1);
TDING1:=BARSLAST(DING)+1;
TDING2:=SUMBARS(DING,2);
TDING3:=SUMBARS(DING,3);
DIL1:=FINDLOW(L,TDING1,TDING2-TDING1,1);
DIL2:=FINDLOW(L,TDING2,TDING3-TDING2,1);
DL:=FINDLOW(L,1,TDING1,1);
MAXH:=MAX(DINGH1,MAX(DINGH2,DINGH3));
MINH:=MIN(DINGH1,MIN(DINGH2,DINGH3));
A1:=(MAXH-MINH)/MINH*100<5;
A2:=(DIL1-DIL2)/DIL2*100>-2 AND DL>DIL1;
A3:=H=HHV(H,20) AND C>O;
AA:=A1 AND A2 AND A3;
XG:FILTER(AA,20);

注意事项

在编写VCP形态选股公式时,设置了一个特定的触发条件,即“创20日新高H=HHV(H,20)”。这个条件并没有直接遵循《股票魔法师》一书中的定义。我选择这样的设置是为了让触发信号能够更早地出现,从而方便后续的跟踪观察。

然而,值得注意的是,一个理想的VCP通常应该出现在股价的“第二阶段”。但在本次编写的VCP形态选股公式中,我并没有加入这一条件。因此,在使用此公式时,请务必留意这一点,并结合其他分析手段来全面评估股票的表现。

感谢您的捐赠(鞠躬) ❤️

微信赞赏

alt 属性文本

支付宝赞赏

alt 属性文本

如有任何疑问,欢迎扫码加WX交流