True Strength Index Calculator
Calculate True Strength Index from ordered entered closes with momentum, absolute momentum, both EMA passes, exact seeds and the final denominator visible.
Enter two EMA periods and ordered HLC bars
Close drives the calculation; high and low retain row validation and audit context. Standard defaults are 25 and 13.
One completed bar per line. Close must lie inside the high-low range. Separate values with commas, semicolons or tabs.
Latest TSI arithmetic
Entered Choppiness, TSI and Fisher 1.0.0.
| Label | Index | High | Low | Close | Prior close | Momentum | |Momentum| | Momentum EMA1 | |Momentum| EMA1 | Momentum EMA2 | |Momentum| EMA2 | TSI | State |
|---|
How True Strength Index is calculated
Numerator = EMA(EMA(momentum, first period), second period)
Denominator = EMA(EMA(|momentum|, first period), second period)
TSI = 100 × numerator ÷ denominator
Each EMA uses alpha 2 divided by period plus one. Matching MetaQuotes MovingAverages.mqh, the first pass is seeded from the first available momentum and the second pass from the first-pass value at zero-based index equal to the first period.
Version 1.0.0 withholds the TSI until index first period plus second period minus one, matching the published r plus s history boundary.
Assumptions and limits
- Both EMA periods must be whole numbers from 2 to 200.
- Minimum rows equal first period plus second period.
- A zero double-smoothed absolute-momentum denominator is undefined and is rejected.
- A platform can differ when it carries older hidden history or uses another EMA seed.
- Direction, threshold, divergence, crossing, confirmation, entry and exit interpretations are withheld.
Worked example from the audited fixture
How to interpret the result
The denominator smooths absolute price changes, so the ratio scales signed smoothed momentum by total smoothed movement. Its value depends on both EMA seeds and the entered history. A positive TSI is not treated as a direction or entry signal.
Frequently asked questions
- Enter two EMA periods and at least their sum in ordered high-low-close rows; close drives the calculation.
- Each momentum value is current close minus previous close, and the denominator path uses its absolute value.
- It is one hundred times double-smoothed momentum divided by double-smoothed absolute momentum.
- Each pass uses alpha two divided by that pass period plus one.
- The first pass starts from the first available momentum, and the second starts from the first-pass value at index equal to the first period.
- It appears at zero-based index first period plus second period minus one, matching the published MetaQuotes history boundary.
- A chart can carry older hidden history or use another EMA seed, applied price or warm-up boundary.
- No. Direction, threshold, divergence, crossing, confirmation, entry and exit interpretations are withheld.
Sources and methodology
- MetaQuotes — Create Your Own Indicator — Published TSI formula, close momentum, r+s warm-up and buffer boundaries.
- MetaQuotes MovingAverages library — First-value EMA seed and alpha recurrence used by version 1.0.0.
Continue entered momentum analysis
Compare the chart feed and trading terms
Use one broker feed, symbol and timeframe for every entered observation, and compare the source history with your terminal before relying on a platform match.
Risk and affiliate disclosure: Leveraged forex and CFD trading can result in substantial losses. These are affiliate links, so ForexMT4Indicators.com may receive compensation if you register or trade through them, at no additional cost to you. Availability and terms vary by jurisdiction and broker entity.

