Article contents

Evidence and scope

The references provide three official morphology descriptions. They contain no account records or backtest supporting the proposed numerical thresholds, order policy or expected profitability.

Data and marketsSession-based equities and continuously traded markets need distinct gap conventions. Do not pool their pattern statistics without recording the changed definition.
Research timeframesDaily and H=1 bars are research examples. Their event frequency, execution costs and sensitivity to session boundaries require separate evaluation.
After a decline, a large bearish body is followed by a small gapped-down body and a bullish candle closing above the first body's midpoint at 103.Open full-size illustration
Original synthetic OHLC for the gapped morning-star definition, with synthetic volume. This illustration depicts a star rather than an engulfing pattern.

Practical workflow

Workflow for Engulfing and morning/evening stars: explicit reversal-candle algorithms
The full steps appear below. At each stage, missing data or failed conditions require a recorded rejection reason.
  1. Freeze contextTrend and zone information precede the first candle.
  2. Measure bodiesApply two-body coverage or the three-candle sequence.
  3. Check gapsKeep gapped and no-gap versions distinct.
  4. Wait for completionPublish only after the final candle closes.
  5. Execute and testPreserve the chosen stop, TTL and volume policy.

Two different structures share a reversal hypothesis

TradingView describes bullish engulfing in terms of the candle body rather than mandatory coverage of the entire high–low range [1]. Its traditional morning-star description includes three candles and gaps [2]; evening star is the bearish counterpart [3]. This article turns those descriptions into explicit research variants rather than treating a pattern name as an order instruction.

Reversal context must exist before the first candle. One proposal defines a prior downtrend through two already-confirmed lower swing highs and lower swing lows. Without sufficient history, retain the geometric label but do not claim a trend reversal. Patterns in the center of a range and patterns after a decline belong in separate contextual groups.

The two pattern families should not be pooled simply because both can end with an upward candle. Engulfing measures a two-body relationship; a star introduces an intervening small body, gap conditions and another bar of delay. Those differences alter both the opportunity set and the achievable entry price.

Engulfing bodies with deterministic boundary treatment

Proposed bullish conditions are C[t−1]<O[t−1], C[t]>O[t], O[t]≤C[t−1] and C[t]≥O[t−1], with at least one boundary extending by one tick. Require current body size≥0.8×ATR[t−1] to reject tiny two-candle configurations. The 0.8 multiplier is an experimental setting. Mirror the comparisons for bearish engulfing.

Requiring H[t]>H[t−1] and L[t]<L[t−1] adds an outside-bar condition. It is not part of the body-only baseline. An outside bar can fail engulfing when its body does not cover the previous body; conversely, a valid body engulfing can leave one or both previous wicks uncovered.

Use tick-aware comparisons rather than arbitrary floating-point tolerances. Define how an exactly equal body boundary is handled, and retain the one-tick extension requirement consistently. A first-candle doji fails the strict direction condition in this version; admitting it would create another registered variant.

bull_engulf(t):
    opposite = C[t-1] < O[t-1] and C[t] > O[t]
    covers = O[t] <= C[t-1] and C[t] >= O[t-1]
    extends = O[t] <= C[t-1]-tick or C[t] >= O[t-1]+tick
    sizeable = abs(C[t]-O[t]) >= 0.8*ATR[t-1]
    return opposite and covers and extends and sizeable
# Signal only after close t; proposed stop below min(L[t-1],L[t]).

Three-candle stars and a separate no-gap variant

Let a, b, c be consecutive candles and A the ATR available before a. The proposed morning_star_gap requires a bearish a with body≥0.8A, b with body≤0.3A entirely below a's body, and a bullish c with body≥0.8A. Candle c must open above the top of b's body and close above the midpoint of a's body.

The evening version mirrors these relationships: a large bullish body, a small body above it, then a large bearish body opening below b's body and closing below a's midpoint. The size multipliers are research choices rather than parameters optimized by the cited sources.

A continuously traded crypto market may support a separately named three_candle_reversal_no_gap experiment that removes the two gap requirements. Give it its own version and results. Do not retain the traditional gapped name while silently changing its population, or transfer a gapped-pattern performance claim to the continuous-market variant.

Body gaps and full-range gaps are also different. Wicks may overlap while the bodies meet the proposed star rule. Store both flags if useful, but select the relevant one before evaluation. Session boundaries, overnight trading and corporate-action adjustments can otherwise manufacture apparent gaps.

Numerical qualification, rejection and losing trades

