All posts
Technical Analysis2026/02/01Updated: By Iven W.

Golden Cross and Death Cross Rules: Events, Failures, and Replay Tests

Define Golden Cross and Death Cross events precisely, handle closed-bar timing, confirmation, recross, failure and whipsaw, and test crossover rules without hindsight.

A Golden Cross or Death Cross is easy to recognize visually, but a reliable historical test needs more than two lines that appear to intersect. You must define the moving-average type, lookbacks, price source, chart interval, session, adjustments, bar-close policy, equality rule, event timestamp, confirmation, failure, expiry and execution assumptions.

The classic convention is:

  • Golden Cross: the 50-day simple moving average crosses above the 200-day simple moving average.
  • Death Cross: the 50-day simple moving average crosses below the 200-day simple moving average.

These are lagging trend-transition events. They do not prove that a new bull or bear market has begun, and they do not specify an entry, stop, target or holding period by themselves.

Key takeaways:

  • Treat the crossover as a one-bar event and the fast-above-slow relationship as a continuing state.
  • Use completed bars unless a provisional intrabar version is explicitly being studied.
  • Reserve the names Golden Cross and Death Cross for the classic 50-day/200-day SMA version; label faster pairs as crossover variants.
  • Freeze data, sessions, adjustments, average type, source, lengths, precision and equality handling before testing.
  • Record recrosses, no follow-through, late signals, whipsaws, expired candidates and ambiguous cases rather than counting only favorable examples.
  • Separate chart behavior from a trade simulation that requires entries, costs, slippage, gaps and exits.

For the beginner comparison, common false-signal filters and a basic practice plan, use the Golden Cross vs Death Cross beginner guide. For broad moving-average setup, SMA versus EMA and platform practice, use the Moving Averages explained guide. This page owns the stricter event-definition and replay-testing layer.

What the Crossover Measures

A moving average summarizes historical price values over a selected lookback. TradingView describes moving averages as lagging tools used for interpretation, confirmation and analysis rather than prediction. Its moving-average documentation also uses the 50-day and 200-day SMA pair as a standard crossover example.

The event compares two smoothed series:

  • a fast average that reacts more quickly;
  • a slow average that reacts more slowly.

When the fast average moves above the slow average, recent prices have become high enough relative to the longer historical window to reverse their order. The reverse applies when the fast average moves below the slow average.

This does not identify:

  • the first bar of a reversal;
  • participant intent;
  • institutional accumulation or distribution;
  • the magnitude or duration of the next move;
  • a suitable position size;
  • whether the price is already extended;
  • whether a trade will be profitable after costs.

Fidelity's current technical-analysis material illustrates the conventional 50-day/200-day definitions, while TradingView documents that moving averages react to events that have already occurred. The crossover is therefore better treated as a historical state transition than a forecast.

Canonical Names Versus Generic Crossover Variants

The strict classic labels are:

NameFast averageSlow averageChart intervalAverage type
Golden Cross50200DailySMA
Death Cross50200DailySMA

Other combinations can be legitimate research versions, but they should be named explicitly:

  • 20/50 daily EMA crossover;
  • 10/30 hourly SMA crossover;
  • 50/200 weekly SMA crossover;
  • 5/20 daily EMA crossover;
  • price/200 SMA crossover;
  • three-average alignment state.

Do not assume that changing only the numbers preserves the same behavior. A faster pair:

  • responds sooner;
  • produces more events;
  • often produces more recrosses;
  • has different warm-up requirements;
  • may be more sensitive to gaps and noise;
  • changes the average holding period and execution burden.

A 20/50 EMA cross is not automatically a “faster Golden Cross.” It is a separate version whose performance must be evaluated separately.

Define the Event Mathematically

Let:

  • Fₜ = fast moving average on bar t;
  • Sₜ = slow moving average on bar t.

One strict closed-bar Golden Cross definition is:

Fₜ₋₁ ≤ Sₜ₋₁
and
Fₜ > Sₜ

One strict closed-bar Death Cross definition is:

Fₜ₋₁ ≥ Sₜ₋₁
and
Fₜ < Sₜ

This version allows equality on the previous bar and requires strict separation on the event bar.

Why the equality rule matters

