Blog/Technical Analysis
Technical AnalysisOct 1, 202611 min read

Bullish and Bearish Divergence: How to Read It on RSI and MACD

What bullish and bearish divergence are, how to mark the two swing points on price and on RSI or MACD so you compare like with like, how regular divergence differs from hidden, why it is a warning and not a trigger, what confirmation to wait for, where the stop goes, and the mistakes that produce false reads.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Divergence is the first thing most people learn to look for on RSI, and the thing most people misread. The idea is simple: price and a momentum oscillator disagree about the latest swing. The hard part is marking the right two swings, on both panes, and then not treating the disagreement as a buy or sell button. This post covers the regular (reversal) form on RSI first, then MACD, with the confirmation and stop rules that keep a divergence from turning into a bad entry.

Quick Answer

Bullish and bearish divergence, in one paragraph

Divergence is when price and a momentum indicator such as RSI or MACD move in opposite directions across two swings, a sign that momentum is weakening. Bullish divergence: price makes a lower low while the indicator makes a higher low. Bearish divergence: price makes a higher high while the indicator makes a lower high. Regular divergence warns of a possible reversal; hidden divergence (the opposite geometry) leans toward trend continuation. It is a warning, not a trigger. Wait for price to confirm with a break of structure, a trendline break or a reversal candle, put the stop beyond the second swing, and expect false reads in strong trends and choppy ranges.

What Is Bullish and Bearish Divergence?

Price tells you where the market went. A momentum oscillator tells you how hard it pushed to get there. Most of the time the two agree: a new high in price comes with a new high in RSI. Divergence is when they stop agreeing. Price prints a new extreme, but the oscillator does not follow, which means the latest push was weaker than the one before it.

  • What is bullish divergence?
    Price makes a lower low while the oscillator makes a higher low. Sellers pushed price to a new low, but with less force than last time. It shows up at the end of a downtrend.
  • What is bearish divergence?
    Price makes a higher high while the oscillator makes a lower high. Buyers got a new high, but with less force than last time. It shows up at the end of an uptrend.

StockCharts' ChartSchool entry on RSI defines it the same way: a bullish divergence occurs when the security makes a lower low and RSI forms a higher low, and a bearish divergence when the security records a higher high and RSI forms a lower high. The diagram below shows both side by side. The dashed verticals are the part people skip: each price swing is compared to the oscillator swing directly beneath it.

Compare each price swing to the oscillator swing directly below it

Bullish and bearish divergence on an RSI-style oscillator: price lower low vs oscillator higher low, and price higher high vs oscillator lower highAn illustrative two-column diagram, not a real chart. Left column, regular bullish divergence: the price pane makes a lower low while the oscillator pane underneath makes a higher low, both near the 30 oversold line. Right column, regular bearish divergence: price makes a higher high while the oscillator makes a lower high, the first peak above the 70 overbought line. Dashed vertical lines link each price swing to the oscillator swing on the same bar.illustrative only, schematic, not a real chartRegular bullish divergenceRegular bearish divergencePriceRSI7030price: lower lowRSI: higher lowprice: higher highRSI: lower highDashed verticals: match each price swing to the oscillator swing on the same bar
Bullish and bearish divergence, illustrative: the price pane and the RSI pane disagree across the same two swings

Regular vs Hidden Divergence: The RSI Divergence Cheat Sheet

Everything above is regular (sometimes called classic) divergence, and it is what this post is about. There is a second family, hidden divergence, with the geometry flipped: in a hidden bullish setup price holds a higher low while the oscillator drops to a lower low. Regular divergence lives at the end of a move and hints the move is running out. Hidden divergence lives inside a pullback and hints the main trend still has room. Same two panes, opposite question. Here is the full set, including the two cases that are not divergence at all.

Divergence cheat sheet: price vs oscillator
works on RSI or MACD
TypePriceOscillatorWhere it shows upWhat it implies
Regular bullishLower lowHigher lowEnd of a downtrendSelling momentum is fading. Warning of a possible bounce or reversal up.
Regular bearishHigher highLower highEnd of an uptrendBuying momentum is fading. Warning of a possible pullback or reversal down.
Hidden bullishHigher lowLower lowPullback inside an uptrendThe dip stretched momentum more than it moved price. Leans toward the uptrend continuing.
Hidden bearishLower highHigher highBounce inside a downtrendThe bounce stretched momentum more than it moved price. Leans toward the downtrend continuing.
No divergence (confirmed low)Lower lowLower lowHealthy downtrendMomentum agrees with price. Nothing to read here except that sellers are still in control.
No divergence (confirmed high)Higher highHigher highHealthy uptrendMomentum agrees with price. Fading this is fighting the trend.

