The VCP: the definition
The name says what you look at: the size of the pullbacks contracts. Elearnmarkets' summary of the book Trade Like a Stock Market Wizard, published by a market education site, reports it this way: the stock moves from the left side of its base, with greater volatility, to the right side, with lesser volatility, with areas where volume contracts as well. The pattern is used to set a precise entry point, which that summary calls the line of least resistance.
The VCP guide in TrendSpider's learning center, from a charting software company, describes it the same way: a consolidation base made of several pullbacks, each smaller than the one before, volume that decreases as price ranges get smaller, and then a breakout. It credits Mark Minervini with coining the name.
Where these criteria come from. Mark Minervini presented the VCP in his books: Trade Like a Stock Market Wizard, published by McGraw-Hill in 2013 according to its Google Books record, then Think and Trade Like a Champion, which TrendSpider cites. Those books are not freely available. The criteria in this lesson therefore come from two secondary sources that summarise or comment on his books: no sentence and no number is attributed to him directly here. Pages consulted in October 2026.
What the pattern tells. According to the Elearnmarkets summary, when a stock corrects, buyers who bought near the high are sitting on a loss, and many would be pleased just to get back to breakeven; others, who bought lower, take their profits as price nears the old high. That selling forms an overhead supply, and it is what causes the pullbacks on the right side of the base. Smaller and smaller pullbacks are then read as supply running out. It is a reading, not a measurement: the chart does not say who is selling, or why.
Identifying a VCP: the criteria, and where sources disagree
An uptrend first. You do not look for a VCP just anywhere. TrendSpider writes that the stock first has to meet Minervini's 'Trend Template', and details it as follows: price above its 50-day, 150-day and 200-day simple moving averages, the 50-day average above the other two, the 150-day above the 200-day, a 200-day average higher than 30 days ago, price at least 30% above its 52-week low and within 25% of its 52-week high, and relative strength above 70. Those thresholds are the ones the page reports.
Smaller and smaller contractions. This is the heart of the pattern: each pullback has to be shallower than the one before. TrendSpider gives an example, 20%, 10%, 5%, without making it a threshold. Neither source says by how much a pullback has to be smaller than the previous one.
The number of contractions. The two sources do not give the same one. The Elearnmarkets summary speaks of generally between two and four contractions; TrendSpider, of two to six pullbacks. A base with five pullbacks therefore fits the description of one and falls outside the general case of the other.
Volume drying up. Both sources ask for volume to decrease while the range narrows, and TrendSpider reads it as selling pressure easing. Neither gives a numerical threshold, either for the drop in volume inside the base or for its rise on the breakout: 'high volume' remains an adjective there.
The pivot point. For the Elearnmarkets summary, a proper pivot point marks the completion of the consolidation and the threshold of the next advance: it is a price level that calls for action, also called the optimal buy point. TrendSpider places the entry on a high-volume break of the pivot's resistance, and the stop below the low of the last contraction. The summary adds a follow-up rule: once the pivot is broken, price should hold its 20-day moving average and not close below it.
The Elearnmarkets summary reports one last filter: favour the stocks that correct the least, and avoid, under most circumstances, those that correct more than two to three times the decline of the general market. Pick one definition, write it down, and hold it: number of contractions allowed, way of measuring a pullback, volume threshold. Without that, two records of the same chart do not count the same patterns.
VCP vs cup and handle, triangle and flag: a property more than a shape
The Elearnmarkets summary writes that a contraction of volatility is a common characteristic of almost all constructive price patterns. The VCP therefore reads less as one more drawing than as a property found in patterns you already know.
VCP and cup and handle. The cup and handle is a large rounded decline followed by a small consolidation near the top: two pullbacks, the second smaller than the first. Its criteria are about shape and duration, a U-shaped bottom, a handle in the upper half, and its lesson gives measured numbers. In the sources read, the VCP sets neither shape nor duration: it counts the pullbacks and compares their depth.
VCP and triangle. The lesson on the triangle pattern defines the triangle as a contraction of range between two converging lines. An ascending triangle, with a flat top and rising lows, looks like a VCP whose highs stall at the same level. The difference lies in what is required: the triangle asks for at least two touches on each line; the VCP asks for an uptrend first and decreasing volume.
VCP and flag. The flag is a short pause after a sharp move, described in the article on the flag pattern. It does not count successive contractions. The two patterns share the idea of a pause within a trend, not their definition.
Measuring the contraction. In the sources read, the depth of a pullback is given as a percentage. Nothing stops you from also tracking the average range of the candles with the ATR, which falls when candles get shorter. That is an extra marker, not a criterion of the pattern as those sources describe it.
A worked example: three contractions, from 25% to 6%
The prices are invented. A stock in an uptrend rises to 100, then consolidates. First pullback: from 100 to 75, that is (100 − 75) ÷ 100 = 25%. It comes back to 100, then falls to 88: (100 − 88) ÷ 100 = 12%. It comes back to 100 again, then falls to 94: (100 − 94) ÷ 100 = 6%. Each pullback is roughly half the one before: 12 ÷ 25 = 0.48, then 6 ÷ 12 = 0.5. Three contractions, smaller and smaller: the shape criterion is met. This is the first figure of this lesson.
Volume. Average volume per session goes from 1,200,000 shares during the first pullback to 800,000 during the second, then to 400,000 during the third, a third of where it started. On the day price moves above 100, 1,600,000 shares change hands, four times the average of the last pullback. These volumes are invented too: none of the sources read gives a threshold.
The pivot, the entry and the stop. The pivot point is the high of the last contraction, 100. The entry is taken on the break, at 101 in the example. With TrendSpider's marker, the stop goes below the low of the last contraction, so below 94: at 93. The risk is 101 − 93 = 8 per share, about 7.9% of the entry price. The article on where to place your stop-loss explains why the stop goes where the read is proved wrong, and not at a distance chosen in advance.
Position size. With risk set at 200 per trade, an 8-point stop gives 200 ÷ 8 = 25 shares, a position of 25 × 101 = 2,525. If the stop is hit, the loss is 25 × 8 = 200, that is −1R, before costs and slippage. Making 2R takes a price of 101 + 16 = 117, and 3R a price of 125. This is where the contraction matters: a stop below the low of the first pullback, at 74, would be 27 away from the entry price, or 26.7%, and the same risk of 200 would buy only 7 shares. The smaller the last pullback, the closer the stop, and the larger the position can be for the same risk.
Two possible outcomes. On the left of the figure below, price holds above the pivot and reaches 117. On the right, it breaks 100, rises to 102.5, then falls back under the pivot and hits the stop at 93: that is a false breakout, and it costs 1R. The example does not say which of the two outcomes is the more frequent, because no published measurement says so for the VCP.
What published research says, and does not say
No study under that name. A search carried out in October 2026 on the name of the pattern turned up no study published in a scientific journal: the results are guides from software, indicator and education sites. The success percentages in circulation therefore have, to our knowledge, no published population that can be checked: no market, no period, no detection rule. This lesson repeats none of them.
What exists nearby: patterns written as rules. The study by Lo, Mamaysky and Wang published in 2000 in the Journal of Finance starts from the observation that the presence of a pattern on a chart is often in the eyes of the beholder. In response, it writes ten classic patterns as rules applied by an algorithm, on the daily returns of U.S. stocks from the NYSE, AMEX and Nasdaq, from 1962 to 1996. The triangle is defined there as a sequence of five extrema with falling highs and rising lows, which is a contraction of range. The authors conclude that certain patterns provide incremental information, especially for Nasdaq stocks, and add that this does not necessarily imply trading profits. The study tests neither the VCP nor the rule of smaller and smaller pullbacks.
What exists nearby: buying near the high. The trend filter reported above asks for a price close to its 52-week high. Thomas George and Chuan-Yang Hwang measured that nearness in 'The 52-Week High and Momentum Investing', published in 2004 in the Journal of Finance, on all stocks in the CRSP database, from July 1963 to December 2001. The 30% of stocks closest to their 52-week high returned 1.51% per month on average, against 1.06% for the 30% furthest from it, in portfolios held for six months: a gap of 0.45 points per month. That is an average over portfolios of a great many stocks, with no stop and no pattern. It bears on one condition of the trend filter, not on the contraction or on the break of the pivot.
Mark Minervini's results. A press release issued in January 2022 by his company, Minervini Private Access, states that in the 2021 United States Investing Championship he won the stock division for accounts of one million dollars and more with a 334.8% annual return, in a competition involving 338 traders, and that he had finished first in the 1997 edition with 155%. The website of the championship's organiser lists him among its prior participants. These are one man's results, across all his trades, with his stock selection, his risk management and his exits. The press release does not mention the VCP and does not say what share of those trades were VCPs: these numbers do not measure the pattern.
The limits of the VCP
A pattern recognised after the fact. On a finished chart, the three contractions show at a glance, and the examples people display are the ones whose breakout worked. Live, you do not know whether the current pullback is the last one, or whether the base will widen instead of tightening.
A subjective count. Where a contraction starts, which low counts, from what difference a pullback is 'smaller': the sources read do not fix it, and they do not agree on the number of contractions. An automatic scanner applies one of those definitions, its publisher's.
False breakouts. A price that breaks the pivot can fall back under it, as in the right-hand part of the example. No published measurement gives the frequency of that case for the VCP. The article on the break and retest details what becomes of a level once it is broken. The stop below the last low caps the loss; it does not make it rare.
A precise frame: stocks, in an uptrend, on daily data. Everything the sources report is written for stocks: 50-day, 150-day and 200-day moving averages, 52-week high, relative strength against the rest of the market. Nothing in those sources establishes it on forex, on crypto or on a five-minute chart. And the pattern, as described there, is only traded from the long side.
In your journal. None of these readings is an order to buy: they are conventions, to be tested on your market and your timeframe with the method in the article on how to backtest a trading strategy. Tradoshi does not detect price patterns: you spot the VCP on your chart, with the definition you wrote down. The journal serves the next step: you tag each trade taken on that reading, for example 'VCP, 3 contractions, breakout on volume', and the dashboard filters by tag to show what it has given you, personally.
Frequently asked questions
What does VCP mean in trading?
VCP stands for volatility contraction pattern. The name is credited to the American trader Mark Minervini. It refers to a consolidation, within an uptrend, made of smaller and smaller pullbacks on decreasing volume, before the break of a pivot point.
How many contractions does a VCP need?
The sources read do not agree: generally two to four for the book summary published by Elearnmarkets, two to six for TrendSpider's guide. Neither says by how much each pullback has to be smaller than the previous one. It is up to you to fix the rule before you count.
Where do you place the stop on a VCP?
TrendSpider's guide places it below the low of the last contraction. In this lesson's example, the entry is at 101 and the stop at 93: 8 of risk per share, about 7.9%. The smaller the last contraction, the closer that stop is to the entry price.
Is the VCP a reliable pattern?
To our knowledge no published study measures the VCP under that name, so there is no verifiable success rate. Mark Minervini's results in the United States Investing Championship are those of one trader across all his trades, not a measurement of the pattern. The only answer that counts for you is the one given by your own tagged trades.
Does the VCP work on forex or crypto?
Nothing establishes it in the sources read: the criteria reported are written for stocks in an uptrend, with moving averages in days and a 52-week high. You can draw tightening pullbacks on any chart, but that is a hypothesis to test, not a result.
Key takeaways
- A VCP is a consolidation within an uptrend: smaller and smaller pullbacks, volume drying up, then a pivot point to break.
- The name comes from Mark Minervini. His books are not freely available: the criteria quoted here come from secondary sources, which do not agree on the number of contractions, two to four or two to six.
- Example: pullbacks of 25%, 12% and 6% under a high at 100. Entry at 101, stop at 93: 8 of risk per share, 25 shares for 200 of risk.
- To our knowledge no published study measures the VCP under that name. Minervini's championship results are one man's results, not proof of the pattern.
- Fix your definition before you count, tag your trades, and read what they give in your journal.
Going further
These blog articles dig into this lesson's ideas, one subject per article.