Depending on rounding and data precision, two averages may be:

  • exactly equal;
  • visually equal but numerically different;
  • separated by less than the chart's displayed precision;
  • equal after rounding but unequal in the underlying calculation.

Possible policies include:

  1. compare full-precision values;
  2. round both values to the symbol's tick size;
  3. use a tolerance ε;
  4. require a minimum normalized separation;
  5. classify unresolved equality as a separate state.

A tolerance version might use:

Golden candidate when Fₜ₋₁ − Sₜ₋₁ ≤ ε
Golden event when Fₜ − Sₜ > ε

The chosen ε must be recorded. It can be expressed in price units, ticks, a percentage of price, or an ATR-normalized value.

State versus event

These are different variables:

VariableDefinition
Golden Cross eventThe one bar where the fast average changes from not above to above the slow average
Bullish MA stateAny later bar where the fast average remains above the slow average
Death Cross eventThe one bar where the fast average changes from not below to below the slow average
Bearish MA stateAny later bar where the fast average remains below the slow average
Equal/neutral stateValues are equal or inside the frozen tolerance

Counting every bullish-state bar as a new Golden Cross inflates the event count.

Freeze Every Input Before Testing

InputWhat to recordWhy it matters
Average typeSMA, EMA, WMA or another defined methodDifferent weighting changes values and event timing
Fast length50 in the classic versionChanges sensitivity and event count
Slow length200 in the classic versionChanges lag and warm-up
Price sourceClose, open, high, low, HL2, HLC3 or another fieldThe input series changes both averages
Chart intervalDaily, weekly, hourly or another interval“50” means 50 bars, not automatically 50 days
SessionRegular, extended, exchange, broker or 24-hourIncluded bars and closes change
TimezoneExchange, UTC, local or brokerDaily boundaries can change
Data providerExact feed and symbolHistorical bars can differ
Corporate actionsAdjusted or unadjustedSplits and distributions can change history
Futures methodIndividual contract or continuous seriesRolls and back-adjustment can change averages
OffsetNormally zeroShifting a plotted line can create a visual cross unrelated to contemporaneous values
Bar policyClosed bar or provisional live barIntrabar crosses can disappear
PrecisionFull value, tick rounding or decimal ruleNear-equality handling changes events
Equality ruleStrict, inclusive or tolerance bandDetermines the exact event bar
Warm-upMinimum valid observations and initializationEarly values may be undefined or unstable

TradingView's SMA documentation notes that moving averages are calculated from a selected source and length and may also have an offset input. For crossover testing, preserve an offset of zero unless the research question explicitly studies shifted plots.

Closed-Bar Timing Versus Intrabar Crosses

A moving average calculated from the current close changes while the current candle is still forming. During one live bar:

  1. price may rise and move the fast average above the slow average;
  2. the chart may display a provisional Golden Cross;
  3. price may fall before the close;
  4. the fast average may finish below the slow average;
  5. the completed-bar event never occurred.

A closed-bar version becomes knowable only after bar t closes. If a trade simulation uses the signal, the earliest simple execution assumption is usually the next bar's open, not the event bar's closing price unless a valid market-on-close process is modeled.

Record one of these versions:

  • completed-bar event;
  • intrabar first cross;
  • intrabar cross that remains through close;
  • lower-timeframe reconstructed event;
  • end-of-session event;
  • next-session confirmed event.

Do not compare a closed-bar backtest with live intrabar alerts as though they are identical.

SMA, EMA and Initialization Differences

Simple moving average

A 200-period SMA needs 200 valid observations before the first complete value exists. Missing observations, adjusted history and session choices can change the window.

For the formula and TradingView setup, use the Simple Moving Average tutorial.

Exponential moving average

An EMA gives more weight to recent observations and requires an initialization or seed method. Two providers can converge over time but differ near the beginning of a dataset.

For formula and initialization context, use the EMA TradingView tutorial.

Do not mix undocumented types

A 50 EMA crossing a 200 SMA is neither the classic 50/200 SMA Golden Cross nor a standard same-type EMA crossover. It can be studied, but the mixed calculation must be named and versioned.

Build a Crossover State Machine

1. Insufficient history

The slow average is not valid because the required observations or warm-up are missing.

2. Neutral or equal

The two averages are equal or inside the chosen tolerance band.

3. Bullish state

