Buy when ADX is above 25 and +DI crosses above −DI; sell when +DI crosses back below −DI.
Backtest of ADX Trend on Nifty 50 from Dec 2005 to Nov 2026: CAGR −0.4%, max drawdown 22.6%, win rate 27.5% over 40 trades, vs buy-and-hold 11.0%.
As of · Hypothetical backtest by Jivani Markets on Nifty 50 daily data; re-run weekly
| Measure | ADX Trend | Buy and hold Nifty 50 |
|---|---|---|
| CAGR (annual return) | −0.4% | 11.0% |
| Total return | −9% | 783% |
| Max drawdown | −22.6% | −59.9% |
| ₹10 lakh became | ₹9.1 lakh | ₹88.3 lakh |
| Win rate | 27.5% | — |
| Trades (closed) | 40 | — |
| Winning / losing trades | 11 / 29 | — |
| Profit factor | 0.83 | — |
| Sharpe ratio | -0.07 | — |
| Volatility (annual) | 4.7% | — |
| Time in the market | 11% | 100% |
| Average holding | 14 sessions | — |
| Charges and slippage paid | ₹1,90,259 | — |
# ADX Trend (+DI over −DI) on Nifty 50
universe("NIFTY 50", asset="index")
settings(
timeframe="1d",
entry_timing="next_open",
cost_model="retail",
slippage_model="tiered",
start="2006-01-01",
benchmark="NIFTY 50",
allow_short=False,
participation_ignore_zero_volume=True,
)
exit_when(crosses_below(indicator("adx", output="plus_di", period=14), indicator("adx", output="minus_di", period=14)))
buy(all_of(adx(14) > 25, crosses_above(indicator("adx", output="plus_di", period=14), indicator("adx", output="minus_di", period=14))), size=percent_of_equity(100))
| Year | Strategy | Buy and hold |
|---|---|---|
| 2026* | +3.9% | −4.2% |
| 2025 | −2.2% | +10.5% |
| 2024 | −2.4% | +8.8% |
| 2023 | +9.6% | +20.0% |
| 2022 | −0.2% | +4.3% |
| 2021 | −4.7% | +24.1% |
| 2020 | −0.3% | +14.9% |
| 2019 | −7.0% | +12.0% |
| 2018 | −2.8% | +3.1% |
| 2017 | +12.1% | +28.6% |
| 2016 | −0.9% | +3.0% |
| 2015 | 0.0% | −4.1% |
| 2014 | +8.1% | +31.4% |
| 2013 | −2.2% | +6.8% |
| 2012 | −1.3% | +27.7% |
| 2011 | −2.5% | −24.6% |
| 2010 | +1.9% | +17.9% |
| 2009 | −0.9% | +75.8% |
| 2008 | −8.7% | −51.8% |
| 2007 | −2.6% | +54.8% |
| 2006 | −3.5% | +39.9% |
| Bought | At | Sold | At | Return |
|---|---|---|---|---|
| 3 Nov 2026 | 23,617.62 | 9 Nov 2026 (end of test) | 25,032.13 | +5.8% |
| 4 Feb 2026 | 25,713.56 | 16 Feb 2026 | 25,385.46 | −1.5% |
| 19 Aug 2025 | 24,928.69 | 25 Aug 2025 | 24,911.73 | −0.3% |
| 5 Feb 2025 | 23,837.45 | 11 Feb 2025 | 23,348.48 | −2.3% |
| 3 Feb 2025 | 23,354.33 | 4 Feb 2025 | 23,474.64 | +0.3% |
| 4 Dec 2024 | 24,525.48 | 16 Dec 2024 | 24,716.27 | +0.6% |
| 23 Jan 2024 | 21,749.27 | 24 Jan 2024 | 21,153.47 | −3.0% |
| 8 Aug 2023 | 19,656.64 | 10 Aug 2023 | 19,576.14 | −0.6% |
| 6 Apr 2023 | 17,560.15 | 4 Aug 2023 | 19,433.61 | +10.4% |
| 1 Sept 2022 | 17,511.93 | 19 Sept 2022 | 17,514.34 | −0.2% |
From 30 Dec 2005 to 9 Nov 2026, these ADX Trend rules on the Nifty 50 index returned a CAGR of −0.4% after costs, less than the 11.0% a year from buying and holding the index, with a worst fall of 22.6% against 59.9% for buy-and-hold. It made 40 trades and was invested 11% of the time. This is a hypothetical test on past data, not a recommendation, and past performance is not indicative of future results.
27.5%: 11 of 40 closed trades made money after charges and slippage. On a ₹10 lakh account the average winning trade made ₹37,805 and the average losing trade lost ₹17,327; the profit factor (gross profit ÷ gross loss) was 0.83. A high win rate with small wins can still lose money, so read it with the CAGR and drawdown.
Buy: ADX(14) is above 25 and +DI crosses above −DI. Sell: +DI crosses back below −DI. One position at a time with all of the capital; out of the market (in cash, earning nothing) between trades. Daily candles, long only, orders filled at the next session's open.
Buying and holding the Nifty 50 index over the same dates returned 11.0% a year with a worst fall of 59.9%; the strategy returned −0.4% a year with a worst fall of 22.6%. A strategy that is out of the market part of the time usually gives up some return in rising years in exchange for missing part of the falls; the year-by-year table on this page shows where each one gained or lost.
Retail delivery charges (STT, exchange and SEBI fees, stamp duty and GST) and size-based slippage on every buy and sell; signals are read on the daily close and filled at the next session's open; price return only, so dividends are left out of both the strategy and buy-and-hold. An index cannot be bought directly; a fund or ETF that tracks it adds its own expense ratio and tracking error, and pays dividends this price-index test leaves out.
Yes. The "Run it yourself" link opens these exact rules in the Jivani Markets backtest builder, where you can change the indicator settings, add a stop-loss, pick other stocks or indices and re-run it on the latest data.