A quick way to keep them straight: regular divergence is about the extremes (compare lows to lows at the bottom of a move, highs to highs at the top), and the extreme in price is the one that looks strongest. Hidden divergence is about the pullback, and the oscillator is the one that looks more extreme. The continuation side has its own pages if you trade pullbacks: hidden bullish divergence in an uptrend and its bearish mirror in a downtrend.

How Do You Read RSI Divergence?

RSI is the default divergence tool for a reason. It is bounded between 0 and 100, so swings are easy to compare, and most charting platforms put it one click away. The quick facts, from Fidelity's RSI indicator guide and StockCharts: RSI was developed by J. Welles Wilder, introduced in his 1978 book, and the standard setting is 14 periods, the default Wilder suggested. Readings above 70 are usually called overbought and below 30 oversold. If you want the settings debate, the 70/30 versus 80/20 question and how RSI behaves on intraday charts, that lives in our RSI strategy guide for day traders. This section is only about reading the divergence.

Marking the two swings, like with like

  • 1. Find two clear swings in price
    Two swing lows for a bullish read, two swing highs for a bearish one. They should be obvious pivots with visible bars on both sides, not two wiggles inside the same pullback.
  • 2. Drop straight down to the oscillator
    Put your cursor on each price swing and look at the RSI directly underneath, on the same bar or within a bar or two. Those are the two RSI points you compare. Not the lowest RSI reading anywhere nearby, the one that lines up in time.
  • 3. Draw both lines
    One line connecting the two price swings, one connecting the two RSI swings. If the slopes point in opposite directions, you have divergence. If they point the same way, you do not, however much you want one.
  • 4. Keep the price anchor consistent
    Pick wicks or closes and use the same one for both swings. Comparing a wick low to a candle body low can manufacture a lower low that the closes never made.

Here is a hypothetical bullish read, round numbers, not a real ticker. A stock sells off to $41.20 with RSI at 26. It bounces to $43, then sells off again to $40.60. On that second low RSI only gets down to 33. Price: lower low. RSI: higher low. That is a regular bullish divergence. It does not mean buy at $40.60. It means the second flush had less selling behind it, and now you watch for price to prove it.

Where overbought and oversold fit in

Levels and divergence answer different questions. A reading above 70 is a level statement about one moment. Divergence is a shape statement about two swings. They get more interesting together. A bearish read where the first high pushed RSI above 70 and the second, higher price high only reached the low 60s is cleaner than one where both RSI peaks sat around 55, because the first push was genuinely strong and the second clearly was not. Worth knowing the flip side too: Fidelity notes that during strong trends RSI can stay overbought or oversold for extended periods, so an extreme reading alone is not a reason to fade anything.

Divergence on MACD and Other Indicators

MACD is the other standard divergence tool. Per StockCharts' ChartSchool page on MACD, it was developed by Gerald Appel in the late seventies. The MACD line is the 12-day EMA minus the 26-day EMA, the signal line is a 9-day EMA of the MACD line, and the histogram is the MACD line minus the signal line. The divergence rules carry over unchanged: price makes a lower low while MACD makes a higher low (bullish), or price makes a higher high while MACD makes a lower high (bearish).

Two practical differences from RSI. MACD is not bounded, so there is no 70 or 30 to lean on, and you compare swing heights relative to each other and to the zero line. And you can read divergence on the MACD line or on the histogram. The histogram reacts faster and diverges more often, which means more early warnings and more noise. Pick one and stick with it rather than hunting both until one agrees with you. Crossovers, histogram tricks and intraday MACD settings are covered in the MACD day trading breakdown.

Divergence on volume lines and other oscillators

The same two-swing comparison works on plenty of other lines, and each has its own post, so one pointer apiece. On-balance volume diverging from price is covered in the OBV running-total guide. The accumulation/distribution line weights volume by where each bar closes, so its divergences read a bit differently. The Money Flow Index is a volume-weighted cousin of RSI with the same bounded scale. Chaikin Money Flow oscillates around zero and shows buying or selling pressure fading against price. Williams %R runs from -100 to 0 and diverges much like a fast stochastic. And the Commodity Channel Index is unbounded like MACD, so compare swings, not levels.

Before you act on a divergence

A divergence is half a trade plan. The other half is the level, the confirmation and the stop.

Screenshot the chart with RSI or MACD visible in its own pane and your two swings marked. SnapPChart reads the oscillator as drawn and grades the whole setup, returning an entry, a stop and targets. It does not compute the indicator or flag divergence on its own, so the marking is still yours.