The fast average is above the slow average, but no new event occurred on this bar.

4. Bearish state

The fast average is below the slow average, but no new event occurred on this bar.

5. Golden candidate

The averages are converging and the fast average is at or just below the slow average. A candidate is optional and must use a defined distance or convergence rule.

6. Golden event

The strict upward cross occurs on the completed bar.

7. Death candidate

The fast average is at or just above the slow average under the frozen candidate rule.

8. Death event

The strict downward cross occurs on the completed bar.

9. Confirmed

A separate post-event rule is satisfied.

10. Failed

A frozen failure condition occurs.

11. Reversed

The opposite crossover event occurs before the first event's record expires.

12. Expired

The required confirmation or chart objective did not occur within the allowed time.

13. Ambiguous

The event cannot be reconstructed because data, precision, adjustment or intrabar information is insufficient.

Confirmation Is a Separate Version

The crossover itself is one event. Confirmation should not be silently added after reviewing outcomes.

Possible confirmation versions include:

  • one additional completed bar with fast above slow;
  • n consecutive bars in the new state;
  • minimum percentage separation;
  • minimum ATR-normalized separation;
  • both averages sloping in the event direction;
  • price above both averages after a Golden Cross;
  • price below both averages after a Death Cross;
  • independent market-structure confirmation;
  • higher-timeframe state already aligned;
  • no confirmation; event-only study.

For market-structure definitions, use the Market Structure guide. Do not label a filter “better” until it has been evaluated out of sample.

Example separation rule

Separationₜ = |Fₜ − Sₜ| / Closeₜ

A version could require separation above a predeclared percentage. Another could use:

Normalized separation = |Fₜ − Sₜ| / ATRₜ

These filters change event timing and sample size. They are not part of the classic definition.

Define Failure Before Reviewing the Chart

“False signal” is too vague for research. Possible failure versions include:

Immediate recross

The opposite crossover occurs within n completed bars.

Golden failure if a Death Cross occurs within n bars

State-loss failure

The fast average returns to equality or the previous state before confirmation.

Separation failure

The averages never reach the required minimum separation.

Price-location failure

After a Golden Cross, price closes below both averages under a frozen rule; the inverse applies after a Death Cross.

Structure failure

The independent swing or range condition used for confirmation is invalidated.

Horizon failure

A specified chart outcome does not occur within the evaluation horizon.

Economic failure

A simulated trade loses money after the defined entry, exit and cost model. This is different from a chart-event failure.

Every failure rule needs:

  • start timestamp;
  • end timestamp;
  • bar count;
  • event precedence;
  • gap handling;
  • same-bar policy;
  • outcome label.

Whipsaw Is a Sequence, Not One Bad Cross

A whipsaw regime produces repeated changes between bullish and bearish MA states without sustained follow-through.

Possible whipsaw metrics include:

  • cross count per 100 bars;
  • median bars between opposite crosses;
  • percentage of events reversed within n bars;
  • total time spent inside a minimum-separation band;
  • realized range or volatility during the sequence;
  • net price change between the first and last cross;
  • simulated turnover and costs;
  • number of unresolved or expired events.

Do not classify every losing trade as whipsaw. A long-lasting bullish state can still produce a losing entry if the execution rule is poor.

Range and transition context

Crossovers tend to recur when the two averages flatten and converge. A reproducible context variable might classify:

  • established trend;
  • broad range;
  • volatility compression;
  • gap-driven transition;
  • post-event repricing;
  • insufficient context;
  • disputed structure.

Use objective market-structure rules rather than visually declaring a range after seeing repeated losses.

Lag and Distance From Price

The cross often occurs after price has already moved materially. Measure that delay instead of calling it “late” by impression.

Possible variables:

Distance from fast MA = (Closeₜ − Fₜ) / Closeₜ
Distance from slow MA = (Closeₜ − Sₜ) / Closeₜ
Bars since local pivot = t − pivot_bar
Move before cross = return from frozen reference pivot to event close

The pivot rule must be fixed. Otherwise, the analyst can select whichever turning point makes the event look most delayed or most timely.

Do not automatically solve lag by switching to faster averages. Faster averages reduce delay but generally increase event frequency and sensitivity to noise.

Multi-Timeframe Availability

