Educational Reference
Triangles: One Mechanism, Three Names
Ascending, descending and symmetrical triangles are taught as three shapes to memorise, each with its own bias and its own rule of thumb. They are one thing wearing three labels: a range that narrows until price leaves it. This page does not describe them. It writes the definition as code strict enough to run, detects every occurrence across 750,000 generated daily bars, and reports what the detector found, including the results that undercut the usual teaching.
The finding, stated first. Hold one set of detected patterns completely fixed and move a single tolerance, the one that decides when a boundary counts as level, and only 58 percent of them keep the name they had. On a tape built with no directional memory in it whatsoever, ascending triangles broke upward 38 percent of the time and descending triangles broke downward 39 percent of the time, which is the reverse of what is usually asserted about both. A third finding was published here and has since been withdrawn: this page reported that triangles taken with the prevailing trend underperformed a matched comparison group by 0.42 percentage points. That comparison group was partly drawn from the pattern's own bars. Rebuilt so it cannot be, the effect is 0.05 points and nothing survives. All results on this page are illustrative and simulated.
Why one shape has three names
The standard presentation is a taxonomy. An ascending triangle has a flat ceiling and a rising floor, and is described as bullish because buyers keep paying more while sellers hold one price. A descending triangle inverts it and is described as bearish. A symmetrical triangle has neither boundary level and is described as neutral or bilateral. Three shapes, three biases, three entries in the memory bank.
Look at what is actually happening in all three and the taxonomy starts to dissolve. In every case the distance between the highs and the lows is shrinking. Each swing covers less ground than the one before it. Positions are being taken and unwound inside a space that keeps getting smaller, which is another way of saying that the disagreement between buyers and sellers is narrowing toward a single price. That is one event, and it has one property worth caring about: it cannot continue indefinitely. A range that narrows must eventually stop narrowing, and when it does, price leaves.
The three names record one incidental detail about that event, which is whether the shrinking happened mostly from above, mostly from below, or evenly from both sides. It is a real distinction in the same way that a rectangle being taller than it is wide is a real distinction. Whether it carries information about what happens next is a separate question, and it is answerable, which is what the rest of this page does. The broader taxonomy of pattern families, and where triangles sit inside it, is set out in the guide to chart patterns in Indian stocks; the work here is narrower and goes underneath it.
There is a reason to be suspicious of the three-name framing before running any test at all. A classification is useful when the classes behave differently. If ascending, descending and symmetrical triangles are three different animals, then the boundary between them should be sharp, and an instance should not be able to change species because someone adjusted a setting. That is a testable property, and it is the first thing measured below.
Writing the definition down is where it gets difficult
Try to code the usual verbal definition. A triangle is a sequence of highs and lows converging toward each other over a period of consolidation, with at least a few touches on each boundary. Every clause in that sentence stops the code from compiling until a number is supplied, and none of the numbers are in the sentence.
What counts as a high? A bar higher than its neighbours, but how many neighbours? What counts as convergence? The boundaries must approach each other, but by how much, and measured how? Over what period? A triangle drawn over three weeks and a triangle drawn over six months are both called triangles, so how far back is the code allowed to look for the first touch? What counts as a touch? A boundary drawn through swing points never passes exactly through them, so how close is close enough? What counts as flat? A boundary is never perfectly horizontal, so how much slope is still level? And what counts as a break? A close beyond the line, or a close beyond the line by some margin, and if so, what margin?
Ten clauses, and not one of the numbers they need comes from the verbal definition itself. This is not a complaint about sloppiness, it is the substance of the problem. A definition that cannot be run cannot be tested, and a definition that requires ten invented numbers before it can be run is a definition whose results belong partly to the inventor. Here is the set used on this page, stated in full so that every number below can be reproduced or disputed.
| Clause | Value used | Why this value, and what it costs |
|---|---|---|
| What is a swing point | A high with 3 lower highs on each side | The most common fractal rule. Moving it between two and four bars a side takes the population from 6,384 to 8,568 on identical data, which is measured further down |
| Touches per boundary | At least 2 | Two is the minimum that defines a line at all. A boundary drawn through one point is an assertion, not a measurement |
| Touches in total | At least 5 | Forces one boundary to be tested three times. Raising it to seven barely moved anything, which was itself worth learning |
| Convergence | The gap between the boundaries must narrow by 40 percent | The single most consequential number in the definition. This is what makes it a contraction rather than a drift |
| How close is a touch | Within 0.25 of the local width | A quarter of the gap between the boundaries. Tighter and almost nothing qualifies, looser and the boundary stops meaning anything |
| Containment | 85 percent of closes inside the envelope | Stops a violently spiking series from being called a tidy consolidation. This clause fired 25,349 times against structures that had already passed the convergence test |
| What counts as level | Boundary travel under 0.20 of the starting width | Does two jobs at once: it separates a triangle from a wedge, and it decides which of the three names an instance receives. Nothing in the literature acknowledges that these are the same number |
| Window length | Shortest qualifying window up to 120 bars | Nobody states this one. Whatever cap you pick becomes the length of your triangles, so the detector tries a ladder of lengths and keeps the most compact structure that satisfies every clause |
| What counts as a break | A close beyond the boundary by 0.10 of the average true range | A bare close beyond a line is noise on a narrow range. The buffer is small enough not to miss real exits and large enough to ignore a one tick poke |
| Entry and holding | Next bar open, held 20 bars | Entering on the bar that generated the signal would quietly grant the test information from the future, which is the most common silent error in pattern studies |
Two of those deserve emphasis before anything is measured. The convergence threshold is doing the real work, because without it the definition describes any pair of lines that happen to lean toward each other. And the level tolerance is doing two unrelated jobs with one number, which is the sort of hidden coupling that only shows up when you are forced to write the thing down.
Three names, one mechanism
With the definition running, the first thing to check is whether the three classes are actually three classes. The detector labels each instance by measuring how far each boundary travelled over the life of the pattern, relative to how wide the pattern was when it started. If a boundary travelled less than the level tolerance, it is called flat. Flat on top with a rising floor is ascending, flat on the bottom with a falling ceiling is descending, and neither flat is symmetrical.
Now the test that matters. Take the 8,036 patterns the detector found, change nothing about them at all, and simply move the level tolerance. Every instance keeps its boundaries, its touches, its contraction and its break. The only thing that changes is the cut-off at which a boundary is described as level.
At the strictest setting most of the population is symmetrical, because almost no boundary is level enough to qualify. At the loosest, symmetrical nearly disappears and the same instances are ascending and descending triangles. Across the middle three settings alone, 4,637 of 8,036 instances kept one name and the remainder changed identity. Not because the market did anything, and not because the patterns changed, but because a number that no textbook prints moved by a small amount.
That is the strongest single result on this page, and it does not require any argument about profitability to land. A classification whose members change class when an undocumented tolerance is nudged is not describing three phenomena. It is describing one phenomenon and imposing three bins on it, and the bin edges are the analyst's, not the market's.
There is a related casualty in the same clause. A converging pair of boundaries is only a triangle if the upper one is not rising and the lower one is not falling; two boundaries sloping the same way make a wedge instead. Across the whole scan the detector threw out a converging structure as a wedge 111,798 times, many times over the number of triangles it accepted. The line between the two families is drawn by the same level tolerance that shuffles the names within one of them, so the wedge is not a neighbouring species so much as a leftover.
How often the pattern actually occurs
Across 750,000 daily bars, which is 250 independent generated instruments of 3,000 bars each and roughly three thousand instrument years, the definition produced 20,654 candidate patterns. After discarding overlaps, so that no two measured outcomes share a holding period on the same instrument, 8,036 independent instances remained. That is about 2.7 per instrument per year, or roughly one every four or five months on any given chart.
That number is worth stating plainly because it is not the number a different definition would give. Restrict the detector to a single fixed lookback window, rather than letting it use the shortest window that satisfies every clause, and the population drops to 711. Nothing about the data changed. One rule about how far back to look changed, and the pattern became more than ten times rarer. Anybody quoting a frequency for triangles without publishing their window rule is quoting their own settings.
The rejection census is as informative as the acceptance count. Across the scan the detector rejected a converging structure as a wedge 111,798 times, failed a containment test 25,349 times because price kept leaving the envelope, and found boundaries too loosely touched 5,473 times. Those are counts of rejected window evaluations rather than distinct chart formations, since several window lengths are tried at each point, but the ratio is the message. The overwhelming majority of things that converge on a chart do not survive a definition written down in advance, which is a useful corrective to the experience of scrolling and seeing triangles everywhere.
The instances that did qualify were shorter than the textbook impression suggests. The median ran 39 bars from first touch to detection, with a quarter under 37 bars and a quarter over 59. The break, when it came, came quickly: on average 3.0 bars after the pattern was complete, and only 249 of 20,654 candidates failed to break at all inside the thirty bars allowed. A narrowing range does not sit still for long, which is the one thing the pattern reliably tells you.
Measuring what followed, against a base rate
A pattern statistic on its own is close to meaningless. If a breakout is followed by a gain sixty percent of the time, the question is what fraction of random moments on the same data are followed by a gain, because the answer might also be sixty percent. This comparison is the thing most pattern statistics leave out, and leaving it out is usually what makes the statistic look impressive.
The base rate here is constructed to be as unfair to the pattern as possible in every respect except the one being tested. For each detected break, two hundred random entry points are drawn from the same instrument, taking a position in the same direction as the break and holding it for the same twenty bars. The only difference between the two arms is that one entered because a triangle broke and the other entered for no reason at all. That yields 1,607,200 matched control entries against 8,036 pattern entries.
One detail of that construction decides more of this page than anything in the definition table, so it is stated before the results rather than in a footnote. The control entries are drawn only from bars that fall after the pattern, within 250 bars of it. An earlier version of this page drew them from 250 bars on either side, which sounds more even-handed and is not. A triangle is a stretch of bars selected for the shape of the path price took through them. Draw the comparison group from around it and part of the comparison group is drawn from inside the pattern, and from the move that preceded it. The comparison then contains the thing it is supposed to be a comparison for. The section on context below shows exactly what that cost, because it cost this page a published finding.
On the tape with no directional memory the two distributions are the same distribution. The pattern arm returned 0.01 percentage points below flat over twenty bars and the matched random arm 0.03 above it, a gap of 0.04 percentage points in favour of entering at random, which is 0.58 standard errors from zero, with a ninety-five percent interval running from 0.17 points below to 0.09 above. The proportion of positive outcomes was 50.5 percent against 50.4 percent. The tails match too, which matters more than the averages: a tenth of pattern outcomes were worse than 6.9 percent down against 7.2 for the controls, and a tenth better than 6.7 percent up against 7.3. There is no part of the distribution where the pattern arm is distinguishable from entering at random.
This is the first place to record what the control window did and did not change, because the answer is not uniform and pretending otherwise would be the easy version. The unconditioned result above barely moved. Under the older, symmetric window it read 0.08 points at 1.24 standard errors; drawing the control only from bars after the pattern makes it 0.04 points at 0.58. Both say the same thing, which is nothing. Every figure that does not condition on the path before the break is in that category, and the reason is worth holding on to: the unconditioned arm mixes up-breaks and down-breaks in near-equal numbers, so whatever the backward window inherited from the prior move largely cancels. Condition on that prior move and the cancellation stops, which is the next section.
That result would be worthless on its own, because a detector that finds nothing might simply be broken. So the identical detector, the identical base-rate machinery and the identical thresholds were run over a second tape, built the same way but with one genuine effect inserted: after the recent trading range had been unusually narrow, a close outside that range was followed by extra drift in the direction of the break. The effect was written in terms of a simple price channel and never in terms of triangle geometry, so the detector had to find it on its own.
It did. On that tape the pattern arm averaged 0.67 percent against 0.06 percent for matched random entries, a difference of 0.61 percentage points with a t statistic of 7.51. The measured-move target was reached 18 percent of the time against 16 percent for the controls. The machinery can see an effect. On the tape where there was nothing to see, it saw nothing.
That control does a second job here, and it is the job that licenses everything below. A comparison group that reports nothing for everything is not a strict control, it is a broken instrument, so the forward-only window has to be shown capable of finding something before its nulls are worth anything. It is: on the tape with a real effect planted in it, the four control windows report 0.53, 0.57, 0.64 and 0.61 percentage points respectively, the forward-only one at 7.51 standard errors. It is not the weakest of the four. It is the second strongest, and it is stronger than the symmetric window it replaced. Strictness cost nothing here.
| Variant | Found | Broke upward | Mean, 20 bars | Matched base rate | Target reached | False breaks |
|---|---|---|---|---|---|---|
| Ascending | 2,909 | 38% | −0.12% | −0.01% | 15% vs 17% | 43% |
| Descending | 3,089 | 61% | 0.06% | 0.09% | 14% vs 16% | 42% |
| Symmetrical | 2,038 | 49% | 0.03% | 0.00% | 10% vs 12% | 39% |
| All three, control tape | 7,226 | 49% | 0.67% | 0.06% | 18% vs 16% | 38% |
The last row is the interesting one for anybody who wants to keep using the pattern. On the tape that contained a real effect, all three named variants picked it up, with t statistics of 5.0, 3.9 and 3.6 respectively. The effect lived in the contraction and in the expansion out of it, and it did not care which boundary was level. If there is something to a triangle, this is where the test says to look for it, and the name is not where it lives.
The context result this page got wrong, and how
The standard refinement on any consolidation pattern is to take it only in the direction of the prevailing trend. That is a claim about context and it is testable, so an earlier version of this page tested it, found something large, and published it. The finding was wrong. What follows is the finding, the correction, and the reason the first answer looked so convincing, because the reason turns out to be more useful than the answer would have been.
Split the 8,036 instances by whether the break ran the same way as the preceding sixty-bar move. Measured the way everything else on the page was then measured, with the comparison group drawn from 250 bars on either side, the with-the-trend group returned 0.05 percent against a matched base rate of 0.47 percent. That is a shortfall of 0.42 percentage points, 4.48 standard errors, across 3,987 instances, with the against-trend group running 0.23 points the other way. Waiting for a triangle appeared to be actively worse than entering in the same direction at a random nearby moment, and the page said so.
Look at which arm was doing the moving. The two pattern arms are almost the same: 0.05 percent with the trend and −0.07 percent against it, which is to say approximately nothing, which is what a tape with no directional memory should produce. The two comparison groups are not the same at all: 0.47 percent for the with-trend cell and −0.30 percent for the against-trend one, nearly 0.77 percentage points apart. The whole of the context effect was in the control.
Once that is visible the cause names itself. Splitting on the prior sixty-bar move sorts the instances by what price did in the bars before each pattern, and the comparison group was being drawn from 250 bars either side, so half of every draw came from exactly those bars. In the with-trend cell the backward half of the window is full of the rise that made the cell a with-trend cell, and a random entry taken from it inherits that rise. So the control is inflated where the prior move was up and deflated where it was down, and subtracting an inflated control from a flat pattern manufactures a shortfall out of nothing at all.
That is a hypothesis, and it makes three predictions that can be checked separately. If the contamination lives in the backward half of the window, then restricting the control to the backward half alone should make the effect bigger; widening the window should dilute it; and drawing the control only from bars after the pattern should remove it. All three were run and all three did what the hypothesis said. Backward only: 0.82 points at 8.78 standard errors, roughly double. A thousand bars either side: 0.10 points at 1.04. Forward only: 0.05 points at 0.51. The against-trend cell walks the same path in reverse, from 0.49 points ahead to 0.03 behind.
A result that slides monotonically to zero as the control window is pushed forward is not a real effect that is hard to see. It is the signature of a control drawn from the pattern's own bars. Against a comparison group the pattern could not have selected, neither cell reaches a single standard error, and the refinement this page claimed to have overturned is simply untested by this data rather than contradicted by it. Note what is not being claimed: the advice to trade with the trend is not supported here either. It is unmeasured.
The insight that produced the wrong answer is still correct, and it is the reason the artefact exists rather than a casualty of it. The clauses that make a shape a triangle require the highs not to be rising and the lows not to be falling, which selects, almost by construction, the stretches in which the prevailing drift was not expressing itself. That was offered as an explanation of why with-trend entries underperformed. It is better read as the mechanism that makes a surrounding control invalid: the pattern is defined by having interrupted the move, so the bars around it are the move, and they cannot serve as neutral ground for measuring what the interruption was worth. The observation was right and the conclusion drawn from it was one step too far.
This generalises past triangles, which is why it is worth the space. Any test conditioned on the path before the detection is exposed the same way, because that path is exactly what the backward half of a time-local window holds. Reversal patterns, trend-context splits and volatility-contraction measures are all in that category. The companion pages on wedges and on flags and pennants share this page's generator, seed and comparison machinery, so their agreement with it was never independent confirmation of anything. All three have been re-measured against a forward-only control and all three moved.
The folklore, one claim at a time
Four things are asserted about triangles often enough to count as common knowledge. Each of them is a number, which means each of them can be checked. The check below is deliberately run on the tape with no directional memory, because a claim that reproduces there is not telling you anything about markets.
The break favours the flat side. It does not. Of 2,909 ascending triangles, which have the flat boundary on top, 38 percent broke upward, so the majority went through the rising floor rather than the flat ceiling. Of 3,089 descending triangles, 39 percent broke through the flat floor and the rest went up through the falling ceiling. Both point the same way, and it is the opposite of the folklore.
The reason is not subtle once it is stated. The sloping boundary is moving toward price while the flat one stays where it is. In any given bar the moving boundary is closer to being reached, so over the life of the pattern it gets reached first more often. That is a fact about lines, not about buyers and sellers, and it appears in full strength on a tape where no buyer or seller exists. It follows that a directional statistic measured on real charts cannot be attributed to the pattern until this geometric bias has been subtracted from it. Whether a published direction figure has had it subtracted is worth asking before quoting one.
An ascending triangle resolves upward more often than a symmetrical one. It did the opposite here, and decisively. Ascending triangles broke upward 37.8 percent of the time and symmetrical triangles 48.7 percent, with standard errors of 0.9 and 1.1 percentage points. The gap is 10.9 points in the wrong direction, roughly 7.67 standard errors from zero, which at these sample sizes is not a fluke. Note also that the symmetrical triangle, the one described as undecided, is the only one of the three that came out close to a coin toss, precisely because both of its boundaries are moving and the geometric bias cancels.
The measured move gets reached. The measured move projects the height of the triangle at its widest from the point of the break, and it is the standard target. It was reached within the twenty-bar holding period 13 percent of the time, against 15 percent for random entries with the same target distance and window. Given sixty bars instead of twenty, 34 percent against 35 percent. The target is reached often enough that a trader will remember several instances, and no more often than chance. This is exactly the shape of a statistic that survives on recall rather than on evidence, and the time limit is another undeclared parameter: quote no deadline at all and the hit rate approaches certainty, because a wandering price eventually reaches most levels.
False breaks are the main hazard. This one holds up, and it is the only one that does. Counting a close back inside the projected boundary within five bars, 42 percent of all breaks were false. On the control tape, where a real effect existed, the rate was still 38 percent. Roughly two in five breaks reverse quickly whether or not anything is happening, which is what a boundary drawn through noisy extremes does when the range is narrow. The mechanics of why obvious levels attract and then reject price are covered in the guide to breakouts, and the arithmetic here simply says how often it happens under a fixed definition.
How much of this is the definition rather than the data
Every number above sits on ten thresholds. The honest way to report a result like this is to show how much it moves when those thresholds move, because a finding that survives only at one setting is a finding about that setting.
There are two surprises in that picture. The first is that the clauses pattern guides actually argue about turned out to be the mild ones. Demanding that the range narrow by 70 percent rather than 25 percent cut the population from 9,041 to 5,697. Raising the touch requirement from four to seven at a fixed convergence threshold took it from 8,398 to 5,780. Changing how strict a swing point must be moved it between 6,384 and 8,568. All three are real effects and all three are inside a factor of two.
The second is that the clause nobody writes down is the one that dominates. Nothing in a verbal definition tells you how to choose the window in which to look. The detector here tries a ladder of lengths and keeps the shortest that satisfies every clause, which is roughly what a person does when they draw the tightest triangle that fits the swings. Replace that with a single fixed lookback, which is the other obvious implementation and the one most people write first, and the population falls from 8,036 to 711. Same data, same ten thresholds, one unstated rule about window selection, and nine in ten instances vanish. The survivors are a different animal too: their mean length is 106 bars against 50 for the ladder.
The length of the window matters in the same quiet way. Cap it at 60 bars and the detector finds 10,555 patterns averaging 34 bars long; allow 160 and it finds 5,543 averaging 62. Whatever cap you pick becomes the typical length of the triangles you see, which is a large part of why two people looking at the same consolidation can disagree in good faith about whether it is one.
What survives all of it is the absence of an effect, and it survives the change of control as well. Re-run against the forward-only comparison group, all sixteen combinations of convergence and touch requirement sit within 0.09 percentage points of zero, tighter than the 0.19 points the symmetric version managed, and none of the sixteen reaches a single standard error. The conclusion is stable even though the object being studied is not, and that pairing is the useful part: the population of triangles is extremely sensitive to the definition, and the finding that this population carries no edge on this data is not.
What this supports and what it does not
A simulation can prove some things and cannot prove others, and being precise about which is which is the difference between a study and an opinion with numbers attached.
| Claim | Does this page support it? |
|---|---|
| The three names are one mechanism with three labels | Yes. 8,036 fixed patterns, one tolerance moved, and 4,637 kept their label. The classes are not separable without an arbitrary cut |
| The break favours the sloping boundary, not the flat one | Yes, and it is a property of the geometry. It appears at full strength where no market mechanism exists to cause it |
| A directional statistic quoted for triangles is evidence of something | No. The familiar direction figures reproduce on data with no memory, so they must be netted against that bias before they can mean anything |
| The measured-move target is a meaningful expectation | No, not without a stated time limit and a base rate. Both were absent from every version of the claim examined |
| Taking a triangle with the prevailing trend does worse than random | No, and this page said otherwise until the comparison group was rebuilt. Against a control drawn only from bars after the pattern the effect is 0.05 points at 0.51 standard errors. The refinement is untested here, not refuted |
| A time-local comparison group is a safe control for a chart pattern | No, and that is the transferable result. For any pattern defined by the recent path, the bars just before it were selected by the pattern and cannot serve as neutral ground |
| Roughly two breaks in five come straight back | Yes, under this definition, on both tapes. It is the most robust number here |
| Triangles carry no edge in Indian equities | No. This page tested generated data, not any exchange. It shows what the pattern does when nothing is behind it, which is the baseline a real study needs |
| Triangles carry an edge somewhere | Not shown either. The control tape proves only that the detector would find an effect if one were present in the data given to it |
| Any of this is a reason to take a position | No. Nothing here is a trade trigger, a recommendation or a forecast, and the outcome distributions are wide enough that no single instance is predictable |
The most important limitation is the obvious one. Generated data has no earnings, no policy announcements, no index rebalancing and no order books, so it cannot tell you what happens when a real range compresses ahead of a real event. What it can do, and what real data cannot, is provide a case where the true answer is known in advance. When a statistic reproduces on a tape with nothing in it, that statistic is not evidence, and identifying which of the familiar triangle numbers fall into that category is the whole contribution of this exercise.
A second limitation is that this tests one definition. A different set of ten numbers is a different detector, and the sensitivity study above is precisely the reason to expect a different detector to find a different population. Anybody who wants to argue that a better definition would produce a different answer is making a testable claim, and the way to settle it is to write that definition down as code and run it.
What to do with a triangle instead
None of this makes a narrowing range useless to look at. It makes the three names useless, which is a much smaller loss than it sounds, and it relocates the useful part.
Read the contraction, not the shape. The one property every triangle genuinely has is that the range is smaller than it was. That is a statement about volatility, and volatility is measurable directly without drawing any lines at all. If the reason you are interested in the chart is that the recent range has compressed, then measure the compression, because the measurement is unambiguous and the drawing is not.
Stop treating the flat boundary as a forecast. The single most repeated piece of triangle advice is that the flat side shows where the pressure is and therefore where price will go. The geometry says the flat side is the one price is least likely to reach first, and the test above says so at a sample size large enough to take seriously. Whatever the flat boundary is telling you, it is not the direction.
Write your definition down before you look for instances. This is the habit that transfers to everything else. When you are forced to say how many bars make a swing point and how far back you may look, you find out how much of your pattern recognition was a decision rather than an observation. Doing it once for triangles is worth more than reading ten descriptions of them, and the same exercise on a trendline or a support level produces the same uncomfortable clarity.
Budget for the false break before you budget for the target. Two in five breaks came straight back on data where nothing was happening. That rate is not a market pathology to be outsmarted, it is the arithmetic of drawing a boundary through noisy extremes and then asking whether price crossed it. Any plan built on a narrowing range needs to survive that rate as its normal case, not treat it as the exception.
Judge the claim, not the picture. Every assertion made about a chart pattern is a number in disguise, and a number can be checked against a base rate. That habit, applied consistently, dissolves most of the pattern literature and keeps the small remainder that survives contact with a control. If that way of working is more interesting to you than the taxonomy it replaces, it is the method we teach.
FAQ
Frequently asked questions
What is the difference between an ascending, a descending and a symmetrical triangle?
Only which boundary is closer to level. An ascending triangle has a roughly flat upper boundary with rising lows beneath it, a descending triangle has a roughly flat lower boundary with falling highs above it, and a symmetrical triangle has neither boundary level. Underneath, all three are the same event: a range that narrows until price leaves it. When the same detected patterns on this page were relabelled using a slightly different definition of level, 58 percent kept their original name and the rest changed identity.
Why does it matter where the random comparison entries are drawn from?
Because it changed one of this page's published findings from large to nothing. The comparison entries were originally drawn from 250 bars on either side of each triangle. A triangle is a stretch of bars selected for the shape of the path price took through them, so half of every draw came from inside the pattern and from the move before it. Splitting the results by that prior move then compared the pattern against a control built out of the very thing being split on, and produced an apparent shortfall of 0.42 percentage points at 4.48 standard errors. Drawing the control only from bars after the pattern reduces it to 0.05 points at 0.51. The forward-only control is not simply weaker: on the tape with a real effect planted in it, it still finds that effect at 7.51 standard errors, more than the symmetric window did.
Do ascending triangles really break upward most of the time?
Not in the test on this page. Across 2,909 ascending triangles detected on a generated tape with no directional memory built into it, 38 percent broke upward, so the majority broke downward. The reason is geometric rather than mystical: the sloping boundary travels toward price while the flat one stays put, so the sloping side is met first more often. Any directional statistic measured on real charts has to be netted against that geometric bias before it can be attributed to the pattern.
How many touches does a triangle need before it counts?
There is no published answer, which is the point. Some guides say two touches per boundary, some say three, some say five in total. The detector here required at least 2 touches on each boundary and 5 in total. Raising the total requirement from four to seven changed the number of patterns found on the same data, but it changed the measured outcome hardly at all. The touch count turned out to be one of the least consequential choices in the whole definition.
Is a triangle a reliable trading signal?
This page cannot answer that for live markets and does not try to. What it can show is that a triangle detected on a tape containing no directional memory at all still produces the pattern's familiar statistics: breaks in a particular direction, occasional runs to the measured-move target, and a false-break rate near two in five. Any claim of reliability therefore needs to be measured against a base rate, not against zero, and this page publishes the base rate alongside every number.
What is the measured-move target and does price actually reach it?
The measured move projects the height of the triangle at its widest point from the breakout, and it is the most commonly quoted target for the pattern. In this test it was reached within the twenty-bar holding period in 13 percent of cases, against 15 percent for random entries with the same target distance, direction and window. Stretched to sixty bars the figures were 34 percent and 35 percent. The target is reached often enough to feel meaningful and no more often than chance, which is exactly how a folk statistic survives.
How common are triangles?
That depends entirely on the definition, which is the uncomfortable part. The definition used here found 8,036 non-overlapping instances across 750,000 daily bars, roughly 2.7 per instrument per year. Restricting the detector to a single fixed lookback window instead of letting it use the shortest window that qualifies dropped that to 711. Same data, same clauses, one extra rule about how far back to look, and more than nine in ten of them vanish.
What is a false breakout and how often does it happen?
A false break is a close beyond the boundary that comes straight back inside. Counting a return inside the projected boundary within five bars, 42 percent of the breaks in this test were false. That happened on a tape with no news, no order flow and no participants, so it is not evidence of anything predatory. It is what a narrowing range does when the boundary is drawn through noisy extremes, and it is the single largest practical cost of trading the pattern.
Why test a chart pattern on simulated data instead of Indian stocks?
Because a generated tape can be built with a known answer inside it, and real data cannot. Two tapes were used here: one with no directional memory, where any measured edge must be an artefact, and one with a real effect deliberately inserted, which acts as a control proving the detector can see an effect when there is one to see. That pairing separates claims about triangles from claims about the definition of a triangle. It cannot tell you what triangles do on any particular exchange, and nothing on this page should be read as saying it can.
If the shape does not carry the information, what does?
On the tape where a real effect was inserted, the detector found it, and it found it in all three named variants at once rather than in one of them. The effect lived in the contraction and the expansion out of it, not in which boundary happened to be level. That is the practical reading of the whole exercise: the thing worth watching is that the range narrowed and then stopped narrowing, and the name is a filing convention.
Can I run this test myself?
Yes, and it is the most useful part. Write your definition as code before you look at any results, including every threshold you would rather leave vague. Detect every occurrence rather than the ones you remember. Compare against random entries matched for direction and holding period on the same data. Then vary each threshold and see how much your conclusion moves. If it moves a lot, you have measured your definition rather than the market.
Method note
How the numbers on this page were produced
Every figure comes from one deterministic simulation, seeded so that it reproduces identically on each run. Two tapes were generated, each of 250 independent instruments of 3,000 daily bars, 750,000 bars in total. Volatility clusters and drift regimes switch on both, so quiet stretches and coiling occur naturally and are never inserted by hand; the three drift states are symmetric and equally likely, so the unconditional drift of the tape is zero. The first tape contains no mechanism that could make direction predictable. The second adds one effect, defined entirely in terms of a simple price channel and never in terms of triangle geometry, and exists to prove the detector can find an effect when one is present.
Detection runs on the open, high, low and close of the generated bars using the thresholds in the definition table. Signals are taken on the close and positions are opened at the next bar's open, so no result uses information that was not available at the time. Outcomes are measured over 20 bars. The base rate draws two hundred entries per event from the same instrument, matched for direction and holding period, from within 250 bars after the pattern and never from before it, because the bars before a pattern are the bars the pattern was selected on. Every result that changed when that window was moved is reported with both values, and the window itself is varied four ways and all four reported. Overlapping detections are discarded so that no two measured outcomes share a holding period. Returns are shown before costs; an illustrative allowance of twelve basis points per round trip would apply equally to both arms and would not change the difference between them, though it would sit well above the difference that was measured.
All results are illustrative and simulated. They are not a track record, they are not a forecast, and they are not an indication of what any pattern would produce in a live account or on any Indian security or index. The purpose of the exercise is to establish which properties of a triangle are consequences of its definition, which is a question about the definition rather than about any particular market.
Related