로그인
← Win-rate picks

What is MACD bull cross? — chart signal explained

MACD measures which way momentum is leaning by tracking the gap between two moving averages of price — one covering the last 12 candles, one covering 26. Barobara goes one step further and compares that gap to its own 9-candle average (the signal line), plotting the result as bars called the histogram. Bars above zero suggest upward pressure has the edge; bars below zero, downward.

When does it fire? — BaroBara criteria

This lights up the moment the MACD histogram (the 12/26 average gap minus its 9-candle signal line) climbs above zero, after sitting at or below zero on the previous candle.

How traders usually read it

Many traders treat this as the moment momentum flips from leaning down to leaning up, and hope an upward move follows from here.

What to watch out for

Because it's built from averages of averages, it reacts late — by the time it fires, price has often already moved a fair bit. And in flat, choppy markets it tends to flip back and forth across the zero line, producing a string of false starts.

What the data actually shows (BTC 1d)

⚠️ Small sample (33 past occurrences). With this few cases, the numbers below could easily be luck. Treat them as "this happened a few times", not as probabilities.

The common reading is a bounce (up) — but what actually happened matters more. This signal has fired 33 times on BTC 1d; across the most recent 33, price reached the small target (+0.25%) first about 48% of the time. Widen the target to ±1% and it becomes about 55%. A historical probability, not a guaranteed direction — and it shifts with market regime.

Odds and expected value — with symmetric target and stop (±)

Exactly the barobara framing: which side got hit first, +X% or −X%. Target and stop are set to the same %, and the win rate is how often the upside (+X%) was reached first.

Target = stop (±)Win rate (+ first)EV (before fees)
±0.25%48%-0.01%
±0.5%36%-0.14%
±0.75%42%-0.12%
±1%55%+0.10%
±1.5%58%+0.24%
±2%55%+0.20%
📐 How to read this. EV assumes a symmetric ±X% target and stop: EV = target × (win rate − loss rate), so any win rate above 50% gives a positive EV. Fees are NOT included — they differ by exchange and order type (maker/taker). In reality fees come off the top, and the smaller the target, the bigger the bite fees take (at ±0.25%, even modest fees eat much of the edge). Timeouts (neither side hit within the horizon) are classified by the closing side, and an asymmetric target/stop changes all of these numbers — setting-dependent references, not absolutes.

Broken down by market regime

⚠️ This table uses a different basis than the symmetric (±) table above — a small +0.25% target with a wide −5.0% stop (fees included). The small target makes the win rate look high while EV is often negative — exactly what signal groups hide. And the same signal behaves differently across regimes.

RegimeWin rate (+0.25% target)EV (−5.0% stop)Sample
Bear market78%-0.99%N=18
Sideways90%-0.35%N=10

Recent occurrences

How far price actually moved the last few times this signal fired (MFE = maximum favorable excursion).

DateMFEResult
2025-11-085.88%✅ hit 🔴 stopped
2025-11-150.0%— 🔴 stopped
2025-11-252.48%✅ hit 🔴 stopped
2025-12-202.62%✅ hit 🔴 stopped
2026-01-0123.44%✅ hit
2026-02-140.0%— 🔴 stopped
2026-03-243.01%✅ hit 🔴 stopped
2026-04-046.5%✅ hit
🦫 See whether this signal is live right now — and verified odds for other signals and combos — on win-rate picks. Cut trading costs with fee cashback.
Data: full history since 2017 · 917 bars · ~1.1/month · win rate from the most recent 33 occurrences. For reference, not a prediction. A signal is a historical probability, not a guaranteed direction.
barobara.com · not a signal group — honest signal explainers

A free morning briefing: market heat & chart combos — honest odds, not predictions