Efficiency Ratio Indicator: Formula, Settings and How to Read It

Efficiency Ratio compares how far price ended up moving over a lookback window with the total distance it covered getting there, on a scale of 0 to 1. A reading near 1 describes a nearly straight move; a reading near 0 describes bars that travelled a long path and finished close to where they started.

Senzoukria · Indicators · Updated September 2026


Efficiency Ratio ships with the Senzoukria desktop app, in the Momentum group of the indicator catalogue. It is drawn in its own panel below the chart.

What Efficiency Ratio measures

The numerator is the absolute close-to-close displacement over the last N bars. The denominator is the sum of the absolute changes between every consecutive pair of closes inside that same window, so a choppy window inflates the denominator while leaving the numerator untouched. Only closes enter the calculation: a bar with a wide high-low range but an unchanged close adds nothing to the path length. The default period is 10, Kaufman's original value. When every close in the window is identical the denominator is zero and the plotted line returns no value at all rather than 0 - a deliberate difference from the efficiency ratio computed inside KAMA, which substitutes 0 there so that its smoothing can keep running.

The formula, as implemented

This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

Efficiency Ratio de Kaufman (1995) — la « ligne droite » rapportée au chemin parcouru : ER = |close[i] − close[i−N]| / Σ_{j=i−N+1..i} |close[j] − close[j−1]| ∈ [0, 1] : 1 = déplacement parfaitement directionnel, proche de 0 = beaucoup d'agitation pour rien. Dénominateur nul (marché parfaitement figé) → NULL. Divergence assumée avec l'ER INTERNE de `kama` (averages2.ts), qui force ER = 0 dans ce cas pour continuer à lisser : un indicateur AFFICHÉ ne doit pas peindre « 0 % d'efficience » là où il n'y a pas d'information (règle du catalogue). Défaut N=10 (le défaut Kaufman). Warm-up (i < N) → null.

How to read it

  • Read the level, not the sign: the ratio is built from an absolute value, so 0.8 in a decline looks exactly like 0.8 in a rally.
  • A rising ratio means the recent path is straightening - the same net move is being achieved with less back-and-forth.
  • Sustained low values describe a window where the market repeatedly retraced its own moves; that is a description of the bars already printed, not of the next one.
  • Compare the current reading with its own recent range on the same instrument and bar interval rather than with a fixed threshold.
  • Gaps in the line mark windows with no close-to-close movement at all; treat them as missing information, not as zero efficiency.

Parameters and defaults

Period defaults to 10, Kaufman's value, and accepts 1 to 500. A period of 1 is degenerate: numerator and denominator are the same single close-to-close change, so the ratio is exactly 1 whenever price moved and nothing at all when it did not. Short periods swing across most of the 0-1 range within a few bars; long periods settle lower, because each extra bar can only lengthen the path while the net displacement is free to shrink.

Efficiency Ratio — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Periodnumber101 – 500

What it does not show

The ratio says nothing about direction, size or participation - a one-tick straight move and a fifty-point straight move can both read close to 1. It ignores intrabar structure entirely, so absorption, wicks and range expansion are invisible to it. Repeated identical closes add nothing to the path while leaving the displacement untouched, so an instrument that prints the same close several bars in a row reads more efficient than its actual movement warrants. And no volume or aggressor information enters the formula: two windows with identical closes score the same whether one traded ten contracts or ten thousand.

Using it in Senzoukria

Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.

See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.

Frequently asked questions

What is a good Efficiency Ratio value?
There is no universal threshold. The ratio is bounded between 0 and 1, and what counts as high depends on the instrument and the bar interval - a 10-bar window on 1-minute bars produces a very different distribution than the same window on daily bars. The practical approach is to compare a reading against that same chart's own recent range.
Does the Efficiency Ratio show trend direction?
No. It uses the absolute value of the net close-to-close change, so a clean downtrend and a clean uptrend produce the same reading. Direction has to come from another source, such as the sign of a regression slope or the price series itself.
Why does the Efficiency Ratio break the line instead of printing zero?
When every close in the window is identical, the total path length is zero and the ratio is mathematically undefined. The plotted indicator returns no value there rather than painting 0 percent efficiency over a window that contains no information. The version of the same ratio embedded in the KAMA moving average behaves differently on purpose: it uses 0 so the smoothing can continue.

Keep reading