TL;DR: the answer box
- Replacing MACD with OBV MACD loses. Better profit factor in 44.4% of 3,072 matched pairs, better net profit in 47.5%, better Sharpe in 40.5%. Every one of those is below the coin flip.
- And it does not travel. The replacement beat plain MACD on profit factor in 65% of pairs on QQQ and 16% on IWM. Whatever that is, it is not one result that held across the six markets tested.
- Adding OBV to the MACD you already have wins. Better profit factor in 67.3% of pairs, better Sharpe in 64.2%, and a smaller worst drawdown in 85.7%, with a median change across all pairs of 21.32 percentage points.
- At the default 12/26/9, on the long side, with no time exit, confirmation beat plain MACD on profit factor in all six markets. The replacement beat it on three.
- The bill is trades. Confirmation removed 42.0% of them at the median and cut time in the market from 38.1% to 22.6%. On the long side, net profit improved in only 30.4% of pairs.
- None of the three beat owning the index. The best long-side SPY variant of any construction made $60,732 over 33 years. Buy and hold made $551,738, at a 56.5% worst drawdown instead of 20.9%.
How we tested
There is one rule here and it never changes. Enter long when a MACD line crosses above its own signal line. Exit when it crosses back below. Shorts are the mirror.
What changes is what the crossover is measured on.
| Construction | What the crossover is measured on |
|---|---|
| MACD | EMA(fast) minus EMA(slow) of the close, against its own EMA(signal). Gerald Appel's original, published in 1979, and the control condition here. |
| OBV-MACD | The identical construction applied to On-Balance Volume, Joseph Granville's 1963 running total of signed volume. This is the ["OBV MACD" script that circulates on TradingView](https://www.tradingview.com/script/jXvqrU4q-OBV-MACD-Indicator/). |
| MACD+OBV | The traditional MACD's entry, allowed through only when the OBV MACD histogram already agrees. The exit is left untouched. |
That third row is the one nobody tests, and it is the one people are actually searching for. There is good published work on the MACD by itself, including QuantifiedStrategies' statistics page, which reports an 81.41% success rate and a 1.51 profit factor, and a three-variant test across six markets at Quant Signals. Neither touches OBV. The closest anyone gets to the volume question is an MQL5 walkthrough of MACD and OBV patterns inside an expert advisor, which tests one symbol inside one framework, so the result cannot be separated from the framework.
Six markets. SPY (8,398 bars, 1993 to 2026), QQQ (6,866, 1999 to 2026), IWM (6,537, 2000 to 2026) and DIA (7,153, 1998 to 2026) as cash ETFs, plus ES and NQ (5,026 each, 2007 to 2026) as difference-adjusted continuous futures. 39,006 daily bars in total. On-Balance Volume needs volume that means something, which is what rules out the back-adjusted energy and currency contracts in the rest of my universe: their volume is partly a measurement of the contract roll.
The sweep is fast EMA 5, 8, 12, 19 and 24 against slow EMA 13, 26, 35 and 52, sixteen surviving pairs, four signal lengths (5, 9, 14, 18), four protective time exits (0, 5, 10, 20 bars), both directions, all six markets, all three constructions. 9,216 variants. $35,000 starting account, no compounding, flat-only, signals read at the close and filled at the next open. No commission, no slippage, no exchange fees anywhere on this page. All 9,216 clear the 50-trade reliability floor; the median variant takes 221 trades.
What stops a study like this from lying to me?
Three design rules, and each one closes a way it could have.
- Every OBV row is paired with its own control. For each OBV variant there is a price MACD variant with the same market, the same fast, slow and signal periods, the same side and the same time exit. Nothing else differs. So the question is not "can I find an OBV setting that made money", because with 9,216 rows of course I can. The question is "of 3,072 matched pairs, how often did the volume actually help".
- The confirmation gates entries only. Gating the exit as well would change what the strategy does rather than how selective it is, and the confirmed row would stop being comparable with the row it is paired to. That is the same discipline I used on the RSI(2) filter study, and for the same reason.
- Both sides run on every configuration. Nobody recommends shorting a MACD crossover on an index with a thirty-year uptrend, and the short side is in the grid anyway. A volume indicator that only works long has not been shown to read volume. It has been shown to be long.
Two honesty baselines sit behind every number below, computed rather than typed: buying and holding each market over the same bars on the same sizing, and a seeded random entry that fires as often as this study's own median variant and holds as long. Both are in the methodology block at the foot of this page.
Does OBV MACD beat traditional MACD?
No. It loses on every measure that matters, and it loses to a coin flip.
| Measure | OBV-MACD better | Tied | Worse | Median change |
|---|---|---|---|---|
| Net profit | 47.5% | 0.0% | 52.5% | -$1,224 |
| Profit factor | 44.4% | 2.5% | 53.1% | -0.02 |
| R-expectancy | 43.7% | 4.1% | 52.2% | -0.01 |
| Sharpe ratio | 40.5% | 8.1% | 51.3% | -0.01 |
| Worst drawdown | 45.9% | 0.0% | 54.1% | 3.08 points deeper |
| Trade count | 59.2% | 3.5% | 37.3% | 4 more trades |
Every OBV-MACD variant against the price-MACD variant with identical settings. 3,072 matched pairs.
Read the ties column before you read anything else. The results grid is rounded to two decimals, so a metric with a narrow numeric range produces genuine ties, and counting a tie as a loss is how a 50/50 result becomes a headline. Sharpe ties in 8.1% of pairs. Even handing OBV-MACD every one of those ties, it is still behind.
The one column OBV-MACD wins is trade count, and more trades is not a result. It is a bill.
Why does the OBV MACD look good in some write-ups?
Because it beats price MACD in a majority of matched pairs on three of the six markets on profit factor, and on only two of them on Sharpe. Pick the right two to test and you will publish a good article.
| Market | Pairs | OBV-MACD: better profit factor | MACD+OBV: better profit factor |
|---|---|---|---|
| SPY | 512 | 34.2% | 45.7% |
| QQQ | 512 | 65.4% | 71.3% |
| IWM | 512 | 16.2% | 69.3% |
| DIA | 512 | 57.8% | 57.0% |
| ES | 512 | 34.2% | 71.9% |
| NQ | 512 | 58.6% | 88.3% |
Share of 512 matched pairs per market in which the OBV version had the better profit factor.
Sixteen percent on IWM. Sixty-five on QQQ. These are both US equity index ETFs, quoted on the same exchanges, driven by the same macro, and the replacement's verdict flips almost completely between them. That means the replacement's verdict is decided by which of these six markets you test it on, not by the indicator alone, and it is exactly what running six markets is for. I have made the same point from the other direction before, in the breakout study that ran one rule across the Nasdaq, the S&P and the Dow.
The confirmed version swings too, from 45.7% on SPY to 88.3% on NQ. The difference is not the width of the range, it is where the range sits: five of the confirmed version's six markets are above the coin flip, and the replacement's six straddle it.
What happens at the default 12/26/9 settings?
This is the row almost everybody actually trades, so it deserves its own table. Long side, crossover in and crossover out, no time exit.
| Market | Construction | Trades | Net profit | Worst drawdown | Profit factor | R-expectancy | Exposure |
|---|---|---|---|---|---|---|---|
| SPY | MACD | 362 | $53,473 | 21.4% | 1.49 | 0.27 | 50.3% |
| SPY | OBV-MACD | 352 | $30,909 | 55.3% | 1.24 | 0.13 | 50.5% |
| SPY | MACD+OBV | 198 | $30,203 | 18.3% | 1.55 | 0.30 | 27.2% |
| QQQ | MACD | 278 | $27,492 | 93.9% | 1.16 | 0.09 | 51.1% |
| QQQ | OBV-MACD | 289 | $33,467 | 80.0% | 1.20 | 0.12 | 49.9% |
| QQQ | MACD+OBV | 149 | $14,048 | 77.1% | 1.18 | 0.09 | 27.9% |
| IWM | MACD | 260 | $54,384 | 38.5% | 1.45 | 0.26 | 49.9% |
| IWM | OBV-MACD | 251 | $33,773 | 47.8% | 1.27 | 0.16 | 49.4% |
| IWM | MACD+OBV | 138 | $55,484 | 22.1% | 1.91 | 0.53 | 28.7% |
| DIA | MACD | 291 | $42,331 | 21.2% | 1.44 | 0.24 | 50.0% |
| DIA | OBV-MACD | 296 | $38,947 | 29.3% | 1.38 | 0.20 | 50.2% |
| DIA | MACD+OBV | 167 | $24,918 | 16.6% | 1.46 | 0.26 | 28.4% |
| ES | MACD | 206 | $101,312 | 31.7% | 1.37 | 0.21 | 50.5% |
| ES | OBV-MACD | 209 | $111,612 | 33.5% | 1.41 | 0.20 | 50.9% |
| ES | MACD+OBV | 118 | $99,500 | 33.6% | 1.63 | 0.35 | 30.5% |
| NQ | MACD | 195 | $199,090 | 46.4% | 1.48 | 0.25 | 51.5% |
| NQ | OBV-MACD | 214 | $258,490 | 34.2% | 1.60 | 0.31 | 49.6% |
| NQ | MACD+OBV | 106 | $156,270 | 60.8% | 1.56 | 0.29 | 28.6% |
Bold marks the best of the three on that measure in that market.
At 12/26/9, on the long side, with no time exit, the confirmed version beat plain MACD on profit factor in all six markets. The replacement beat it in three.
IWM is the row to sit with. Plain MACD: 260 trades, $54,384, a 38.5% worst drawdown. Confirmed: 138 trades, $55,484, a 22.1% worst drawdown. Slightly more money, on 138 trades against 260, through a drawdown 16 percentage points shallower. That is not a better indicator. That is the same indicator, asked to shut up more often.
What does the confirmation actually cost?
Trades. Fewer of them, everywhere, without exception.
| Measure | MACD+OBV better | Tied | Worse | Median change |
|---|---|---|---|---|
| Net profit | 62.8% | 0.0% | 37.2% | $7,914 |
| Profit factor | 67.3% | 3.5% | 29.3% | 0.06 |
| R-expectancy | 66.3% | 5.2% | 28.5% | 0.03 |
| Sharpe ratio | 64.2% | 8.7% | 27.1% | 0.02 |
| Worst drawdown | 85.7% | 0.0% | 14.3% | 21.32 points shallower |
| Trade count | 0.0% | 0.0% | 100.0% | 107 fewer trades |
The same 3,072 matched pairs, for the confirmed construction.
That trade-count row is not a typo. In every one of 3,072 pairs, the confirmed version took fewer trades than its control. A filter that never removes anything is not a filter, so this is what it should look like, and it is still worth staring at: the median pair gave up 107 trades. Time in the market falls from 38.1% to 22.6%.
| Construction | Median exposure | Median trades per year | Median bars per trade |
|---|---|---|---|
| MACD | 38.1% | 10.28 | 8.36 |
| OBV-MACD | 37.5% | 10.43 | 8.15 |
| MACD+OBV | 22.6% | 6.00 | 8.43 |
Note the last column. Median hold time is about the same across all three, 8.15 to 8.43 bars. The confirmed version's lower exposure comes from taking fewer trades, not from holding them longer: six a year instead of ten.
Does confirmation make more money, or just less trouble?
Less trouble, mostly. On the long side, net profit improved in only 30.4% of pairs. Confirmation removes trades in a thirty-year uptrend, and the trades it removes include winners. What improves on the long side is the strategy you're left with: profit factor better in 71.9% of pairs, Sharpe in 65.0%, worst drawdown in 75.5%.
That split is the entire trade, stated in one line: you get a strategy with better risk-adjusted quality, and a smaller one. If net profit is your only number, this filter looks like a downgrade. It is the reason I stopped reading net profit on its own years ago, after building an equity curve I was proud of that turned out to spend eleven months underwater in the middle.
Which MACD settings hold up across all six markets?
The slow ones, on the confirmed long-side MACD+OBV build, and the gap is wide.
A single best row is a lottery ticket, so this is scored the other way: for each of the 256 parameter configurations, was it profitable on all six markets at once, and what was its median profit factor across them.
| Construction | Configurations | Profitable on all six markets | Median profit factor | Median R-expectancy |
|---|---|---|---|---|
| MACD | 256 | 91.8% | 1.277 | 0.140 |
| OBV-MACD | 256 | 80.9% | 1.195 | 0.095 |
| MACD+OBV | 256 | 80.9% | 1.382 | 0.203 |
Long side. Every signal length and time exit pooled into each configuration.
Plain MACD is the most reliably positive of the three, on 91.8% of configurations. It is also the flattest: its best cell in the parameter map reads 1.35 and its worst reads 1.17. The confirmed version trades some of that reliability for a much higher ceiling.
That corner is the tradable region, and it is worth naming precisely.
| Region | Configurations | Profitable on all six | Median profit factor | Median trades |
|---|---|---|---|---|
| Slow corner: fast 12 or more, slow 35 or more, signal 14 or more | 48 | 91.7% | 1.64 | 90 |
| Fast corner: fast 8 or less, slow 26 or less | 64 | 53.1% | 1.26 | 221 |
Forty-eight configurations, not one. That is what makes it a region rather than a lucky cell: move the fast leg from 12 to 24, the slow leg from 35 to 52 and the signal from 14 to 18, and 91.7% of those configurations are still profitable on all six markets, with a median profit factor of 1.64 across them. A result that only survives at one setting is a result about that setting.
The fast corner does the familiar thing. More signals, worse signals, and half the configurations cannot stay positive across six markets. If you want the same lesson on a different indicator, it is the whole argument of the ADX write-up.
Why does confirmation work, if OBV is a lagging indicator?
Because the crossings OBV agreed with earned about twice as much.
Take every bullish 12/26/9 crossing in each market's history and split it by whether the OBV MACD histogram was already above zero at that moment. Then measure each one the way the strategy exits it: in at the open after the crossing, out at the open after the next opposite crossing.
| Market | Crossings | OBV agreed: per trade | win rate | OBV disagreed: per trade | win rate |
|---|---|---|---|---|---|
| SPY | 362 | +0.44% | 45.5% | +0.41% | 43.9% |
| QQQ | 278 | +0.27% | 46.3% | +0.30% | 41.9% |
| IWM | 260 | +1.15% | 42.0% | -0.03% | 39.3% |
| DIA | 291 | +0.43% | 43.1% | +0.40% | 43.5% |
| ES | 206 | +0.48% | 44.9% | +0.05% | 39.8% |
| NQ | 195 | +0.56% | 48.1% | +0.32% | 48.3% |
| All six | 1,592 | +0.54% | 44.9% | +0.26% | 42.7% |
Pooled, a crossing OBV agreed with earned 2.1 times what one it disagreed with earned. The confirmed group led in five of the six markets taken singly.
The mechanism is unglamorous, and I think that is why nobody writes about it. Nothing here asks OBV to call the turn earlier, and nothing here tests whether it can. What the filter asks is duller and much narrower: had volume's own moving averages already crossed the same way price's had. When they had not, the crossover still fires, and the trades that followed earned less than half as much. You pay a trade to find out which kind you had.
Where does this finding not hold?
One measurement answers the opposite way, and I am reporting it because it is true. Score the same crossings on a fixed twenty-day window instead of the strategy's own exit, and on SPY the vetoed crossings come out ahead. Both numbers are real. Only one of them is about this strategy, because only one of them exits where the strategy exits. If you go looking for this effect with a different exit rule, you may not find it.
Does any of this beat buying the index?
No, and it is not close.
| Market | Best variant, any construction | Buy and hold | Crossover worst drawdown | Buy-and-hold worst drawdown |
|---|---|---|---|---|
| SPY | $60,732 | $551,738 | 20.9% | 56.5% |
| NQ | $303,980 | $494,890 | 28.5% | 58.3% |
The best variant is selected on its own history and is the number least likely to repeat. Both columns are the same $35,000 sizing basis through the same metric engine.
Thirty-three years of MACD crossovers on SPY, at the best setting I can find after the fact, produced about 11% of what doing nothing produced. What they bought was a 20.9% worst drawdown instead of 56.5%, on a variant that held a position 51.9% of the time. Across the whole MACD sweep the median is 38.1%, so the median setting sat out more than it held.
That is a real trade and it is not the trade most people think they are making. If the appeal of a MACD system is that it will beat the index, this data says no. If the appeal is that you would like to own less of a 56% drawdown, this data says yes, and the confirmed version says it loudest.
The random control makes a related point from underneath. On SPY, a control that asked for 302 random entries and filled 233, each held 8 bars and averaged over 10 seeds, made $26,337, with a spread of $17,243 across the seeds. On SPY alone, the median long MACD variant made $31,113. The gap between them is smaller than the control's own spread, and by the rule this study set itself, a result inside that spread has not beaten luck.
The verdict, and the honest limits
Where the hype is right: volume does add something to a MACD. Confirming a price crossover with an OBV crossover improved profit factor in 67.3% of 3,072 matched pairs, improved risk-adjusted return in 64.2%, and shrank the worst drawdown in 85.7% of them, with a median change across all pairs of a 21.32-point reduction. That effect showed up on five of six markets and on both sides of the trade. Of the three measures tracked here, drawdown improved the most consistently: 85.7% of pairs, ahead of profit factor's 67.3% and Sharpe's 64.2%.
Where the hype is wrong: in this test, the OBV MACD is not a better MACD. As a replacement it lost to the coin flip on profit factor, on net profit, on R-expectancy and on Sharpe, and its verdict swung 49 points between two US equity ETFs. The popular framing, "which one wins", has an answer and the answer is "neither, use one to check the other".
And the claim everyone repeats. The OBV MACD is said to signal up to five bars earlier, a figure that circulates widely and is quoted back by AI assistants. It has never been published with a test attached, and it is not tested here either. What is tested is whether the OBV construction converts its timing into a better trade. On four of the six markets it did not improve Sharpe, and at 12/26/9 it beat plain MACD on profit factor in three of the six. Lead time is not the claim to argue about. The trade is.
What are the limits of this result?
There are several, and two of them are load-bearing.
- Frictionless. No commission, no slippage, no exchange fees. The confirmed version takes 42% fewer trades, so per-trade costs land on it more lightly than on plain MACD, and the plain MACD's numbers are the flattered ones. I have not rerun the sweep with a cost model, so the size of that is untested here.
- Six markets, one asset class. All six are US equity indices. This says nothing about currencies, energy, crypto or single stocks, and the back-adjusted contracts I excluded were excluded because OBV on a rolling futures series is partly measuring the roll.
- Daily bars only. Nothing here transfers automatically to an intraday chart, where volume has a session shape that a daily bar hides completely.
- The long side carries the profit. Short crossover variants were profitable in 0.6% of plain MACD configurations and 4.9% of confirmed ones. The confirmation makes the short side less bad. It does not make it good.
- The mechanism is exit-dependent. As above, the per-crossing edge reverses on SPY under a fixed twenty-day window. The finding is about this rule with this exit.
- Two of the six markets overlap heavily. SPY and ES track the same index, as do QQQ and NQ. Six markets is not six independent samples, and the agreement between each pair is a consistency check rather than out-of-sample proof. If you want the version of that argument with the receipts, it is in the robustness testing piece.
- The slow corner is scored on the same six histories that found it. Forty-eight configurations profitable at once is evidence against a single lucky setting, not evidence that the region would hold on data the sweep never saw. No holdout period tests that.
What this means for you
- Do not replace your MACD. The evidence for the OBV MACD as a standalone indicator is a coin flip: it fails to beat plain MACD on Sharpe in four of the six markets, and on profit factor in three. If you installed the TradingView script and swapped it in on a daily chart of SPY, IWM or ES, swap back: on those three the replacement lost a majority of matched pairs on profit factor. On QQQ, DIA and NQ it won a majority on that measure. That frictionless daily grid is the ground this was tested on.
- Add the OBV MACD as a second panel and use it as a veto. Take the price crossover only when the OBV MACD histogram is already above zero for longs, below zero for shorts. Leave your exit alone. That is the whole change.
- Expect to trade about 42% less. Six trades a year instead of ten, at the median across every setting tested. If you cannot sit through that, this filter will not survive contact with you, and knowing that in advance is worth more than the backtest.
- Judge it on drawdown, not on profit. Net profit improved in 30.4% of long pairs and the worst drawdown improved in 75.5%. If you check whether it "made more money", you will conclude it failed. It did not fail. It changed what you are buying.
- Use slow settings, on the confirmed long-side
MACD+OBVbuild. Fast 12 or more, slow 35 or more, signal 14 or more. That corner was profitable on all six markets in 91.7% of its 48 configurations, at a 1.64 median profit factor. The fast corner managed 53.1%. - Do not expect to beat the index with it. Nothing in this test's long-side variants did: not one of the three constructions, on any of the six markets, at the best setting found after the fact. What it bought here, across both sides of the trade, was a smaller worst drawdown in 85.7% of the 3,072 matched pairs, with a median change across all pairs of a 21.32-point reduction. That is a legitimate thing to want, as long as you are honest with yourself that it is the thing you are buying.
Where else have I tested this?
I covered the "add this to your MACD" idea on the channel in MACD Isn't Enough! Add This to Boost Your Trades (OBV MACD). The video is still a decent walkthrough of the setup. The number attached to it is now this page's, not that one's. If you want the neighbouring tests, The Secret Volume Indicator Traders Ignore covers the volume oscillator, which I wrote up in full in the volume oscillator study, and Volume Confirms Pullbacks? I Tested It 33,000 Times is the closest prior version of the confirm-with-volume question.
One more piece of context worth having before you run this on your own chart: a crossover system's results depend enormously on whether the market is trending or ranging, which is the subject of the market regimes article. Every test on this page pools both, on purpose, because I would rather report the average of a real history than the good half of it. Every test I run gets written up this way and goes out first through Overfit.
This is research, not investment advice. Everything above is a backtest on historical data with no trading costs in it, and a backtest is a description of the past, not a promise about the next trade.
Every test I run gets written up like this one, numbers and all, before anyone else sees it. StatOasis.com/Overfit






