Article contents
Evidence and scope
The cited material supports terminology and research context. The numerical thresholds, state machine, execution policy and synthetic examples below are proposed by this research project. No new backtest has been run, and the references do not establish profitability for this configuration.
Practical workflow
- Confirm the poleRequire a strong move before the small triangle.
- Confirm convergenceWait for enough pivots within the short base.
- Check expiryDo not trade after the apex or base-duration limit.
- Wait for a pole-direction breakRecord the opposite break as failed continuation.
- Calculate the orderUse full-base protection and a frozen pole projection.
What the structure tells us
A pennant combines a pole with a small triangular consolidation. [1] Unlike a flag with nearly parallel boundaries, this version requires a falling upper side and rising lower side, producing a clearly contracting range.
The continuation hypothesis contains two independent ingredients: momentum before the base and contraction within it. If removing the pole requirement does not materially change results, the strategy may effectively be a triangle breakout. Store pole, base and trigger features separately so that this question can be tested.
The name does not make a short, untidy sequence a valid setup. A compact pattern is harder to confirm causally because waiting for pivot confirmation can consume much of its duration. A detector should report that limitation rather than use future bars to create an earlier entry.
Rules using information already available
Proposed pole settings: length 3–20 bars, magnitude P≥3A, where A=ATR(14) available before the pole begins, and path efficiency ER=P divided by the sum of absolute close-to-close changes, at least 0.7. The pennant base lasts 5–20 bars and retraces no more than 0.5P. These durations are research parameters, not universal economic equivalents across markets.
For this short-base version, use pivots with two bars on each side and require at least five alternating pivots. Fit U(t) and B(t) through confirmed anchors, requiring slope(U)<0<slope(B), positive width and final-to-initial width≤0.7. Limit anchor errors to max(2 ticks,0.15A). If insufficient pivots are available before expiry, reject the candidate rather than borrowing unconfirmed extremes.
Freeze the boundaries and pole when the candidate becomes complete. Expire at the earliest of apex−1, the twentieth base bar, or a retracement beyond half the pole. A bullish pennant trades only an upward break in this baseline; a lower-side break is recorded as failed continuation. The bearish version mirrors the logic. Pivots cannot be backdated. [2]
The first valid break consumes the candidate. If a researcher wants to trade a failed pennant in the opposite direction, that requires a separate strategy with its own trigger and risk levels. It should not be treated as a successful continuation trade simply because another direction eventually became profitable.
if valid_pole(P,ER,pre_pole_ATR):
track short_converging_base
if confirmed_geometry: freeze U,B,pole,expiry
for t>created and t<=expiry:
if retracement>0.5*P: cancel
elif bullish and C[t-1]<=U(t-1)+b and C[t]>U(t)+b:
emit LONG; stop=base_low-epsilon; target=U(t)+P; consume candidate
elif bullish and C[t]<B(t)-b: mark FAILED_CONTINUATION; consume candidate
# b=max(2 ticks,0.10A); epsilon=max(2 ticks,0.15A); mirror for bearish setups.
Giving volume a specific job
Measure median base volume relative to pole volume, and breakout RVOL relative to the preceding 20 bars. Keep the continuous values as well as any threshold flags so their relationship with outcomes can be examined. A base-to-pole ratio below 0.7 and breakout RVOL≥1.5 are trial settings, not guaranteed confirmation.
A short intraday pennant can coincide with lunch, a session transition or another predictable activity lull. Raw volume may confuse that seasonality with informative contraction. Use matching time slots from earlier sessions and retain news and gap labels for separate analysis.
Compare no volume filter, base contraction only, breakout expansion only and both. A filter that improves average trade return while leaving too few opportunities may not improve portfolio performance. Report coverage and capital usage alongside trade-level statistics.
Numerical examples and failure cases
Synthetic example: the pole rises from 200 to 218 with A=3, P=18 and ER=0.82. A 12-bar base has an upper boundary falling from 217 to 215 and a lower boundary rising from 210 to 213, giving a final-to-initial width ratio of 2/7. With b=0.3, a close at 215.5 crosses above the upper line. An entry at 215.6, stop below the entire base at 209.55 and target at 233 imply risk of 6.05 and reward of 17.4, about 2.88R before costs.
Failure before entry: price closes at 212.5 below a lower-line value of 213 before an upward break occurs. The one-sided continuation strategy does not buy. Failure after entry: a long filled at 215.6 later reaches 209.5. Record the stopped trade. Using the latest low near 213 instead of the full-base low changes the strategy and must be evaluated separately.
For a successful synthetic path, the 233 projection is reached before the stop. The projection is the pole length added to the breakout boundary, not to whichever later entry produces a more attractive result. A gap-entry test should retain that target while recalculating the available reward and actual position risk.
Entry, invalidation and exits
The baseline stop sits outside the full short base, while the target projects P from the boundary at breakout. Entry follows close confirmation. If the available quote has already moved too far, a pre-submission reward-to-risk rule may reject the order. It cannot assume a fill at the triangle’s tip after the market has passed it.
Do not increase the target by using a new pole high that forms after the break. A pivot trail or fixed 2R exit can be tested independently. A large bar may touch both protection and target, requiring finer data or a declared conservative ordering convention.
Because the pattern is brief, implementation timing should be explicit down to the event sequence: pivot confirmation, candidate activation, closing-price test, order submission and fill. A resting intrabar order is not equivalent to the close-confirmed version. Any order that was already active before a gap must be accounted for at its feasible trigger and fill, including adverse slippage.
Testing incremental value
Use a factorial comparison: strong pole present or absent, convergence present or absent, and volume filter present or absent. This can reveal which component explains any benefit rather than assigning the entire effect to the word pennant. Compare flags and pennants built on the same qualifying poles to isolate base geometry.
Count cases that cannot produce enough confirmed pivots before expiry. Detection delay is part of the opportunity cost. Apply chronological out-of-sample testing and report trades, net expectancy, drawdown and uncertainty. The methodological source [3] does not establish results for this setup.
Implementation tests should include an ordinary long triangle without a pole, a short parallel flag, a pennant whose apex arrives before activation, and a valid base that breaks against its pole. Also test a pole with large displacement but low path efficiency. Deduplicate overlapping base windows so a single continuation move is not counted many times. The system should reproduce the same candidate history when only later bars are appended.
Common pitfalls
Changing the name after the outcome
A successful triangle does not become a pennant if it lacked a qualifying pole.
Using an incompatible confirmation delay
If confirmation arrives after the break, the detector misses it; do not backdate.
Choosing the stop after seeing the path
The entire base low and the latest low define different risk-management policies.
Checklist before using this method
Check each item after verifying it on your data. Progress is saved in this browser; it does not certify a profitable strategy.
Frequently asked questions
Must a pennant be smaller than a flag?
An absolute size ranking is unnecessary. This configuration distinguishes convergence from parallelism, while both structures require a strong pole.
Can an opposite-pole break be traded?
Yes, as a separate failed-pennant strategy. This baseline records failed continuation and does not automatically reverse the position.
Research sources
Each source supports the definition or evidence described beside it. The pseudocode, synthetic examples and proposed parameters require separate validation.
- IG: How to trade bullish and bearish pennantsIG. Pennant terminology and pole-plus-base structure; the public explanation was read. Checked: .
- TradingView: RepaintingTradingView. Pivot confirmation delay and repainting. Checked: .
- Lo, Mamaysky, Wang: Foundations of Technical AnalysisNBER / Columbia University. Background on systematic pattern research; this configuration is not tested by the paper. Checked: .
Related methods
Risk note
This content supports education and research design, not financial advice. Backtest is historical simulation, does not guarantee future performance and does not place real trades. Methods in this library are not automatically features available in the app. See methodology and learning center.
Validate rules before risking real capital
Check app support, data and individual simulated trades; advanced detectors may require a separate implementation.
Download Backtest on the App Store