缠说・股经

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

2024/12/9 阅读(294)

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

VCP形态介绍

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

VCP原理

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

VCP的表现

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

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

VCP形态的买点

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

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

VCP的形成条件

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

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

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

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

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

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

VCP形态公式的计算原理

1、拟合曲线

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

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

2、拟合曲线的底和顶

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

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

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);

最低点:

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);

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;
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;

公式源码截图

公式效果图

VCP形态选股公式

SL:=EMA(EMA(SLOPE(C,10)*5+C,10),2);
DI:=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形态选股公式中,我并没有加入这一条件。因此,在使用此公式时,请务必留意这一点,并结合其他分析手段来全面评估股票的表现。

SuperCMS 当前页面数据:

site-> {"name":"缠说・股经","domain":"cms.foryet.com","email":"ionce@163.com","wx":null,"icp":"京ICP备14010346号","code":"<script>\nvar _hmt = _hmt || [];\n(function() {\n var hm = document.createElement(\"script\");\n hm.src = \"https://hm.baidu.com/hm.js?5c8631bca37418ebe800131824342f04\";\n var s = document.getElementsByTagName(\"script\")[0]; \n s.parentNode.insertBefore(hm, s);\n})();\n</script>\n","title":"缠说• 股经","keywords":"通达信,同花顺,指标公式,选股公式,量化交易,量化炒股,量化策略,股票,财经,证券,金融,港股,行情,基金,债券,期货,外汇,科创板,保险,银行,博客,股吧,财迷,论坛,数据,stock,quote,news,fund,bank,blog,data,bbs,股票,投资,交易,行情,上市公司,大盘,上证指数,基金,直播,股评,荐股,博客 ,外汇,黄金,期货,港股,美股, 财经日历,银行,新闻, 证券","description":"股票交易技术交流,指标公式,选股公式编写,股票投资经验汇集,量化交易策略编写及技术分享,“缠中说禅”博文。","json":"{\"github\": \"https://github.com/ionce007/cms\",\"weibo\": \"https://weibo.com\",\"email\": \"mailto:cionce@163.com\",\"logo\":\"✨\"}"}

