MACD on crypto: only on 4-hour bars, and only above zero
No MACD setting made money on bars shorter than 4 hours. On 4-hour bars, crossovers taken only above the zero line made money in 88% of settings, with a median of +25.2% a year after costs; plain signal-line crossovers had a median of +1.7%.
How it works
MACD is the gap between a fast and a slow exponential moving average of the price, 12 and 26 bars by default. Its signal line is a 9-bar average of that gap. The usual buy signal is MACD crossing above its signal line; a stricter version also requires MACD to be above zero, which means the fast average is above the slow one.
What we tested
- Fast EMA 5, 8, 12 or 19 bars; slow EMA 13, 17, 26 or 39 bars; signal line 5 or 9 bars: 32 combinations. A few pairs have the first average longer than the second; we kept the grid as tested.
- For each, two entry rules: hold while MACD is above its signal line, or only while it is above its signal line and above zero: 64 settings.
Every setting was run on eight bar lengths, from 1 minute to 4 hours, on Upbit's Korean-won market: 12 large coins from January 2024 to October 2026 (from January 2025 on 5- and 10-minute bars; 8 coins from April 2026 on 1- and 3-minute bars). Signals are taken at a bar's close and filled at the next bar's open, spot buying only, with equal money in each coin. Every trade pays Upbit's 0.05% fee plus one price tick of slippage. That makes 64 single-indicator settings, and 1,185 more combinations where the best of them were given a filter or an exit rule. Full method.
Results by setting and bar length
Each cell is the yearly return after costs over the whole period. An outlined cell passed the two-period test: at least +10% a year in both the first and the second period, with the second keeping at least half of the first.
Return per year after costs, %
Sea level (0) is break-even after costs: blue is under water, green to brown is land.
Settings above water after costs: 47 of 64 on 4-hour bars, and none on 1-hour bars or shorter. None passed the two-period test.
| Top 16 of 64 on 4-hour bars | 1m | 3m | 5m | 10m | 15m | 30m | 1h | 4h |
|---|---|---|---|---|---|---|---|---|
| MACD 19/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.8 | −96.0 | −71.7 | −26.4 | +39.9 |
| MACD 19/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −97.5 | −78.1 | −36.8 | +37.8 |
| MACD 19/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −98.2 | −79.6 | −37.4 | +33.4 |
| MACD 12/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −98.1 | −80.1 | −39.1 | +33.2 |
| MACD 19/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −98.9 | −84.9 | −45.3 | +32.7 |
| MACD 12/17/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.5 | −91.1 | −57.7 | +31.1 |
| MACD 8/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.6 | −91.4 | −58.7 | +29.7 |
| MACD 12/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.0 | −85.8 | −48.2 | +29.4 |
| MACD 5/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −95.8 | −71.1 | +28.3 |
| MACD 8/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.8 | −67.1 | +28.2 |
| MACD 8/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.7 | −92.0 | −60.3 | +28.0 |
| MACD 8/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −87.4 | −50.3 | +27.4 |
| MACD 12/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −86.9 | −48.0 | +26.9 |
| MACD 12/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.6 | −90.7 | −57.6 | +26.4 |
| MACD 12/17/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.3 | −64.3 | +26.2 |
| MACD 5/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −93.6 | −64.1 | +25.5 |
All 64 settings
| Setting | 1m | 3m | 5m | 10m | 15m | 30m | 1h | 4h |
|---|---|---|---|---|---|---|---|---|
| MACD 5/13/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −95.6 | −14.8 |
| MACD 5/13/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.9 | −86.7 | +1.8 |
| MACD 5/13/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.5 | −91.3 | −8.3 |
| MACD 5/13/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.2 | −81.9 | +3.9 |
| MACD 5/17/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.7 | −14.7 |
| MACD 5/17/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.4 | −83.7 | +7.8 |
| MACD 5/17/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.4 | −89.4 | −1.2 |
| MACD 5/17/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −97.4 | −77.6 | +15.3 |
| MACD 5/26/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.7 | −93.6 | −12.1 |
| MACD 5/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −97.5 | −78.8 | +16.5 |
| MACD 5/26/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.1 | −87.3 | +1.8 |
| MACD 5/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −95.8 | −71.1 | +28.3 |
| MACD 5/39/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.7 | −92.8 | −5.9 |
| MACD 5/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −96.2 | −74.0 | +23.5 |
| MACD 5/39/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.8 | −85.1 | +1.6 |
| MACD 5/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −93.6 | −64.1 | +25.5 |
| MACD 8/13/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.6 | −92.5 | −8.8 |
| MACD 8/13/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −97.4 | −79.1 | +12.4 |
| MACD 8/13/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.8 | −86.2 | +3.2 |
| MACD 8/13/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −96.0 | −72.0 | +19.5 |
| MACD 8/17/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.5 | −90.6 | −7.5 |
| MACD 8/17/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −96.5 | −74.0 | +15.6 |
| MACD 8/17/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.4 | −83.5 | +6.5 |
| MACD 8/17/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.5 | −65.9 | +24.5 |
| MACD 8/26/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −88.2 | +0.4 |
| MACD 8/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.8 | −67.1 | +28.2 |
| MACD 8/26/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −97.7 | −80.2 | +6.1 |
| MACD 8/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.6 | −91.4 | −58.7 | +29.7 |
| MACD 8/39/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.0 | −86.8 | +2.9 |
| MACD 8/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.7 | −92.0 | −60.3 | +28.0 |
| MACD 8/39/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −97.0 | −77.3 | +7.4 |
| MACD 8/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −87.4 | −50.3 | +27.4 |
| MACD 12/13/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −88.8 | −0.5 |
| MACD 12/13/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −95.8 | −69.5 | +18.7 |
| MACD 12/13/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −97.9 | −81.3 | +5.9 |
| MACD 12/13/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.7 | −93.3 | −62.9 | +24.9 |
| MACD 12/17/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −99.0 | −86.1 | +0.6 |
| MACD 12/17/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.3 | −64.3 | +26.2 |
| MACD 12/17/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −97.2 | −78.2 | +11.1 |
| MACD 12/17/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.5 | −91.1 | −57.7 | +31.1 |
| MACD 12/26/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −98.5 | −83.2 | +5.0 |
| MACD 12/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.6 | −90.7 | −57.6 | +26.4 |
| MACD 12/26/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −95.6 | −72.7 | +12.3 |
| MACD 12/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.0 | −85.8 | −48.2 | +29.4 |
| MACD 12/39/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −100.0 | −97.9 | −80.6 | +2.9 |
| MACD 12/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −86.9 | −48.0 | +26.9 |
| MACD 12/39/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −94.2 | −70.1 | +10.1 |
| MACD 12/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −98.1 | −80.1 | −39.1 | +33.2 |
| MACD 19/13/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −94.5 | −77.2 | −47.9 |
| MACD 19/13/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −99.1 | −88.5 | −69.2 | −44.4 |
| MACD 19/13/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.3 | −89.4 | −69.5 | −45.0 |
| MACD 19/13/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −97.8 | −83.6 | −63.9 | −43.7 |
| MACD 19/17/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.8 | −93.3 | −74.4 | −46.1 |
| MACD 19/17/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −98.6 | −86.4 | −67.5 | −42.6 |
| MACD 19/17/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −98.9 | −88.1 | −66.9 | −42.8 |
| MACD 19/17/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −96.7 | −81.5 | −62.8 | −40.8 |
| MACD 19/26/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −97.0 | −77.8 | +7.3 |
| MACD 19/26/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −100.0 | −98.9 | −84.9 | −45.3 | +32.7 |
| MACD 19/26/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.7 | −92.6 | −66.0 | +16.0 |
| MACD 19/26/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −97.5 | −78.1 | −36.8 | +37.8 |
| MACD 19/39/5 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.9 | −96.0 | −73.4 | +9.0 |
| MACD 19/39/5 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.9 | −98.2 | −79.6 | −37.4 | +33.4 |
| MACD 19/39/9 signal cross | −100.0 | −100.0 | −100.0 | −100.0 | −99.5 | −90.5 | −58.7 | +23.7 |
| MACD 19/39/9 signal cross above zero | −100.0 | −100.0 | −100.0 | −99.8 | −96.0 | −71.7 | −26.4 | +39.9 |
Adding filters and exit rules
On each bar length, the settings with the best first-period results were combined with up to two filters (trend on a longer chart, ADX, volume, RSI range, Bitcoin's trend) or one filter and an exit rule (stop-loss, trailing stop, take-profit, time limit). Combinations were only built where this indicator ranked among the leaders in the first period.
| Bars | Combinations that traded | Passed | Best that passed | Return a year | Worst fall | Second period |
|---|---|---|---|---|---|---|
| 1-minute | 84 | 0 | None passed. Best overall: −3.9% a year | |||
| 3-minute | 579 | 0 | None passed. Best overall: −0.1% a year | |||
| 4-hour | 522 | 34 | MACD 12/17/9 signal cross above zero + volume above 1.5× its 20-bar average + RSI(14) above 50 | +39.4% | −17.4% | +26.9% |
What we learned
- Below 4-hour bars MACD lost everywhere; even the best 1-hour setting returned −26.4% a year. The fastest setting, MACD 5/13/5 on 1-minute bars, traded 213,458 times across 8 coins in six months.
- Requiring MACD to be above zero was the most useful single choice: on 4-hour bars it raised the median from +1.7% to +25.2% a year.
- Slow settings did best: MACD 19/39/9 signal cross above zero made +39.9% a year on 4-hour bars with a worst fall of −30.6%, but it made +60.6% in the first period and +18.9% in the second, so it did not pass.
- No single MACD setting passed the two-period test. With filters, 34 combinations on 4-hour bars did; the best was MACD 12/17/9 signal cross above zero + volume above 1.5× its 20-bar average + RSI(14) above 50: +39.4% a year, worst fall −17.4%.
- Daily charts told the same story in our separate 34-rule test: the common signal-line crossover lost 0.3% over two years on 22 coins with a 56% drawdown, while the histogram turning positive above zero made +30.4%.
Questions
Does MACD work for crypto trading?
Only on slow charts in our tests. On 4-hour bars 73% of settings made money after costs; on every shorter bar length, none did.
What are the best MACD settings for a 4-hour chart?
Slower than the default, and only above zero. MACD 19/39/9 above zero made +39.9% a year after costs; the default 12/26/9 above zero made +29.4%.
Is the MACD signal-line crossover profitable?
On its own, rarely after costs: a median of +1.7% a year on 4-hour bars, and a loss on every shorter bar length.
Every setup with this indicator in the explorer: 4h 1h 30m 15m