Grade this setup

Is Divergence a Signal to Enter?

No. This is the part that saves money. Divergence tells you momentum is fading. It does not tell you when price turns, or that it turns at all. StockCharts is blunt about it: divergences are misleading in a strong trend, and a strong uptrend can show numerous bearish divergences before a top materializes. The same goes for bullish divergences in a strong downtrend. You can watch RSI print a higher low, then another, then another, while price keeps sliding. Each one looked like the bottom.

Timing is the other catch. When a divergence does play out, the turn can come a few bars later or much later, long after your patience or your stop has run out. And there is no fixed hit rate to quote. You will find confident percentages online. None of the ones I have seen publish a sample, a period or even a definition of what counted as a success, so I am not repeating any of them.

What confirmation looks like

The fix is to let price agree with the oscillator before you act. tastytrade's walkthrough of RSI divergence lists the usual candidates for a bullish setup: a close above a short-term swing high, a bullish reversal candle, or a break of a descending trendline. In practice that means one of these:

  • Break of structure
    For a bullish divergence, price closes above the lower high that sits between the two lows. For a bearish one, price closes below the higher low between the two highs. The trend has now actually broken, not just slowed.
  • Trendline break
    The falling trendline that capped the selloff gets broken and held. Drawing it consistently matters more than drawing it perfectly.
  • A confirming candle at a level
    A bullish engulfing bar or a hammer off the second low, ideally at a support level you had already marked. A reversal candle in the middle of nowhere carries a lot less weight.

Context does a lot of the work here. A bullish divergence into a well-tested support zone is a different animal from one that forms halfway down a move with nothing underneath it. If you are not sure how to pick those zones, start with finding support and resistance on any chart. For the trendline piece, this guide to drawing trendlines covers anchoring and when a break counts. Volume, moving averages and candlestick patterns all help too, and the broader technical analysis primer ties those tools together.

Where Does the Stop Go, and Which Timeframe?

The divergence hands you a natural invalidation point. For a bullish divergence the stop goes below the second price low, the one that made the lower low. If price takes that out, the momentum story you were leaning on is gone. For a bearish divergence the stop goes above the second price high. tastytrade frames the invalidation the same way.

Using the hypothetical from earlier: second low at $40.60, confirmation is a close above the $43 lower high. Entry near $43.10, stop just under $40.60, say $40.45. That is $2.65 of risk per share, and it is the number your position size comes from. Waiting for confirmation made the stop wider than buying at the low would have. That is the trade-off. You pay a bit more distance to stop guessing whether the low is in. If the distance is too wide for your account, the answer is a smaller size or no trade, not a tighter stop inside the noise. Placing stops off chart structure goes deeper on that choice.

Timeframe

Divergence appears on every timeframe, from one-minute charts up to monthly ones. It is not equally dependable on all of them. Higher timeframes like the 4-hour, daily and weekly tend to give cleaner reads, and short intraday charts throw off far more divergences that go nowhere, because every small pause shows up as a swing. If you trade intraday, the useful habit is to check the chart one or two steps above your entry timeframe. A 5-minute bullish divergence that forms into daily support is worth a look. The same pattern against a daily chart in free fall is usually just a pause. Stacking timeframes covers how to set that up without drowning in charts.

Common Divergence Mistakes

Almost every bad divergence trade I have seen, mine included, comes from one of these. None of them are about the indicator settings.

  • Comparing swings that do not line up
    The price low is on one bar and the RSI low you picked is eight bars earlier. That is two unrelated points, not divergence. Match them in time or drop the read.
  • Mixing wicks and bodies
    A long wick on the second low can create a lower low that the candle bodies never printed. Neither choice is wrong. Switching between them to find a pattern is.
  • Ignoring the higher-timeframe trend
    A bearish divergence on the 5-minute inside a daily chart that is breaking out to new highs is a pullback warning at best. Check the timeframe above before treating it as a top.
  • Entering on the divergence itself
    Divergence tells you momentum is fading. It does not tell you the turn has started. Entering before any confirmation is how you end up buying a lower low that keeps going lower.
  • Reading every divergence in a range
    In sideways chop, the oscillator swings back and forth constantly, so it prints divergences at almost every minor pivot. Most of them mean nothing. Divergence matters more at a real level.
  • Counting three swings as one divergence
    If the oscillator made a higher low, then a lower low, then a higher low again, pick the two swings that match the two price swings you care about. Connecting the first and third while skipping the middle is curve-fitting.

Where an AI chart read fits