nav-> [{"id":1,"pid":0,"name":"首页","pinyin":"home","path":"/home","orderBy":1,"target":"0","status":"0","listView":"index.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"1","tag":"home","level":1},{"id":2,"pid":0,"name":"谈股论经","pinyin":"tangulunjing","path":"/tangulunjing","orderBy":2,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"tangulunjing","level":1,"createdAt":"09-21"},{"id":3,"pid":0,"name":"指标公式","pinyin":"formula","path":"/formula","orderBy":3,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"formula","level":1,"createdAt":"09-21"},{"id":11,"pid":0,"name":"数据集锦","pinyin":"datus","path":"/datus","orderBy":4,"target":"0","status":"0","listView":"stockdata.html","articleView":"stockdata.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"datus","level":1,"createdAt":"09-21"},{"id":7,"pid":0,"name":"关于我们","pinyin":"about","path":"/about","orderBy":6,"target":"0","status":"0","listView":"article.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"1","tag":"about","level":1,"createdAt":"09-21"},{"id":12,"pid":0,"name":"量化策略","pinyin":"lianghua","path":"/lianghua","orderBy":7,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"lianghua","level":1,"createdAt":"09-21"},{"id":13,"pid":0,"name":"个股分析","pinyin":"gegufenxi","path":"/gegufenxi","orderBy":8,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"gegufenxi","level":1,"createdAt":"09-21"},{"id":14,"pid":0,"name":"大势分析","pinyin":"dashifenxi","path":"/dashifenxi","orderBy":9,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"dashifenxi","level":1,"createdAt":"09-21"}]

category-> [{"id":1,"pid":0,"name":"首页","pinyin":"home","path":"/home","orderBy":1,"target":"0","status":"0","listView":"index.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"1","tag":"home","level":1},{"id":2,"pid":0,"name":"谈股论经","pinyin":"tangulunjing","path":"/tangulunjing","orderBy":2,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"tangulunjing","level":1,"createdAt":"09-21"},{"id":3,"pid":0,"name":"指标公式","pinyin":"formula","path":"/formula","orderBy":3,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"formula","level":1,"createdAt":"09-21"},{"id":11,"pid":0,"name":"数据集锦","pinyin":"datus","path":"/datus","orderBy":4,"target":"0","status":"0","listView":"stockdata.html","articleView":"stockdata.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"datus","level":1,"createdAt":"09-21"},{"id":7,"pid":0,"name":"关于我们","pinyin":"about","path":"/about","orderBy":6,"target":"0","status":"0","listView":"article.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"1","tag":"about","level":1,"createdAt":"09-21"},{"id":12,"pid":0,"name":"量化策略","pinyin":"lianghua","path":"/lianghua","orderBy":7,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"lianghua","level":1,"createdAt":"09-21"},{"id":13,"pid":0,"name":"个股分析","pinyin":"gegufenxi","path":"/gegufenxi","orderBy":8,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"gegufenxi","level":1,"createdAt":"09-21"},{"id":14,"pid":0,"name":"大势分析","pinyin":"dashifenxi","path":"/dashifenxi","orderBy":9,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"dashifenxi","level":1,"createdAt":"09-21"}]

friendlink-> [{"title":"SuperCMS官网","link":"https://cms.foryet.com"}]

static_url-> /web/default

frag--->{"gratitude":"<p>自本站开通已来,已有多位网友对本站以各种方式进行了支持和赞助,非常感谢你们对我的支持,这不仅是对我工作的肯定,更是对我个人的鼓舞。你们的支持是我创作的动力,我将不断提升自己,为大家提供更有价值的内容。再次感谢你们的支持,让我们一起向前!</p>\n<p>在此,特别感谢以下网友(以下列表仅为阅读本站文章后打赏,非购买指标;排名不分先后):</p>\n<table style=\"border-collapse: collapse; margin-left: auto; margin-right: auto; width: 58.1236%; height: 254.719px;\" border=\"1\">\n<thead>\n<tr style=\"height: 19.5938px;\">\n<th style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">网友名称</th>\n<th style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">赞助方式</th>\n<th style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">打赏金额</th>\n</tr>\n</thead>\n<tbody>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">指***待</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">68</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">Gi***rl</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">50</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">桂花***</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">100</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">花***子</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">88</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">an***le</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">20</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">be***ay</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">50</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">ca***in</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">60</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">ca***ca</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">30</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">陈***in</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">80</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">ch***hj</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">30</td>\n</tr>\n<tr>\n<td style=\"width: 34.5748%; text-align: center;\">北***光</td>\n<td style=\"width: 32.8883%; text-align: center;\">微信打赏</td>\n<td style=\"width: 32.4666%; text-align: center;\">100</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">ci***dy</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">10</td>\n</tr>\n<tr>\n<td style=\"width: 34.5748%; text-align: center;\">无***氏</td>\n<td style=\"width: 32.8883%; text-align: center;\">微信打赏</td>\n<td style=\"width: 32.4666%; text-align: center;\">20</td>\n</tr>\n<tr style=\"height: 19.5938px;\">\n<td style=\"width: 34.5748%; height: 19.5938px;\" align=\"center\">em***ly</td>\n<td style=\"width: 32.8883%; height: 19.5938px;\" align=\"center\">微信打赏</td>\n<td style=\"width: 32.4666%; height: 19.5938px;\" align=\"center\">80</td>\n</tr>\n</tbody>\n</table>","donate":"<h2 id=\"h0\">给咖啡加块糖</h2>\n<p>当你看到这里,说明你非常理解一个码农的付出,同时本站撰写的内容对你也是有价值的。</p>\n<p>如果你觉得「嘿,这篇文章不错」,也可以通过以下渠道进行请我喝杯咖啡 ☕️:</p>\n<p>任何有意义的信息、评论、邮件或反馈本站都很乐于收到,并在力所能及的情况吸收合理的要求和建议。</p>\n<h2 id=\"h1\">支付宝打赏</h2>\n<p><img src=\"//img.foryet.com/uploads/2026/0125_31014634042_zfbPay.png\" alt=\"alt 属性文本\" width=\"250\" height=\"285\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<h2 id=\"h2\">微信打赏</h2>\n<p><img src=\"//img.foryet.com/uploads/2026/0125_31014606929_wxPay.png\" alt=\"alt 属性文本\" width=\"387\" height=\"331\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p>感谢各位进行捐赠的朋友(鞠躬) ❤️</p>","aboutus":"<p>想来想去,还是觉得应该有一个网站的简单介绍。</p>\n<h2 id=\"h0\">为什么会开发本网站</h2>\n<p>这些年来,一直忙于在各种平台(诸于<a href=\"https://www.zhihu.com/people/ionce91\" title=\"知乎\">知乎</a>、<a href=\"https://www.xiaohongshu.com/user/profile/5b1bcb694eacab77ef53042a\" title=\"小红书\">小红书</a>、<a href=\"https://www.toutiao.com/c/user/token/MS4wLjABAAAA6Euco2XAvUHBjHIRHalEqKWAoQcDaifAFF7orbNNiEM\" title=\"今日头条\">今日头条</a>等)发表一些财经相关或其他类型的文章,无赖于大平台的各种要求或限制,尽管细读平台的各种规则并遵守,经常还是有文章被限制发表,更有甚者有些文章被粗暴地删除。</p>\n<p>受益于本人一直从事计算机与软件系统研发,我决定开发一套自己的博客系统,除摆脱各平台的制约和莫名的规则外,一则通过某一些小途径完成我对于技术的想象,再则在快节奏的时代背景下控制自己自发主动的进行内容整理,复盘,归档与输出也是一种自我学习与提高十分有效的方法之一。在解决了域名、服务托管等必备的条件之后,本站就应运而生了!</p>\n<p>本博客会长期稳定更新,以便进行学习、研究甚至是商业上的探索。</p>\n<h2 id=\"h1\">关于版权说明</h2>\n<p>本博客除了自己本人撰写股票交易等财经类文章外,也会从今日头条、知乎、微博等平台转载一些文章,如果这些转载人文章侵犯了你的版权,请通过微信联系本人,我必将删除之!</p>\n<h2 id=\"h2\">关于隐私权及评论</h2>\n<p>不会追踪单个访客行为,且不要求访客提供敏感信息(比如真实姓名,身份证号码等),因而也不会有任何隐私的泄漏问题。</p>\n<p>关于评论,请遵守基本的礼貌规范,禁止发布任何有关淫秽,反动,暴力,赌博,恐吓或违法的评论,在尊重言论自由的同时保持和平与理性。请勿对其中的任何评论者采取不友好的评论与过激争吵行为。对此我将保留删除评论的权利。</p>\n<h2 id=\"h3\">责任与义务</h2>\n<p>本站的目的,是为自己在股市投资的成长记录与心得的记忆,同时分享自己认为还算不错的技术文章,以促进博主的不断进步。鉴于此,本站将不间断,但不定期地更新。</p>\n<p>如果本站分享的博文、技术指标或数据等正好对你有所帮助,那也是我的莫大荣幸!但如果你以本站分享的包含但不限于文章、技术、指标和数据等进行投资,那你所产生的盈利和亏损都将与本站及博主个人无关,请谨记:投资有风险,入市须谨慎!</p>\n<h2 id=\"h3\">打赏与捐赠</h2>\n<p>最简单的赞赏方式是发送一封感谢信到我的邮箱!</p>\n<p>当然,你可以<strong><a href=\"/about/page-46.html\" title=\"打赏\">点击这里</a></strong>来对&ldquo;缠说 ● 股经&rdquo;进行打赏或捐赠。</p>\n<p>在此,<strong><a href=\"/about/page-47.html\" title=\"特别感谢\">特别感谢</a></strong>那些以各种方式对本站支持的友友们!</p>","weixinerweima":"<p><img src=\"//img.foryet.com/uploads/2026/0120_30581810801_mceu_54808294511768921010564.png\" width=\"200\" height=\"200\"></p>","PowerBy":"<p style=\"text-align: center; margin-top: 8px;\">Powder By <a href=\"http://cms.foryet.com\" target=\"_blank\" rel=\"noopener\">SuperCMS v3.0.14</a></p>","site_introduce":"<p><span style=\"font-size: 16px;\">股票交易技术交流,指标公式,选股公式编写,股票投资经验汇集,量化交易策略编写及技术分享。欢迎扫码交流。</span></p>\n<p><img src=\"//img.foryet.com/uploads/2026/0120_30581810801_mceu_54808294511768921010564.png\" width=\"200\" height=\"200\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>"}

tag--->[{"id":5,"name":"经验交流","path":"jingyanjiaoliu","count":30},{"id":6,"name":"技术指标","path":"jishuzhibiao","count":27},{"id":3,"name":"指标公式","path":"formula","count":19},{"id":4,"name":"选股公式","path":"xgformula","count":12},{"id":7,"name":"量化技术","path":"lianghuajishu","count":null}]

position------>[{"id":2,"pid":0,"name":"谈股论经","pinyin":"tangulunjing","path":"/tangulunjing","orderBy":2,"target":"0","status":"0","listView":"list.html","articleView":"article.html","seoTitle":"","seoKeywords":"","seoDescription":"","type":"0","tag":"tangulunjing","level":1,"createdAt":"09-21"}]

navSub------>

article------>{"id":21,"cid":2,"subCid":"","title":"全美交易冠军马克·米勒维尼的核心交易模式VCP形态的指标公式及选股公式","shortTitle":"","tagId":"3","attr":"1,3,4","articleView":null,"source":"","author":null,"description":"VCP形态的英文”Volatility Contraction Pattern”的缩写,意思是“波动收缩形态”。VCP形态是全美交易冠军马克·米勒维尼的核心交易模式之一,在其著作《股票魔法师》中有详细介绍。","img":"//img.foryet.com/uploads/2026/0829_49670292537_mceu_36959055751788009492336.png","content":"<h2 id=\"h0\"><strong><span style=\"color: rgb(224, 62, 45);\">VCP形态介绍</span></strong></h2>\n<p>VCP形态的英文&rdquo;Volatility Contraction Pattern&rdquo;的缩写,意思是&ldquo;波动收缩形态&rdquo;。VCP形态是全美交易冠军马克&middot;米勒维尼的核心交易模式之一,在其著作《股票魔法师》中有详细介绍。</p>\n<p><strong>VCP原理</strong></p>\n<p>是实际操作中供求法则的作用,是股票经历了从弱势手到强势手有序的过渡过程,因为真正推动股价上涨的是机构(大资金)投资者正在积极的买入股票,是强势投资者代替弱势投资者的过程,一旦弱势投资者被淘汰,供应的缺乏即使少量的需求也能轻松推高股价,在波动收缩期间,市场供应量越来越少,更多的长线买家买入,短线卖家变少。</p>\n<p><strong>VCP的表现</strong></p>\n<p>其发生在股价的第二阶段,上升趋势,股价上涨了30%、40%、50%甚至更高后,股价开始调整,经过来回拉锯,价格从高点到低点波动逐渐收窄,一般有2-6次的收缩,随着VCP中的每一次收缩,股票价格变得更加紧实,意味着供给的减少,从左到右修正幅度越来越少,在这个过程中价格波动逐渐降低,收窄同时伴随着交易量的显著下滑。</p>\n<p>马克&middot;米勒维尼把VCP形态比喻为湿毛巾,拧过一次后仍含水,重新拧一下,又挤出一些。继续拧紧毛巾,每次挤出的水越来越少,最后毛巾变干变轻。VCP每一次收缩,股价变得&ldquo;更加紧实&rdquo;,意味着供给减少,就像毛巾被拧干。经历几次收缩后,股票变得更轻,比之前有大量供给时更容易向一个方向移动。</p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670202812_mceu_87471185331788009402620.jpg\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p><strong>VCP形态的买点</strong></p>\n<p>枢纽点、最小阻力线是最佳买点,可能是股价创新高的位置,也有可能低于股价高点的位置,一个适当的枢纽点(最小阻力线)代表股票盘整的完成和下一个上涨的前景。换句话说,在形成适当的基地图形之后,枢纽点(最小阻力线)的触发代表股票可以介入交易的价格水平。</p>\n<p>切记选择趋势已经形成的股票,有机构大资金支撑的股票,一定要等待突破之后介入,也有很多时候会出现价格一瞬间突破,或者买入之后一直不出现突破,甚至还会出现回调。</p>\n<h2 id=\"h1\"><strong><span style=\"color: rgb(224, 62, 45);\">VCP的形成条件</span></strong></h2>\n<p>1、旨在目标价格波动逐渐缩小,同时成交量也明显减少,该形态通常呈现二至五次的波浪型收缩。</p>\n<p>2、读者须注意的是「初始跌幅通常是最为明显的,但一般不超过50%」。随后,价格会由低点反弹,每次的下跌幅度最好不超过前一波的一半,这样的过程反复出现数次。</p>\n<p>3、最终,价格波动出现趋缓或停滞,甚至是单日波动少于1%的情况,表明市场上的交易者已经无人愿意再卖出,预示着行情即将逆转,CPT Markets分析师指出「这个时刻往往是投资者进场的良机」。</p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670252570_mceu_44810625541788009452366.png\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p>VCP型态的要求是,目标价格必须处于上升趋势(第二阶段)中,才容易成为暴涨目标。</p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670292537_mceu_36959055751788009492336.png\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p>VCP型态的背后原理,读者可以想象成由一群散户与专业操盘手在供需市场中所形成的互动。当散户因价格上涨而急于出售目标时,目标价格波动会增大;而当市场走至波浪底部时,有经验的投资者便会开始吸纳筹码,迅速推断价格上升,此过程将循环不断。</p>\n<p>CPT Markets分析师提到,筹码由弱者手上转移到强者会形成多个波浪,即所谓的「收缩」。而这个收缩幅度会随着时间越来越小,这代表着卖压逐渐减弱,筹码趋于稳定,而当VCP型态收缩到最后,会出现成交量萎缩的现象,在此,投资人应留意「若出现强劲攻击量并突破前高,创下新高点,此时往往会是一绝佳的买点。</p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670329560_mceu_57024677361788009529298.png\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<h2 id=\"h2\"><span style=\"color: rgb(224, 62, 45);\"><strong>VCP形态公式的计算原理</strong></span></h2>\n<p><strong>1、拟合曲线</strong></p>\n<p>在指标公式开发过程中,曾使用布林线、振幅等方法来进行处理计算高点和低点,但效果不够理想,后经多次测试,决定采用斜率加权和指数加权移动平均(EMA)二次平滑的方法,得到拟合曲线SL,用于清晰展示高点和低点。</p>\n<pre><code class=\"hljs language-css\">SL:=<span class=\"hljs-built_in\">EMA</span>(<span class=\"hljs-built_in\">EMA</span>(<span class=\"hljs-built_in\">SLOPE</span>(C,<span class=\"hljs-number\">10</span>)*<span class=\"hljs-number\">5</span>+C,<span class=\"hljs-number\">10</span>),<span class=\"hljs-number\">2</span>);\n</code></pre>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670376490_mceu_86488094771788009576261.jpg\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p><strong>2、拟合曲线的底和顶</strong></p>\n<p>通过对SL曲线的周期值比较,识别曲线的顶点和底点。</p>\n<pre><code class=\"hljs language-css\">DI:=<span class=\"hljs-built_in\">REF</span>(SL,<span class=\"hljs-number\">1</span>)<<span class=\"hljs-built_in\">REF</span>(SL,<span class=\"hljs-number\">2</span>) AND <span class=\"hljs-built_in\">REF</span>(SL,<span class=\"hljs-number\">1</span>)<SL;(底)\n\nDING:=<span class=\"hljs-built_in\">REF</span>(SL,<span class=\"hljs-number\">1</span>)><span class=\"hljs-built_in\">REF</span>(SL,<span class=\"hljs-number\">2</span>) AND <span class=\"hljs-built_in\">REF</span>(SL,<span class=\"hljs-number\">1</span>)>SL;(顶)\n</code></pre>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670423988_mceu_15862281981788009623780.jpg\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p><strong>3、高低点计算</strong></p>\n<p>利用BARSLAST和SUMBARS函数计算底部间的周期数,并使用FINDHIGH和FINDLOW函数找到高低点。</p>\n<p>最高点:</p>\n<pre><code class=\"hljs language-css\">TDI1:=<span class=\"hljs-built_in\">BARSLAST</span>(DI)+<span class=\"hljs-number\">1</span>;\nTDI2:=<span class=\"hljs-built_in\">SUMBARS</span>(DI,<span class=\"hljs-number\">2</span>);\nTDI3:=<span class=\"hljs-built_in\">SUMBARS</span>(DI,<span class=\"hljs-number\">3</span>);\nTDI4:=<span class=\"hljs-built_in\">SUMBARS</span>(DI,<span class=\"hljs-number\">4</span>);\nDINGH1:=<span class=\"hljs-built_in\">FINDHIGH</span>(H,TDI1,TDI2-TDI1,<span class=\"hljs-number\">1</span>);\nDINGH2:=<span class=\"hljs-built_in\">FINDHIGH</span>(H,TDI2,TDI3-TDI2,<span class=\"hljs-number\">1</span>);\nDINGH3:=<span class=\"hljs-built_in\">FINDHIGH</span>(H,TDI3,TDI4-TDI3,<span class=\"hljs-number\">1</span>);</code></pre>\n<p> </p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670462648_mceu_18382284491788009662443.jpg\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p>最低点:</p>\n<pre><code class=\"hljs language-css\">TDING1:=<span class=\"hljs-built_in\">BARSLAST</span>(DING)+<span class=\"hljs-number\">1</span>;\nTDING2:=<span class=\"hljs-built_in\">SUMBARS</span>(DING,<span class=\"hljs-number\">2</span>);\nTDING3:=<span class=\"hljs-built_in\">SUMBARS</span>(DING,<span class=\"hljs-number\">3</span>);\nDIL1:=<span class=\"hljs-built_in\">FINDLOW</span>(L,TDING1,TDING2-TDING1,<span class=\"hljs-number\">1</span>);\nDIL2:=<span class=\"hljs-built_in\">FINDLOW</span>(L,TDING2,TDING3-TDING2,<span class=\"hljs-number\">1</span>);\n<span class=\"hljs-selector-tag\">DL</span>:=<span class=\"hljs-built_in\">FINDLOW</span>(L,<span class=\"hljs-number\">1</span>,TDING1,<span class=\"hljs-number\">1</span>);</code></pre>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670534809_mceu_218518357101788009734499.jpg\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p><strong>4、条件设置</strong></p>\n<p>设置条件以过滤出符合条件的VCP形态股票。</p>\n<p>1)、计算K线顶和底的价格</p>\n<p>在准备阶段,已经计算出了K线顶(DINGH1, DINGH2, DINGH3)和底(DIL1, DIL2)的价格。</p>\n<p>2)、顶的价格范围</p>\n<p>A1条件用于确定三个顶(DINGH1, DINGH2, DINGH3)的价格范围。</p>\n<p>找出三个顶中的最大值(MAXH)和最小值(MINH)。</p>\n<p>设定一个幅度限制,比如5%,即三个顶的价格差异不能超过这个范围。</p>\n<p>使用公式 A1:=(MAXH-MINH)/MINH*100<5; 来判断是否满足条件。</p>\n<p>3)、底的价格关系</p>\n<p>A2条件用于确定两个底(DIL1, DIL2)之间的价格关系。</p>\n<p>要求后一个底(DIL1)相对于前一个底(DIL2)不能低过-2%。</p>\n<p>同时还要求DIL(可能是指另一个底或某个基准值,但说明中未明确)要大于DIL1。</p>\n<p>使用公式 A2:=(DIL1-DIL2)/DIL2*100>-2 AND DL>DIL1; 来判断是否满足条件。</p>\n<p>4)、触发信号</p>\n<p>A3条件是一个触发信号,用于确定是否出现买入或卖出机会。</p>\n<p>要求当前K线创下过去20日的新高(HHV(H,20))。</p>\n<p>同时要求当前K线为阳线,即收盘价(C)大于开盘价(O)。</p>\n<p>使用公式 A3:=H=HHV(H,20) AND C>O; 来判断是否满足条件。</p>\n<h2 id=\"h3\"><span style=\"color: rgb(224, 62, 45);\"><strong>VCP形态指标公式</strong></span></h2>\n<p><strong>公式源码</strong></p>\n<p>将以上编写的条件和逻辑整合至主图公式中,以可视化地显示符合条件的VCP形态股票。</p>\n<pre><code class=\"language-VCP形态指标主图公式\">SL:=EMA(EMA(SLOPE(C,10)*5+C,10),2);\nDI:=REF(SL,1)<REF(SL,2) AND REF(SL,1)<SL;\nDING:=REF(SL,1)>REF(SL,2) AND REF(SL,1)>SL;\nTDI1:=BARSLAST(DI)+1;\nTDI2:=SUMBARS(DI,2);\nTDI3:=SUMBARS(DI,3);\nTDI4:=SUMBARS(DI,4);\nDINGH1:=FINDHIGH(H,TDI1,TDI2-TDI1,1);\nDINGH2:=FINDHIGH(H,TDI2,TDI3-TDI2,1);\nDINGH3:=FINDHIGH(H,TDI3,TDI4-TDI3,1);\nTDING1:=BARSLAST(DING)+1;\nTDING2:=SUMBARS(DING,2);\nTDING3:=SUMBARS(DING,3);\nDIL1:=FINDLOW(L,TDING1,TDING2-TDING1,1);\nDIL2:=FINDLOW(L,TDING2,TDING3-TDING2,1);\nDL:=FINDLOW(L,1,TDING1,1);\nMAXH:=MAX(DINGH1,MAX(DINGH2,DINGH3));\nMINH:=MIN(DINGH1,MIN(DINGH2,DINGH3));\nA1:=(MAXH-MINH)/MINH*100<5;\nA2:=(DIL1-DIL2)/DIL2*100>-2 AND DL>DIL1;\nA3:=H=HHV(H,20) AND C>O;\nAA:=A1 AND A2 AND A3;\nXG:=FILTER(AA,20);\nDRAWICON(XG,L,1);\nSTICKLINE(XG,H,L,0,0),COLORYELLOW;\nSTICKLINE(XG,O,C,3,0),COLORYELLOW;\n</code></pre>\n<p><strong>公式源码截图</strong></p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670585581_mceu_731013596111788009785377.png\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<p><strong>公式效果图</strong></p>\n<p><img src=\"//img.foryet.com/uploads/2026/0829_49670628914_mceu_23110058121788009828709.jpg\" width=\"600\" style=\"display: block; margin-left: auto; margin-right: auto;\"></p>\n<h2 id=\"h4\"><span style=\"color: rgb(224, 62, 45);\"><strong>VCP形态选股公式</strong></span></h2>\n<pre><code class=\"language-VCP形态选股公式\">SL:=EMA(EMA(SLOPE(C,10)*5+C,10),2);\nDI:=REF(SL,1)<REF(SL,2) AND REF(SL,1)<SL;\nDING:=REF(SL,1)>REF(SL,2) AND REF(SL,1)>SL;\nTDI1:=BARSLAST(DI)+1;\nTDI2:=SUMBARS(DI,2);\nTDI3:=SUMBARS(DI,3);\nTDI4:=SUMBARS(DI,4);\nDINGH1:=FINDHIGH(H,TDI1,TDI2-TDI1,1);\nDINGH2:=FINDHIGH(H,TDI2,TDI3-TDI2,1);\nDINGH3:=FINDHIGH(H,TDI3,TDI4-TDI3,1);\nTDING1:=BARSLAST(DING)+1;\nTDING2:=SUMBARS(DING,2);\nTDING3:=SUMBARS(DING,3);\nDIL1:=FINDLOW(L,TDING1,TDING2-TDING1,1);\nDIL2:=FINDLOW(L,TDING2,TDING3-TDING2,1);\nDL:=FINDLOW(L,1,TDING1,1);\nMAXH:=MAX(DINGH1,MAX(DINGH2,DINGH3));\nMINH:=MIN(DINGH1,MIN(DINGH2,DINGH3));\nA1:=(MAXH-MINH)/MINH*100<5;\nA2:=(DIL1-DIL2)/DIL2*100>-2 AND DL>DIL1;\nA3:=H=HHV(H,20) AND C>O;\nAA:=A1 AND A2 AND A3;\nXG:FILTER(AA,20);\n</code></pre>\n<h2 id=\"h5\"><span style=\"color: rgb(224, 62, 45);\"><strong>注意事项</strong></span></h2>\n<p>在编写VCP形态选股公式时,设置了一个特定的触发条件,即&ldquo;创20日新高H=HHV(H,20)&rdquo;。这个条件并没有直接遵循《股票魔法师》一书中的定义。我选择这样的设置是为了让触发信号能够更早地出现,从而方便后续的跟踪观察。</p>\n<p>然而,值得注意的是,一个理想的VCP通常应该出现在股价的&ldquo;第二阶段&rdquo;。但在本次编写的VCP形态选股公式中,我并没有加入这一条件。因此,在使用此公式时,请务必留意这一点,并结合其他分析手段来全面评估股票的表现。</p>\n<center></center>","status":0,"pv":294,"link":"","createdAt":"2024-12-09T23:17:35.000Z","updatedAt":"2024-12-09T23:17:35.000Z","likes":null,"field":{}}

article.tags------>

news------>[]

hot------>[]

imgs------>[]

pre------>{"id":18,"title":"股票交易中的分歧,一致和分歧转一致及实例分析","name":"谈股论经","path":"/tangulunjing"}

next------>{"id":22,"title":"主力拉高建仓洗盘再启动的首板买入方法","name":"谈股论经","path":"/tangulunjing"}