# True Strength Index

A Momentum & Oscillators concept (Classic single-name oscillators) in the LuxAlgo Library, with 1 indicator implementation.

## What is the True Strength Index?

The True Strength Index (TSI) is a momentum oscillator introduced by William Blau. It starts from one-bar [momentum](https://www.luxalgo.com/library/concept/momentum/) (each close minus the prior close), smooths that series twice with EMAs (commonly 25-period, then 13-period), and divides the result by the same double smoothing applied to the absolute value of the one-bar change. Because that denominator can never be smaller than the absolute value of the numerator, the ratio stays within -1 to +1; multiplied by 100, the output runs between +100 and -100, with zero marking the point where up and down momentum balance.

The ratio is the point of the design: the numerator keeps the sign of price changes while the denominator measures their total size, so TSI reads as net directional momentum as a share of total movement. The deep double smoothing was Blau's device for stripping bar-to-bar noise while keeping the line responsive enough to mark turns, and it gives TSI a smoother trace than most single-smoothed oscillators at comparable settings.

Blau introduced the index in Technical Analysis of Stocks & Commodities in the early 1990s and developed it at length in his 1995 book Momentum, Direction, and Divergence, where it anchors his family of double-smoothed "ergodic" designs; paired with its signal line, essentially the same construction circulates on many platforms as the Ergodic Oscillator. The bounded scale invites fixed reference levels, and charting packages commonly draw overbought and oversold guides near +25 and -25. Those defaults are conventions rather than properties of the math: a strongly trending market can hold beyond a guide for weeks, while a quiet one may never reach it.

The double smoothing that gives the line its clean swings also sets its limits. TSI turns after price, and the deeper the smoothing, the later the turn, so its crosses concede the first stretch of every reversal. Around zero in a rangebound market the line loses meaning: up and down momentum are nearly balanced, and small oscillations flip the sign without saying anything about the next move. The bounded scale also compresses extremes; readings near the theoretical limits essentially never occur, so the practical range is market-specific and worth measuring before any level-based rule is trusted.

## How to identify True Strength Index signals on charts

TSI plots in a subpanel between +100 and -100 with a zero centerline and usually a signal line. The useful reads are the sign, the crosses, and the line's swings against price.

1. Apply the standard 25/13 smoothing with a 7 to 13 period signal EMA, and check how wide the line's actual range has run on your market; that range calibrates any overbought or oversold guides you draw.
2. Read the zero line as the regime divide: sustained positive values mean smoothed up momentum dominates over the lookbacks, sustained negative values the reverse.
3. Mark signal-line crosses for timing, expecting them to fire earlier and fail more often than zero crosses; many users take only the crosses that agree with the zero-line side.
4. Scan swing highs and lows against price at extremes for regular divergence, and pullbacks within trends for [hidden divergence](https://www.luxalgo.com/library/concept/hidden-divergence/); the smooth trace makes both easier to mark than on choppier oscillators.
5. Confirm the settings against your holding period: shorter smoothing suits swing timing, longer suits position bias, and the same numbers rarely transfer across markets without testing.

## How it's calculated

TSI is double-smoothed price change expressed as a percentage of double-smoothed absolute price change, a momentum oscillator bounded by -100 and +100.

```
m_t = C_t - C_(t-1)
Num_t = EMA_s(EMA_r(m))
Den_t = EMA_s(EMA_r(abs(m)))
TSI_t = 100 × Num_t / Den_t
Signal_t = EMA_k(TSI)

  C_t: close of bar t
  C_(t-1): close of the prior bar
  t: bar index
  m_t: 1-bar momentum (price change)
  EMA_r(x), EMA_s(x), EMA_k(x): exponential moving averages of series x with lengths r, s and k
  r: first smoothing length (default 25)
  s: second smoothing length (default 13)
  Num_t: double smoothed momentum
  Den_t: double smoothed absolute momentum
  TSI_t: oscillator value between -100 and +100
  k: signal line length (commonly 7 to 13)
  Signal_t: signal EMA of TSI
```

William Blau's defaults are r = 25 then s = 13; the absolute-momentum denominator keeps TSI between -100 and +100.

Order matters: the long EMA is applied first, then the short one.

Zero-line crosses track the sign of smoothed momentum; TSI/signal crossovers are the usual trigger.

## How traders use it

- As a zero-line regime filter: TSI above zero means smoothed up momentum exceeds down momentum over the lookbacks, and many systems only take longs on the positive side and shorts on the negative side.
- As a signal-line system: crossing TSI with a short EMA of itself (often 7 to 13 periods) gives MACD-style timing crosses.
- As a divergence tool: because the line is smooth, its swing highs and lows are well defined, which makes [divergences](https://www.luxalgo.com/library/concept/regular-bullish-bearish-divergence/) against price easier to mark than on choppier oscillators.
- As a calibrated [overbought/oversold](https://www.luxalgo.com/library/concept/overbought-oversold/) gauge: conventional guides sit near +25 and -25, but percentile levels from the instrument's own TSI history are more defensible, acted on only when structure or a signal cross agrees.
- As the momentum leg of a small stack: because TSI normalizes by total movement, it can disagree with range-location tools like the [stochastic oscillator](https://www.luxalgo.com/library/concept/stochastic-oscillator/) after gaps or one-sided runs, and agreement between the two frames a stronger claim than either alone.

## True Strength Index vs other momentum oscillators

- **RSI** (https://www.luxalgo.com/library/concept/rsi/): Both normalize momentum to a bounded scale, but RSI ratios average gains against losses around a 50 midline, while TSI double-smooths signed change against absolute change around zero. TSI plots smoother at comparable settings; RSI's 30/70 conventions are more widely watched.
- **MACD** (https://www.luxalgo.com/library/concept/macd/): MACD works in price units, so its amplitude drifts with the instrument's price and volatility, and no fixed overbought level is possible. TSI is bounded and comparable across instruments. Both pair with signal lines; MACD reacts to EMA separation, TSI to normalized momentum.
- **Stochastic Momentum Index** (https://www.luxalgo.com/library/concept/stochastic-momentum-index/): The SMI, another Blau design, double-smooths where the close sits inside the recent high-low range, so it reads location within a range. TSI reads the net direction of change. The two look alike on screen; the inputs differ enough that their divergences appear at different times.

## FAQ

### How is the True Strength Index different from RSI?

Both normalize momentum, but differently. [RSI](https://www.luxalgo.com/library/concept/rsi/) ratios average gains against average losses over one window and reads 0 to 100 around a 50 midline; TSI double-smooths signed price change against absolute price change and reads -100 to +100 around zero. At comparable settings TSI plots smoother, though both lag by construction and neither is predictive on its own.

### What are the standard TSI settings?

Blau's published defaults are a 25-period first EMA and a 13-period second EMA, often paired with a 7 to 13 period EMA of the TSI as a signal line. Shorter smoothing makes the line turn faster but whipsaw more; longer smoothing does the reverse. There is no setting that tests best across all markets and timeframes.

### What do overbought and oversold levels mean on the TSI?

Platforms commonly draw guides near +25 and -25, but the TSI has no fixed thresholds the way RSI's conventions suggest. In trends the line can hold beyond a guide for long stretches while price keeps running. Percentiles of the instrument's own TSI history make more defensible levels, and even those mark stretch, not reversal.

### What is the difference between TSI and the Ergodic Oscillator?

They are essentially the same construction: Blau's ergodic family double-smooths momentum against absolute momentum, and the Ergodic Oscillator is typically the TSI plotted with its signal line, sometimes with slightly different default lengths. Naming varies by platform, so check the formula rather than the label when comparing tools.

### Is the TSI good for divergence trading?

It is one of the better oscillators for it: the double smoothing produces well-defined swing highs and lows, so divergences are easier to mark objectively than on noisier lines. They remain probabilistic. Trends routinely extend through a divergence, so most users require a signal-line cross or a structural break before treating one as actionable.

### Can the TSI be used on any timeframe?

The formula runs anywhere, but the standard 25/13 smoothing spans a lot of clock time on high timeframes and very little on fast intraday charts, where noise dominates the one-bar changes that feed it. Users typically shorten the smoothing for scalping horizons and lengthen it for position work, revalidating behavior after any change.

## Implementations in the Library

- True Strength Index (LuxAlgo, the standard build of the classic formula): https://www.luxalgo.com/library/indicator/true-strength-index/

## Related concepts

- Balance of Power: https://www.luxalgo.com/library/concept/balance-of-power/
- CCI: https://www.luxalgo.com/library/concept/cci/
- Williams %R: https://www.luxalgo.com/library/concept/williams-percent-r/
- Ultimate Oscillator: https://www.luxalgo.com/library/concept/ultimate-oscillator/
- Relative Vigor Index: https://www.luxalgo.com/library/concept/relative-vigor-index/
- Awesome Oscillator: https://www.luxalgo.com/library/concept/awesome-oscillator/
- Accelerator Oscillator: https://www.luxalgo.com/library/concept/accelerator-oscillator/
- Gator Oscillator: https://www.luxalgo.com/library/concept/gator-oscillator/
- Elder Ray: https://www.luxalgo.com/library/concept/elder-ray/
- Elder Impulse System: https://www.luxalgo.com/library/concept/elder-impulse-system/

---

Source: https://www.luxalgo.com/library/concept/true-strength-index/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/