A daily Golden Cross is available only after the daily bar closes under the selected session and timezone. An intraday strategy cannot use today's final daily crossover before that close.

Record:

  • source timeframe;
  • decision timeframe;
  • source bar completion time;
  • timezone;
  • whether the higher-timeframe value is final or provisional;
  • first lower-timeframe bar allowed to use the result.

For broader timing controls, use the Multiple Timeframe Analysis guide.

Weekly and monthly versions

A 50-week/200-week cross is not the classic daily Golden Cross. It also requires a much longer history and has fewer events. Preserve the exact interval in the label.

Corporate Actions, Gaps and Data Revisions

Stock splits and distributions

Adjusted and unadjusted stock data can produce different historical averages and event dates. Record the adjustment policy.

Futures rolls

A continuous futures series may be back-adjusted, ratio-adjusted or unadjusted. Roll construction can change both lines and create or remove crossovers.

Crypto and 24-hour markets

A daily bar depends on the exchange and day boundary. UTC, exchange-local and provider-specific sessions can move the event date.

Forex and CFDs

Broker feeds and daily close conventions can differ. Use one provider and one session version.

Missing bars

Decide whether missing observations are excluded, forward-filled or treated as invalid. Forward-filling can alter the average and should not be used silently.

Historical revisions

A corrected data file can move a crossover. Keep the provider, retrieval date and dataset version where possible.

Event Outcome Versus Trade Outcome

A chart-event review may measure:

  • bars until the opposite cross;
  • maximum favorable and adverse price movement;
  • time spent in the new MA state;
  • separation reached;
  • price position relative to both averages;
  • structure transition;
  • event density by regime;
  • recross rate;
  • expiry rate.

A trading simulation additionally needs:

  • entry timing;
  • order type;
  • spread and slippage;
  • commissions and fees;
  • stop and target;
  • gap handling;
  • borrow and funding where relevant;
  • position size;
  • overlapping-signal policy;
  • exit hierarchy;
  • liquidity assumptions.

The CFTC warns that hypothetical trading results may not reflect actual execution and can omit market factors and costs. Do not turn a favorable chart-state statistic into a profitability claim.

Reproducible Testing Workflow

  1. Select one market, symbol and provider.
  2. Freeze chart interval, session, timezone and adjustment policy.
  3. Choose average type, source, fast length, slow length and offset.
  4. Define warm-up and missing-data rules.
  5. Define equality and precision handling.
  6. Specify closed-bar or provisional intrabar evaluation.
  7. Write the exact Golden and Death event inequalities.
  8. Choose confirmation, failure, reversal and expiry rules.
  9. Freeze context variables before viewing outcomes.
  10. Separate development, validation and final evaluation samples.
  11. Record all events, including recrosses, unresolved and ambiguous cases.
  12. If simulating trades, define execution and cost assumptions separately.
  13. Test sensitivity to reasonable changes in periods, provider, session and confirmation.
  14. Preserve every version rather than overwriting poor results.

For general backtesting methodology, use How to Backtest a Trading Strategy. For broader trend-following risk and whipsaw context, see the Trend Following guide.

Golden Cross and Death Cross Worksheet

FieldWhat to record
Rule IDImmutable version name
Symbol/providerExact market and feed
Interval/session/timezoneFull chart identity
Adjustment policyAdjusted/unadjusted/continuous-series method
MA typeSMA, EMA or another defined calculation
Price sourceClose or another input
Fast/slow lengths50/200 for the classic version
OffsetNormally zero
Warm-upMinimum history and initialization
Precision/equalityFull precision, rounding or tolerance
Bar policyClosed bar or provisional intrabar
Golden eventExact previous/current inequalities
Death eventExact previous/current inequalities
CandidateOptional convergence rule
ConfirmationExact post-event condition
FailureExact condition and window
Opposite recrossHow it is classified
ExpiryMaximum bars or replacement event
ContextTrend/range/transition/volatility/event state
Distance metricsPrice-to-MA and MA separation
Chart outcomeState duration, MFE/MAE, recross, expiry
Trade assumptionsEntry, costs, stops, targets, sizing if simulated
AmbiguityMissing data, intrabar uncertainty or data revision
Dataset splitDevelopment, validation or evaluation
NotesEvery change from the prior version

Common Crossover Testing Errors

