MACD Strategy: Real NSE Backtest Across Multiple Timeframes

Updated 2026-10-118 min readData 2025-10-07 to 2026-10-07

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.

1h Signal Cross
-14.9%
725 trades after charges
15m Signal Cross
-39.2%
2,175 trades after charges
Daily Signal Cross
-3.4%
109 trades after charges
Daily Zero Line Cross
-4.7%
54 trades after charges
MACD Strategy Returns After All Indian ChargesAll tested MACD variations on 15m, 1h, and daily candles ended in net losses.15m Signal Cross-39.2%1h Signal Cross-14.9%Daily Signal Cross-3.4%Daily Zero Cross-4.7%
All tested MACD variations on 15m, 1h, and daily candles ended in net losses.
View data
ItemValue
15m Signal Cross-39.2%
1h Signal Cross-14.9%
Daily Signal Cross-3.4%
Daily Zero Cross-4.7%
Backtest MACD crossover on your favourite stocksRun this backtest yourself on LeadFinnHow backtesting works

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.

Standard Settings

Fast EMA: 12 periods.
Slow EMA: 26 periods.
Signal Line: 9-period EMA of the MACD line.

Backtest MACD crossover on your favourite stocksRun this backtest yourself on LeadFinnHow backtesting works

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 TypeEntry ConditionTypical FrequencyKey Limitation
Signal CrossMACD line crosses above Signal lineHigh trade countSevere whipsaws during sideways market chop
Zero Line CrossMACD line crosses above zero baselineModerate trade countLate 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 SetupCandlesTradesWon %Price movesSlippageChargesAfter all costsReturn
Signal Cross (15-minute)15m2,17531.9%+₹2,153-₹6,547-₹34,794-₹39,188-39.2%
Signal Cross (1-hour)1h72536.7%+₹1,108-₹2,532-₹13,456-₹14,880-14.9%
Signal Cross (Daily)1d10932.1%+₹3,355-₹418-₹6,330-₹3,394-3.4%
Zero Line Cross (Daily)1d5427.8%-₹1,463-₹202-₹3,071-₹4,736-4.7%

1h Exits Distribution

Exit Breakdown for 1-Hour MACD CrossIntraday square-offs and stop-loss triggers accounted for the vast majority of exits.Square-off time: 612 (84%)Exit rule: 102 (14%)Stop hit: 11 (2%)
Intraday square-offs and stop-loss triggers accounted for the vast majority of exits.
View data
PartCount
Square-off time612
Exit rule102
Stop hit11

1h Charges Waterfall

From Price Moves to Net Loss (1h)Statutory charges and execution slippage converted gross performance into a net loss.Price moves₹1,108Slippage-₹2,532Charges-₹13,456Net-₹14,880
Statutory charges and execution slippage converted gross performance into a net loss.
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.

SignalTimes seenUp after 1 dayUp after 5 daysUp after 10 daysAverage move in 5 days
Daily MACD Bullish Signal Crossover7,57150.7%53.5%54.4%+0.56%
Every day, same stocks193,93950.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

CandleResult after chargesTradesWonChargesBiggest fall
1 min−₹98,714 −98.7%19,07414.5%−₹77,239−98.7%
5 min−₹95,384 −95.4%14,76025.5%−₹79,628−95.4%
15 min−₹73,389 −73.4%6,53832.2%−₹74,155−73.4%
1 hour−₹34,824 −34.8%2,22437.1%−₹37,207−34.9%

Swing: held overnight (delivery, buy side only)

CandleResult after chargesTradesWonChargesBiggest fall
1 min−₹98,742 −98.7%2,9091.8%−₹91,944−98.7%
5 min−₹98,728 −98.7%3,0559.8%−₹95,422−98.7%
15 min−₹98,717 −98.7%3,22418.1%−₹1,03,131−98.7%
1 hour−₹65,012 −65.0%1,66027.9%−₹72,043−65.4%
4 hours−₹19,546 −19.6%61233.8%−₹34,370−31.0%
1 day−₹18,706 −18.7%36132.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.