I build SnapPChart, so here is exactly what it does with a divergence chart and what it does not. It works from a screenshot. It does not calculate RSI or MACD from price data, it reads the oscillator line as it appears in the sub-panel of your image. So the pane has to be on the chart you upload, or there is nothing to compare. It has no dedicated divergence detector and it will not tell you it found one.

What the flow looks like in practice: plot RSI or MACD under price, mark the two swing points on both panes, screenshot, and grade the setup. You get a grade for the whole picture plus an entry, a stop and targets read from the structure. That is useful as a second look at the parts people rush (is there a level here, where would this actually be wrong) and as a check on whether the stop you planned lines up with the chart. It is not a verdict on whether the divergence will work, because nothing can give you that. The general case for how an AI read fits into a trading routine applies here, and the AI chart analysis page explains what the grade covers.

The short version

Bullish divergence: lower low in price, higher low in the oscillator. Bearish divergence: higher high in price, lower high in the oscillator. Match the swings in time on both panes and use the same anchor (wicks or closes) for both. It is a warning that momentum is fading, not an entry. Wait for a break of structure, a trendline break or a reversal candle at a level, stop beyond the second swing, check the higher timeframe, and expect it to fail in strong trends and chop.

Frequently Asked Questions

Is RSI divergence reliable?

It is reliable as a description of what already happened: the latest push made a new price extreme with less momentum behind it than the push before. It is not reliable as a forecast of when, or whether, price turns. There is no fixed hit rate to quote. Figures that float around online come without a sample size, a period or a definition of success, so treat any percentage you see with suspicion. Its usefulness comes from pairing it with a level, a confirmation and a stop, not from the divergence alone.

Is a bearish divergence a signal to short?

Not by itself. A bearish divergence says the uptrend is losing push, and a trend losing push can simply go sideways, or keep grinding up while printing more lower highs on the oscillator. If you are long, it is a reason to tighten up or take partials. If you want to short, you still need the reversal to show up in price first: a break of the last higher low, a trendline break, or a clear bearish candle at resistance.

What is the difference between divergence and an overbought or oversold reading?

Overbought and oversold are level readings: RSI above 70 or below 30 at one point in time. Divergence is a shape reading: two swings compared against each other. RSI can sit above 70 for a long time in a strong trend with no divergence at all. The cleanest bearish reads tend to combine both, where the first high pushes RSI above 70 and the second, higher price high only gets RSI to a lower peak.

Can you find divergence on the stochastic or other oscillators?

Yes. The geometry is the same on any momentum oscillator: compare two price swings to the two matching oscillator swings. Stochastic, Williams %R, CCI and Money Flow Index all get used this way, and volume lines like OBV can diverge from price too. Pick one or two and learn how they behave on your timeframe. Stacking five oscillators that are all built from the same price data does not give you five independent opinions.

Does SnapPChart detect divergence automatically?

No, and I would rather be upfront about it. SnapPChart does not calculate RSI or MACD from price data. It reads the oscillator line as it is drawn in the sub-panel of the screenshot you upload, so the pane has to be visible for it to compare anything. It has no dedicated divergence detector and does not score divergence on its own. What it does is grade the whole setup in the picture (structure, levels, the visible indicators) and return an entry, a stop and targets, which you can check against the divergence you marked.

Disclaimer

This article is for educational and informational purposes only and does not constitute financial, investment or trading advice. Divergence describes a disagreement between price and an indicator after the fact; it does not predict price, and no success rate is claimed or implied. The price and RSI figures in the worked example ($41.20 and $40.60 lows, RSI 26 and 33, a $43 lower high, a $43.10 entry and a $40.45 stop) and the diagram are hypothetical and illustrative, and do not describe any real security. The RSI developer, 1978 book, 14-period default and 70/30 levels are drawn from the StockCharts and Fidelity pages linked in the body; the MACD developer and 12/26/9 construction from the StockCharts MACD page; the confirmation and invalidation examples from tastytrade. SnapPChart grades a static chart screenshot you upload and returns a setup grade, an entry, a stop and targets. It does not calculate RSI, MACD or any other indicator, it only reads an oscillator pane that is visibly plotted in the image, it does not automatically detect or score divergence, and it does not place orders. Never trade with money you cannot afford to lose.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Writes about AI-assisted day trading, technical analysis, and the systems traders actually use to stay disciplined.

Marked a divergence? Get the rest of the setup checked.

Plot RSI or MACD under price, mark the two swing points, screenshot it, and SnapPChart grades the setup with an entry, a stop and targets. It reads the oscillator as drawn in your screenshot. It does not calculate the indicator and it does not detect divergence for you.

Grade a divergence setupNo card required