Counting the entire bullish state as repeated Golden Crosses

The cross is the transition bar. Later bars are state observations.

Using today's final daily value before the close

This introduces look-ahead information into intraday decisions.

Treating an intrabar touch as a completed cross

The event may disappear before the bar closes.

Calling every fast/slow pair a Golden Cross

Use the classic label for 50-day/200-day SMA and label other versions explicitly.

Changing SMA to EMA without creating a new version

The values and event dates change.

Ignoring equality and rounding

Near-equal lines can move the event by one or more bars.

Using shifted plots

A nonzero offset can create a visual intersection that does not represent same-time values.

Starting before the slow average is valid

A 200-period SMA needs enough observations. EMA versions also need documented initialization and warm-up.

Removing recrosses from the sample

Whipsaws are part of the strategy's denominator.

Choosing confirmation after seeing the result

This is outcome-driven rule selection.

Mixing chart success with trade profitability

A long bullish state does not guarantee a profitable entry after costs.

Publishing one best parameter pair

A pair selected on the same sample used for evaluation may be overfit.

What ChartMini Can and Cannot Do

ChartMini's embedded TradingView chart supports available moving-average indicators and candle-by-candle historical replay. This can help you hide later candles, record the displayed moving-average state and advance one bar at a time.

ChartMini does not automatically:

  • certify that an intersection meets your Golden or Death Cross rule;
  • decide whether the classic 50/200 SMA or another pair is appropriate;
  • preserve a custom research version outside your own notes;
  • identify confirmation, failure, expiry or whipsaw states;
  • reconstruct unavailable intrabar order from daily OHLC alone;
  • guarantee that the platform's data matches another provider;
  • model broker fills, slippage, fees, borrowing or market impact;
  • prove that a crossover rule is profitable.

Record the exact indicator name, average type, lengths, source, offset, interval, session and provider before each replay study.

Practical Next Steps

  1. Begin with the canonical 50-day/200-day SMA daily version.
  2. Use zero offset and completed bars.
  3. Record the exact event inequalities and equality policy.
  4. Label fast-above-slow as a state, not a new cross every day.
  5. Add only one confirmation version at a time.
  6. Define immediate recross, failure and expiry before testing.
  7. Include choppy periods and every opposite cross.
  8. Measure lag, separation and state duration.
  9. Keep chart results separate from trade execution.
  10. Test alternative pairs only as clearly named new versions.

Frequently Asked Questions

What exactly counts as a Golden Cross?

The classic Golden Cross occurs when the 50-day simple moving average moves from at or below the 200-day simple moving average to strictly above it on a completed daily bar. A reproducible rule must also freeze the price source, session, timezone, adjustment policy, equality rule, precision and whether the signal is evaluated only after the bar closes.

What exactly counts as a Death Cross?

The classic Death Cross occurs when the 50-day simple moving average moves from at or above the 200-day simple moving average to strictly below it on a completed daily bar. A live intrabar cross that disappears before the close is not the same event unless the strategy explicitly uses provisional values.

Is a 20/50 moving average cross a Golden Cross or Death Cross?

Not in the strict classic sense. A 20/50 cross is a faster moving-average crossover variant. It may be tested, but it should be labeled with its exact average type, lengths, timeframe and source rather than being treated as interchangeable with the canonical 50-day and 200-day simple moving averages.

Why do Golden Cross and Death Cross signals lag?

Both averages summarize historical prices, and the slower average uses a long lookback. Price must move enough for the faster average to overtake the slower one, so the crossover confirms a change that has already developed rather than predicting the first turning point.

What is a failed moving average crossover?

A failed crossover is a versioned outcome, not a universal label. Examples include an opposite recross within a fixed number of bars, loss of a required separation threshold, price closing back through both averages, or failure to reach a predefined chart objective before expiry. The exact rule must be chosen before reviewing outcomes.

Can ChartMini help review Golden Cross and Death Cross signals?

ChartMini's TradingView-based chart supports available moving-average indicators and candle-by-candle replay. It does not automatically certify Golden Cross or Death Cross events, choose the correct settings, validate a rule, or reproduce broker fills. Record the indicator names and inputs, evaluate only information visible at each replay step, and separate chart outcomes from simulated trades.

Sources and Method Notes