Buy when ADX is above 25 and +DI crosses above −DI; sell when +DI crosses back below −DI.
Backtest of ADX Trend on Sensex from Dec 2005 to Nov 2026: CAGR −1.2%, max drawdown 30.9%, win rate 17.5% over 40 trades, vs buy-and-hold 10.9%.
As of · Hypothetical backtest by Jivani Markets on Sensex daily data; re-run weekly
| Measure | ADX Trend | Buy and hold Sensex |
|---|---|---|
| CAGR (annual return) | −1.2% | 10.9% |
| Total return | −22% | 764% |
| Max drawdown | −30.9% | −60.9% |
| ₹10 lakh became | ₹7.8 lakh | ₹86.4 lakh |
| Win rate | 17.5% | — |
| Trades (closed) | 40 | — |
| Winning / losing trades | 7 / 33 | — |
| Profit factor | 0.59 | — |
| Sharpe ratio | -0.23 | — |
| Volatility (annual) | 4.7% | — |
| Time in the market | 10% | 100% |
| Average holding | 13 sessions | — |
| Charges and slippage paid | ₹1,67,619 | — |
# ADX Trend (+DI over −DI) on Sensex
universe("SENSEX", asset="index")
settings(
timeframe="1d",
entry_timing="next_open",
cost_model="retail",
slippage_model="tiered",
start="2006-01-01",
benchmark="SENSEX",
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* | +1.6% | −4.8% |
| 2025 | −2.2% | +9.1% |
| 2024 | −1.8% | +8.2% |
| 2023 | +9.0% | +18.7% |
| 2022 | −0.4% | +4.4% |
| 2021 | −4.0% | +22.0% |
| 2020 | −2.0% | +15.8% |
| 2019 | −4.8% | +14.4% |
| 2018 | −2.6% | +5.9% |
| 2017 | +16.7% | +27.9% |
| 2016 | −2.7% | +1.9% |
| 2015 | −1.1% | −5.0% |
| 2014 | −1.8% | +29.9% |
| 2013 | −2.1% | +9.0% |
| 2012 | +0.3% | +25.7% |
| 2011 | −3.0% | −24.6% |
| 2010 | +4.3% | +17.4% |
| 2009 | −2.2% | +81.0% |
| 2008 | −7.6% | −52.5% |
| 2007 | −11.7% | +47.1% |
| 2006 | −3.3% | +46.8% |
| Bought | At | Sold | At | Return |
|---|---|---|---|---|
| 3 Nov 2026 | 76,403.08 | 9 Nov 2026 (end of test) | 81,066.1 | +5.9% |
| 21 Apr 2026 | 78,735.08 | 24 Apr 2026 | 77,367.57 | −2.0% |
| 4 Feb 2026 | 83,376.94 | 16 Feb 2026 | 82,356.68 | −1.4% |
| 19 Aug 2025 | 81,441.09 | 25 Aug 2025 | 81,378.81 | −0.3% |
| 5 Feb 2025 | 78,822.66 | 11 Feb 2025 | 77,268.9 | −2.2% |
| 26 Nov 2024 | 80,536.09 | 29 Nov 2024 | 78,914.44 | −2.2% |
| 6 Apr 2023 | 59,716.45 | 4 Aug 2023 | 65,355.37 | +9.2% |
| 1 Sept 2022 | 58,798.6 | 19 Sept 2022 | 58,659.19 | −0.5% |
| 25 Feb 2021 | 51,284.42 | 1 Mar 2021 | 49,673.09 | −3.4% |
| 3 Feb 2021 | 50,306.41 | 23 Feb 2021 | 49,919.86 | −1.0% |
From 30 Dec 2005 to 9 Nov 2026, these ADX Trend rules on the Sensex index returned a CAGR of −1.2% after costs, less than the 10.9% a year from buying and holding the index, with a worst fall of 30.9% against 60.9% for buy-and-hold. It made 40 trades and was invested 10% of the time. This is a hypothetical test on past data, not a recommendation, and past performance is not indicative of future results.
17.5%: 7 of 40 closed trades made money after charges and slippage. On a ₹10 lakh account the average winning trade made ₹45,651 and the average losing trade lost ₹16,308; the profit factor (gross profit ÷ gross loss) was 0.59. 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 Sensex index over the same dates returned 10.9% a year with a worst fall of 60.9%; the strategy returned −1.2% a year with a worst fall of 30.9%. 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.