Choppiness Index Calculator
Calculate Choppiness Index from ordered entered bars with every previous-close true range, rolling sum, high-low boundary and logarithmic ratio visible.
Enter one period and ordered HLC bars
Use completed bars from one symbol, timeframe and broker feed. The first row establishes the previous-close boundary.
One completed bar per line. Close must lie inside the high-low range. Separate values with commas, semicolons or tabs.
Latest Choppiness arithmetic
Entered Choppiness, TSI and Fisher 1.0.0.
| Label | Index | High | Low | Close | Prior close | True range | Rolling TR | Highest high | High index | Lowest low | Low index | Range | TR / range | CI | State |
|---|
How Choppiness Index is calculated
Range = highest high(N) − lowest low(N)
CI = 100 × log(sum of N true ranges ÷ range) ÷ log(N)
Version 1.0.0 uses the current completed row and previous N minus one rows for both the high-low extrema and the N derived true ranges. The first entered row exists only to supply a prior close.
Natural logarithms are used in code. The quotient of two logarithms is base-independent, so this is algebraically identical to the published base-10 form.
Assumptions and limits
- Period must be a whole number from 2 to 200.
- At least period plus one ordered HLC rows are required.
- A zero rolling high-low range or non-positive true-range sum is undefined and is rejected.
- Rows must use one symbol, timeframe and broker feed.
- Trend, range, regime, threshold, direction, entry and exit interpretations are withheld.
Worked example from the audited fixture
How to interpret the result
This number compares cumulative gap-aware movement with the window’s net high-low span. It is sensitive to the selected period and entered bars. The page does not map 61.714203 to a trending, ranging or trade state.
Frequently asked questions
- Enter one period and at least period plus one ordered high-low-close bars from one symbol, timeframe and feed.
- It is maximum of current high and previous close minus minimum of current low and previous close.
- The current completed row and previous period minus one rows define the rolling highest high and lowest low.
- One hundred times the logarithm of rolling true-range sum divided by high-low range, divided by the logarithm of the period.
- No. Because both logarithms use the same base, their quotient is identical; version 1.0.0 uses natural logarithms.
- The first value appears at zero-based index equal to the period because row zero supplies the previous close boundary.
- The published ratio is undefined, so version 1.0.0 rejects the calculation rather than inventing a value.
- No. Trend, range, regime, threshold, direction, entry and exit interpretations are withheld.
Sources and methodology
- MetaQuotes Code Base — Choppiness Index — Published true-range sum, rolling extrema and logarithmic formula.
Continue entered range 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.

