Indicators multiply — every trading platform ships hundreds — but they all fit on a 2-axis grid. This chapter is the map of that grid, the discipline of combining indicators without noise, and links to a per-indicator deep dive with an interactive Nifty chart for each.
Ignore the marketing labels. Every mainstream indicator sits on a 2-dimensional grid: what it measures and whether it leads or lags price. Once you see this, indicator selection becomes a straightforward decision rather than a menu you scroll through.
Arithmetic average of the last N closes. The most basic trend line; smooths noise at the cost of responsiveness.
Weighted moving average that gives more weight to recent bars. Reacts faster than SMA to new information.
Difference between a fast EMA and a slow EMA, with a signal-line EMA of that difference. Combines trend and momentum in one indicator.
A complete framework in one indicator: cloud (Kumo) for trend regime, Tenkan/Kijun for signals, Chikou for confirmation.
ATR-based trailing bands that flip colour with the trend. Green line below price = uptrend; red line above price = downtrend.
Dots plotted above or below price that accelerate toward it as a trend persists. When price crosses the dots, the trend has flipped.
Measures trend STRENGTH regardless of direction; +DI and −DI report direction. ADX above 25 = trending; below 20 = ranging.
Ratio of average up-closes to average down-closes over N bars, normalised 0–100. > 70 = overbought, < 30 = oversold.
Where today's close sits within the last N-bar range. %K is raw, %D is a smoothed line. 80/20 are the classic overbought/oversold levels.
Same idea as Stochastic %K but inverted: scale runs from 0 (top) to −100 (bottom). Above −20 = overbought, below −80 = oversold.
A 20-period SMA plus/minus 2 standard deviations. Bands widen with volatility, contract in quiet markets.
Average of the true range (largest of today's H-L, |H − prev C|, |L − prev C|) over N bars. Pure volatility measure — no direction.
Upper channel = highest high of last N bars; lower = lowest low; middle = midpoint. Turtle-trader breakout system.
Total number of shares/contracts traded per bar. The raw measure of participation behind every price move.
Cumulative price × volume divided by cumulative volume. The "average price everyone paid today" — the institutional benchmark.
Support/resistance lines computed from the previous day's High, Low, Close. The Central Pivot Range (CPR) adds TC and BC for a "value zone".
Horizontal levels at 23.6% / 38.2% / 50% / 61.8% / 78.6% drawn between a swing low and swing high (or vice-versa).
Divergence is when price and an oscillator disagree about the current move. There are four combinations, two of which matter for reversals:
| Type | Price | Oscillator | Signal |
|---|---|---|---|
| Bearish divergence | Higher high | Lower high | Uptrend losing momentum → potential reversal down |
| Bullish divergence | Lower low | Higher low | Downtrend losing momentum → potential reversal up |
| Hidden bearish | Lower high | Higher high | Downtrend continuation (rare, weaker) |
| Hidden bullish | Higher low | Lower low | Uptrend continuation (rare, weaker) |
Rules for reading divergence:
Crossover systems generate a signal every time two lines cross. The classical example is the moving-average cross:
Three, at most. And they should measure different things.
A workable template for a discretionary trader:
Adding a fourth adds noise more than signal. Adding a fifth means you have no system; you are searching post-hoc for confirmation of a decision you've already made emotionally.
The single largest improvement in win rate for most retail traders comes not from switching indicators, but from checking the same indicator on the higher timeframe before acting on the lower one.
Rule: the higher-timeframe indicator sets the bias; the lower-timeframe indicator triggers the entry.
Example: 15-min intraday trader using RSI(14):
Nifty daily with both a trend indicator (EMA 20/50) AND a momentum indicator (RSI 14) overlaid — one lagging, one leading, on different axes. This is the minimal viable indicator combo.
score = (trend_bullish ? 1 : 0) + (momentum_bullish ? 1 : 0) + (volume_bullish ? 1 : 0) if score >= 3: enter full size if score == 2: enter half size if score <= 1: skipEmpirically, the 2-of-3 tier catches many of the same trades as the 3-of-3 tier but with better sample size. Doubled trade count with slightly-worse per-trade edge often produces higher total P&L than pure 3-of-3. Warning: only use this framework with indicators from different categories. Three momentum indicators voting "2 of 3 bullish" is meaningless — they're correlated. Trend + momentum + volume voting is meaningful — they're independent.
//@version=5
indicator("EMA + RSI regime", overlay=true)
emaFast = ta.ema(close, 20)
emaSlow = ta.ema(close, 50)
rsi = ta.rsi(close, 14)
bull = emaFast > emaSlow and rsi > 50
bear = emaFast < emaSlow and rsi < 50
bgcolor(bull ? color.new(color.green, 90) : bear ? color.new(color.red, 90) : na)
plot(emaFast, color=color.orange)
plot(emaSlow, color=color.blue)
Save, apply to Nifty daily, and you have a single-glance regime indicator. Iterate on the rules from there.
Zerodha's Kite doesn't support user scripts. TradingView does (free tier limits number of scripts running per chart). Sensibull has a limited scripting environment focused on option strategies.