Do chart signals work on Indian stocks?
We tested 57 popular signals, from candlestick patterns and breakouts to indicators, on 187 NIFTY 200 stocks from Jan 2021 to Oct 2025 using the same detector our games grade with. The honest answer: most signals only tilt the odds a little, and some point the wrong way.
After any trading day, a NIFTY 200 stock was higher 12 trading days later 55.3% of the time, with an average move of +1.2%. A signal is only useful if it beats that.
Support and resistance
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Resistance breakout | 2,115 | 54.8% | -0.5 pts | +1.1% |
| Support breakdown | 1,691 | 56.2% | +0.9 pts | +0.9% |
| Bounce off support | 3,548 | 55.2% | -0.1 pts | +1.0% |
| Rejection at resistance | 3,656 | 54.6% | -0.7 pts | +1.1% |
Volume
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| New high on heavy volume | 3,284 | 54.8% | -0.5 pts | +1.2% |
| New low on heavy volume | 1,612 | 58.4% | +3.1 pts | +1.6% |
| Rally on shrinking volume | 1,482 | 56.1% | +0.8 pts | +1.5% |
Marubozu
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Bullish marubozu | 1,477 | 56.2% | +0.9 pts | +1.4% |
| Bearish marubozu | 1,695 | 56.3% | +1.0 pts | +1.4% |
Doji and spinning top
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Doji | 5,823 | 55.9% | +0.6 pts | +1.3% |
Hammer and hanging man
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Hammer | 453 | 60.7% | +5.4 pts | +2.1% |
| Hanging man | 567 | 54.3% | -1.0 pts | +1.2% |
| Shooting star | 665 | 54.7% | -0.6 pts | +1.4% |
Engulfing patterns
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Bullish engulfing | 1,188 | 54.3% | -1.0 pts | +1.2% |
| Bearish engulfing | 2,859 | 54.8% | -0.5 pts | +1.2% |
Harami
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Bullish harami | 750 | 56.0% | +0.7 pts | +1.0% |
| Bearish harami | 500 | 51.2% | -4.1 pts | +0.6% |
Morning and evening star
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Morning star | 399 | 58.4% | +3.1 pts | +1.4% |
| Evening star | 369 | 54.7% | -0.6 pts | +1.2% |
| Gap up | 2,182 | 58.1% | +2.8 pts | +1.7% |
| Gap down | 1,897 | 56.7% | +1.4 pts | +1.4% |
Moving averages
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Golden cross | 1,208 | 57.0% | +1.7 pts | +1.7% |
| Death cross | 1,226 | 52.4% | -2.9 pts | +0.7% |
| Price above the 20 and 50 EMA | 5,219 | 56.3% | +1.0 pts | +1.2% |
| Price below the 20 and 50 EMA | 4,480 | 55.1% | -0.2 pts | +1.2% |
| Pullback to the 20 EMA | 4,831 | 55.5% | +0.2 pts | +1.3% |
RSI
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| RSI overbought (above 70) | 2,110 | 53.4% | -1.9 pts | +1.3% |
| RSI oversold (below 30) | 1,100 | 63.1% | +7.8 pts | +2.1% |
| Bearish RSI divergence | 1,035 | 55.7% | +0.4 pts | +1.6% |
| Bullish RSI divergence | 500 | 51.8% | -3.5 pts | +0.6% |
MACD
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| MACD bullish crossover | 5,193 | 53.6% | -1.7 pts | +0.9% |
| MACD bearish crossover | 5,108 | 57.3% | +2.0 pts | +1.5% |
| MACD histogram growing | 6,636 | 54.2% | -1.1 pts | +1.0% |
| MACD crosses above zero | 2,367 | 55.5% | +0.2 pts | +1.2% |
Bollinger Bands
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Bollinger Band squeeze | 2,553 | 54.2% | -1.1 pts | +1.0% |
| Close above the upper Bollinger Band | 3,812 | 54.0% | -1.3 pts | +1.1% |
| Close below the lower Bollinger Band | 2,846 | 58.4% | +3.1 pts | +1.5% |
| Rejection at the upper band | 3,919 | 55.7% | +0.4 pts | +1.3% |
Supertrend
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Supertrend buy signal (flip to green) | 2,067 | 52.5% | -2.8 pts | +0.9% |
| Supertrend sell signal (flip to red) | 2,057 | 58.7% | +3.4 pts | +1.8% |
Stochastic
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Stochastic overbought (above 80) | 4,711 | 52.9% | -2.4 pts | +0.8% |
| Stochastic oversold (below 20) | 3,961 | 58.0% | +2.7 pts | +1.5% |
| Stochastic bullish crossover | 5,260 | 57.1% | +1.8 pts | +1.3% |
| Stochastic bearish crossover | 6,109 | 54.3% | -1.0 pts | +1.0% |
ADX
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| ADX above 25 and rising | 3,924 | 55.9% | +0.6 pts | +1.4% |
| ADX below 20 (no trend) | 2,623 | 53.1% | -2.2 pts | +0.8% |
OBV
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| OBV rising | 5,296 | 54.9% | -0.4 pts | +1.1% |
| OBV falling | 4,188 | 55.6% | +0.3 pts | +1.1% |
| Bearish OBV divergence | 815 | 57.1% | +1.8 pts | +1.4% |
| Bullish OBV divergence | 1,389 | 58.1% | +2.8 pts | +1.5% |
| Volume spike | 5,810 | 56.1% | +0.8 pts | +1.3% |
Fibonacci retracements
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Fibonacci 38.2% retracement | 1,498 | 56.1% | +0.8 pts | +1.4% |
| Fibonacci 50% retracement | 1,219 | 55.5% | +0.2 pts | +1.2% |
| Fibonacci 61.8% retracement | 1,072 | 55.9% | +0.6 pts | +1.4% |
| Break below Fibonacci 61.8% | 2,537 | 56.2% | +0.9 pts | +1.3% |
Ranges and flags
| Signal | Signals | Higher after 12 days | vs any day | Average move |
|---|---|---|---|---|
| Bull flag breakout | 757 | 58.4% | +3.1 pts | +1.8% |
| Bear flag breakdown | 498 | 51.8% | -3.5 pts | +0.5% |
Method
NSE end-of-day prices, 187 NIFTY 200 stocks, Jan 2021 to Oct 2025. A signal counts on the first day it appears; the same signal on the same stock is then ignored for 12 trading days. Windows with splits, bonuses or trading halts are left out. Bearish signals “work” when the price is lower afterwards, so for those, a figure below the baseline is the good result. Past results don’t predict future ones. This is education, not investment advice.
Practise reading charts, free
Short chapters, then real calls graded on your reasoning, not luck. No money involved.