Synthetic engulfing example: prior O=102, C=100, H=103, L=99.5; current O=99.8, C=102.4, H=102.8, L=99.6. The new body covers the old body even though its range does not cover both old extremes. With ATR=2, body size 2.6 exceeds the required 1.6. If the new close were only 101.8, the body-coverage condition would fail.

Synthetic morning star: a has O=105, C=101; b has O=100, C=100.2; c has O=100.5, C=103.5, with A=3. Body sizes are 4,0.2,3. Both body-gap conditions hold and 103.5 exceeds a's midpoint of 103. A final close at 102.8 fails the midpoint condition even if the sequence looks like a rebound.

A proposed entry at 103.7 after c with stop 99.5 has 4.2 points of planned risk and a 2R target of 112.1. A synthetic continuation to that target is a success under the rule. A decline to 99.4 instead produces a stopped trade. Both start from valid morphology; the pattern only determines eligibility, not the subsequent path.

A missing third candle is not a partially successful star. Keep it as an unfinished candidate until confirmation or expiry. If an anticipatory strategy enters during b, its outcomes must be evaluated independently from the completed-three-candle baseline.

From the final close to an executable order

The proposed baseline enters at the next available open after the final candle and stops beyond the full pattern extreme plus a buffer. An alternative places a stop entry beyond the pattern high with a three-bar lifetime. Register both timing and expiration before looking at subsequent paths.

A large pattern can make the stop wide. Reduce quantity under a fixed risk budget rather than moving the stop into the body merely to manufacture a desired R multiple. Record whether a setup was rejected before submission because its available reward or liquidity was insufficient.

If engulfing and star labels share the same final anchor, use one event identity or a portfolio rule preventing duplicated risk. A still-unfilled order may be canceled on a predeclared invalidation; a filled trade remains in the record. The final daily close cannot remove a stop order that already executed intraday.

For gaps between confirmation and execution, retain the original signal while recalculating realized entry risk. A stop crossed immediately after entry requires a feasible fill price, not an assumed exact stop. Same-bar stop and target touches need finer data or a stated adverse-path convention.

Assign volume to the relevant candle

Proposed features include RVOL of the engulfing candle or star candle c, and activity in b relative to its baseline. Low volume in b may reflect a narrow range or a quiet time of day; it does not automatically prove that sellers are exhausted. Same-time comparisons reduce intraday seasonality effects.

Test morphology alone, morphology at a pre-existing zone and then the added volume condition. Keep prior trend, stop and fill model consistent. A very high-volume engulfing candle following news can have more expensive spreads and gaps, so gross confirmation scores are insufficient.

Do not compare total volume from a three-candle star against a two-candle engulfing sequence without accounting for duration. A per-bar mean, final-candle RVOL or separately defined event window makes the question clearer. Volume used for a completed pattern is available only when its contributing candles have completed.

Validate each version and preserve rejected candidates

Fixtures should include equal body boundaries, a doji first candle, body gaps with overlapping wicks, outside bars without body engulfing, stars missing c and split-adjustment errors. Mirror the input around a fixed price center to detect incorrect bearish signs. The signal must appear only after the final required candle closes.

Report engulfing, star_gap and no_gap separately, including candidates that never trigger, duplicate patterns, fees, drawdown and out-of-sample return. Register body, gap and context thresholds before selecting a final version. An attractive winning example cannot replace results across the complete opportunity set.

A useful ablation removes only the gap requirement while preserving all other star conditions, then removes only the body-size filter. This reveals what changes the signal population. If several conditions change at once, the difference in performance cannot be attributed to one specific morphological feature.

Common pitfalls

Entering before the third star candle

The sequence is unfinished; an anticipatory entry belongs to a different strategy.

Removing gaps while retaining the original claim

Changing the gap definition changes the sample, particularly in continuously traded markets.

Checking only candle colors

A color change alone does not satisfy body coverage, size or midpoint conditions.

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.

0/8 items

Frequently asked questions

Must engulfing cover both wicks?

Not in the body-only baseline. Full high–low coverage adds an outside-bar requirement and should be evaluated separately.

Must the middle star candle be a doji?

Not in this version. A small body is sufficient; a doji-star variant is a more restrictive subset requiring its own threshold.

Research sources

Each source supports the definition or evidence described beside it. The pseudocode, synthetic examples and proposed parameters require separate validation.

  1. Engulfing - BullishTradingView. Read the distinction between body and full-range coverage. Checked: .
  2. Morning Star - BullishTradingView. Read the three-candle structure and gap requirements. Checked: .
  3. Evening Star - BearishTradingView. Read the bearish variant and midpoint condition. 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