The ergodic tsi indicator implements the true strength index properly. Bar-to-bar change gets smoothed twice, once at `InpSlowEMA` and again at `InpFastEMA`. The absolute change goes through the same pair. Dividing one result by the other gives a reading bounded between minus 100 and 100.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 25 / 0 / -25) |
| Plots | 4: TSI, Signal, BUY, SELL |
| Alerts | popup |
| Inputs | 6 |
What the Ergodic Tsi Indicator draws on the chart
TSI is the dodger blue line, bounded either side of zero.
Signal is the orange line smoothing it at `InpSignalEMA` bars.
BUY and SELL arrows sit four units from the reading at each signal.
Reference lines mark 25, 0 and minus 25.
- TSI: line, dodger blue, width 2
- Signal: line, orange, width 1
- BUY: arrow, lime, width 2, arrow code 233
- SELL: arrow, red, width 2, arrow code 234

How the Ergodic Tsi Indicator calculates its values
The numerator
DeltaBuf takes close minus the previous close. NumSlow smooths that at `InpSlowEMA` `25` and NumFast smooths the result again at `InpFastEMA` `13`. Two passes remove most of the bar-to-bar noise.
The denominator
AbsDeltaBuf takes the same change without its sign. DenSlow and DenFast then apply the identical pair of smoothings. Using matched passes on both sides is what keeps the ratio bounded.
The two signal rules
One rule fires on the reading crossing zero. The other fires on a crossing of the signal line while beyond `InpOverbought` `25.0` or `InpOversold` `-25.0`. Both run on completed bars.
How to read the signals
Above zero the smoothed change is net positive across the window.
The reading is bounded, so 60 always means the same thing.
Two smoothing passes make the line unusually clean for a momentum measure.
That cleanliness costs lag, which is the trade the design accepts.
Alert channels in this build: popup, one message per closed bar.
`InpAlertsOn` ships on and raises a terminal popup on a new bar signal. This build carries no push, email or sound channel. The guard permits one message per closed bar, whichever rule fired.
Every Ergodic Tsi Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpFastEMA |
Second-stage EMA length. Second smoothing pass, default `13`. | 13 |
InpSlowEMA |
First-stage EMA length. First smoothing pass, default `25`. | 25 |
InpSignalEMA |
Signal EMA length. Signal line smoothing, default `7`. | 7 |
InpOverbought |
Overbought level for cross signals. Level a sell crossing must sit above, default `25.0`. | 25.0 |
InpOversold |
Oversold level for cross signals. Level a buy crossing must sit below, default `-25.0`. | -25.0 |
Alert settings
| Setting | What it does | Default |
|---|---|---|
InpAlertsOn |
Enable alerts on new bar signals. Popup on a new bar signal, default `true`. | on |

Settings that fit your chart
Four smoothing passes make this a slow reading by design. EURUSD H1 is the reference chart, where `InpSlowEMA` at `25` covers a day. On M5 the line still moves calmly compared with a raw momentum measure. On H4 it describes several days per turn.
When the Ergodic Tsi Indicator fails
Four smoothing passes mean the line turns well after price does.
A bounded reading can still sit near an extreme through a long trend.
Two signal rules on one pane can disagree, which takes practice to read.
Copy the compiled Ergodic Tsi Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Download the Ergodic Tsi Indicator for MT4 and MT5
The zip holds the compiled Ergodic Tsi Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
Why do InpSlowEMA and InpFastEMA both run twice?
Because one pass leaves a very noisy series. `InpSlowEMA` `25` then `InpFastEMA` `13` produces a line clean enough to read. Applying the same pair to the absolute change keeps the ratio between minus 100 and 100.
What bounds the TSI reading?
The matched smoothing. The numerator can never exceed the denominator in size, because one is the smoothed change and the other is the smoothed absolute change. Multiplying by 100 puts the result on a familiar scale.
How do the two signal rules differ?
One watches the reading crossing zero, which is the slower event. The other watches a crossing of the Signal line while the reading sits beyond `InpOverbought` or `InpOversold`. That second rule fires earlier and more often.
Where do the BUY arrows sit?
Four units from the reading itself, inside the pane. That keeps them near the line they describe rather than at a fixed height. On a bounded pane four units is a small and readable offset.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Ergodic Tsi Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Also, truly, browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- The core method is documented in Foreign exchange spot on Wikipedia.
- Additional market context is at Stockcharts Ad Volume Percent at StockCharts ChartSchool.
