MACD Strategy: Real NSE Backtest Across Multiple Timeframes
The short answer
How reliable is a macd strategy in Indian equity markets? Tested on 15 major NSE stocks, the 1-hour MACD signal crossover took 725 trades, won 36.7% of them, and ended at -14.9% after all statutory charges and slippage. Both signal crossovers and zero-line crossovers on 15-minute, 1-hour, and daily candles ended negative over the 12-month backtest.
View data
| Item | Value |
|---|---|
| 15m Signal Cross | -39.2% |
| 1h Signal Cross | -14.9% |
| Daily Signal Cross | -3.4% |
| Daily Zero Cross | -4.7% |
How the MACD indicator and histogram are constructed
Moving Average Convergence Divergence (MACD) was developed by Gerald Appel in the late 1970s. Designed to track both trend direction and momentum shifts, the indicator combines three distinct components:
- The MACD Line: Calculated by subtracting the 26-period exponential moving average from the 12-period exponential moving average. When short-term momentum rises faster than long-term momentum, the MACD line moves upward.
- The Signal Line: A 9-period exponential moving average of the MACD line itself. This serves as a trigger line to identify cyclical turning points.
- The MACD Histogram: The vertical visual distance between the MACD line and the Signal line. When the MACD line crosses above the Signal line, the histogram flips from negative to positive.
Traders on the National Stock Exchange (NSE) widely deploy a macd strategy assuming that these mathematical relationships provide a reliable statistical edge.
Fast EMA: 12 periods.
Slow EMA: 26 periods.
Signal Line: 9-period EMA of the MACD line.
Signal line crossover versus zero line crossover
In quantitative trading, there are two primary methods to generate signals from MACD:
- Signal Line Crossover: Enters long as soon as the MACD line crosses above the 9-period Signal line. This setup triggers relatively early in an emerging price move, but also generates frequent false signals during choppy consolidation.
- Zero Line Crossover (Centerline): Enters long only when the MACD line crosses above the zero line. This requires the 12-period EMA to trade higher than the 26-period EMA, confirming that medium-term trend direction has flipped positive. While it generates fewer false trades, it suffers from substantial lag.
| Setup Type | Entry Condition | Typical Frequency | Key Limitation |
|---|---|---|---|
| Signal Cross | MACD line crosses above Signal line | High trade count | Severe whipsaws during sideways market chop |
| Zero Line Cross | MACD line crosses above zero baseline | Moderate trade count | Late entry after a large part of the move is over |
Backtest results on NSE stocks: 15m, 1h, and daily candles
We tested MACD strategies across a 12-month period on a portfolio of 15 large-cap NSE liquid stocks including Reliance, TCS, HDFC Bank, and Infosys. The account was ₹1,00,000, each trade used 20% of it, and at most 5 trades were open at once. Full Indian transaction charges—including STT, brokerage, exchange fees, SEBI charges, stamp duty, GST, and execution slippage—were deducted from every trade.
None of the four setups produced a positive net return after charges:
| MACD Strategy Setup | Candles | Trades | Won % | Price moves | Slippage | Charges | After all costs | Return |
|---|---|---|---|---|---|---|---|---|
| Signal Cross (15-minute) | 15m | 2,175 | 31.9% | +₹2,153 | -₹6,547 | -₹34,794 | -₹39,188 | -39.2% |
| Signal Cross (1-hour) | 1h | 725 | 36.7% | +₹1,108 | -₹2,532 | -₹13,456 | -₹14,880 | -14.9% |
| Signal Cross (Daily) | 1d | 109 | 32.1% | +₹3,355 | -₹418 | -₹6,330 | -₹3,394 | -3.4% |
| Zero Line Cross (Daily) | 1d | 54 | 27.8% | -₹1,463 | -₹202 | -₹3,071 | -₹4,736 | -4.7% |
1h Exits Distribution
View data
| Part | Count |
|---|---|
| Square-off time | 612 |
| Exit rule | 102 |
| Stop hit | 11 |
1h Charges Waterfall
View data
| Step | ₹ |
|---|---|
| Price moves | ₹1,108 |
| Slippage | -₹2,532 |
| Charges | -₹13,456 |
| Net | -₹14,880 |
Multi-year event study: what happens after a bullish cross?
To evaluate whether a MACD bullish crossover provides any intrinsic statistical predictive power outside of specific stop-loss rules, we analyzed all NIFTY 100 constituent stocks across 9 years of daily trading data from July 2017 to October 2026.
We tracked close-to-close returns 1, 5, and 10 trading sessions after a bullish signal line crossover on daily charts.
| Signal | Times seen | Up after 1 day | Up after 5 days | Up after 10 days | Average move in 5 days |
|---|---|---|---|---|---|
| Daily MACD Bullish Signal Crossover | 7,571 | 50.7% | 53.5% | 54.4% | +0.56% |
| Every day, same stocks | 193,939 | 50.8% | 52.7% | 53.7% | +0.41% |
In the event study, stocks were positive 5 days after a bullish cross 53.5% of the time, modestly higher than the baseline rate of 52.7% across all trading days. By 10 days, the win rate reached 54.4% (baseline 53.7%). While an underlying directional drift exists, our backtest proves that trading it mechanically with standard stops and targets is insufficient to overcome round-trip Indian equity costs.
Why transaction friction erodes MACD profits
Across the 1-hour test alone, the system generated 725 trades over 12 months. Raw gross price moves totaled +₹1,108. However, paying ₹13,456 in cumulative statutory charges turned the final result into a net loss of -₹14,880.
Because MACD is a lagging indicator built entirely from moving averages, it responds slowly to rapid reversals. In trendless or sideways markets, it consistently buys at local highs and sells at local lows, triggering whipsaws that rapidly bleed trading capital through repeated brokerage and STT friction.
How we tested
- Period
- 2025-10-07 to 2026-10-07
- Stocks
- 15 stocks: RELIANCE, HDFCBANK, ICICIBANK, INFY, TCS, SBIN, BHARTIARTL, ITC, LT, AXISBANK, KOTAKBANK, HINDUNILVR, MARUTI, SUNPHARMA, BAJFINANCE
- Candle size
- 1h
- Account
- ₹1,00,000 in one account, 20.0% per trade, up to 5 open trades
- Product
- intraday
- Exits
- stop 2.0%, target 4.0%, trailing 0.0%, intraday square-off by the engine
- Slippage
- 0.01% per fill
- Charges counted
- brokerage, STT, exchange transaction fee, SEBI fee, stamp duty and GST
- Engine
- LeadFinn backtest engine (files backtest_engine 68ab8514c88d, account 26450af3ec14, india_charges 272d6186e093; repo commit unknown)
- Run date
- 2026-10-09 (IST)
More on how we test: How we test.
MACD crossover: every timeframe, intraday and swing
Data updated: 11 Oct 2026, 01:49 IST
The same rules on every candle size, the way the Run button gives them: the strategy's own stop loss and target, no tuning, every result shown. 15 NIFTY 50 stocks, ₹1,00,000 in one account, 20% per trade, up to 5 trades open, India charges and 0.01% slippage, 9 Oct 2023 to 9 Oct 2026.
Stop loss 2% and target 4% (its own).
Intraday: closed the same day
| Candle | Result after charges | Trades | Won | Charges | Biggest fall |
|---|---|---|---|---|---|
| 1 min | −₹98,714 −98.7% | 19,074 | 14.5% | −₹77,239 | −98.7% |
| 5 min | −₹95,384 −95.4% | 14,760 | 25.5% | −₹79,628 | −95.4% |
| 15 min | −₹73,389 −73.4% | 6,538 | 32.2% | −₹74,155 | −73.4% |
| 1 hour | −₹34,824 −34.8% | 2,224 | 37.1% | −₹37,207 | −34.9% |
Swing: held overnight (delivery, buy side only)
| Candle | Result after charges | Trades | Won | Charges | Biggest fall |
|---|---|---|---|---|---|
| 1 min | −₹98,742 −98.7% | 2,909 | 1.8% | −₹91,944 | −98.7% |
| 5 min | −₹98,728 −98.7% | 3,055 | 9.8% | −₹95,422 | −98.7% |
| 15 min | −₹98,717 −98.7% | 3,224 | 18.1% | −₹1,03,131 | −98.7% |
| 1 hour | −₹65,012 −65.0% | 1,660 | 27.9% | −₹72,043 | −65.4% |
| 4 hours | −₹19,546 −19.6% | 612 | 33.8% | −₹34,370 | −31.0% |
| 1 day | −₹18,706 −18.7% | 361 | 32.4% | −₹19,745 | −25.9% |
Past results on past prices, not advice. Every number is from LeadFinn's backtest engine. Tap a candle size to run that test yourself.
Frequently asked questions
Did the macd strategy make money on NSE stocks?
No. Across our 12-month backtest on 15 liquid NSE stocks, signal crossovers on 15m, 1h, and daily candles as well as daily zero-line crossovers all lost money after accounting for Indian charges and slippage.
How many trades did the 1-hour MACD cross take?
The 1-hour signal crossover took 725 trades over 12 months, achieving a win rate of 36.7% and an overall return of -14.9%.
What is the difference between a signal cross and a zero cross?
A signal cross occurs when the MACD line crosses its 9-period EMA signal line, which happens earlier in a move. A zero cross occurs when the MACD line crosses the zero baseline, which confirms medium-term trend direction but with greater lag.
What happened to NIFTY 100 stocks after a bullish MACD cross?
In our event study since 2017, stocks were positive 5 days later 53.5% of the time, compared to 52.7% on random trading days.
Why does MACD generate false signals in range-bound markets?
Because MACD is derived from moving averages, it lags real-time price action. In choppy sideways markets, the indicator oscillates back and forth around the signal line, causing repeated losing trades.
Keep going
This is education, not investment advice. These are tested results on past data; they do not promise future returns. Trading can lose money. See our disclaimer.