# JMA

Also known as: Jurik moving average.
A Trend concept (Moving-average lineage) in the LuxAlgo Library, with 1 indicator implementation.

## What is JMA?

JMA (the Jurik Moving Average) is an adaptive moving average developed by Mark Jurik of Jurik Research. It attacks the trade-off every smoother faces: reducing noise means adding lag. Instead of weighting bars with a fixed scheme the way an [SMA](https://www.luxalgo.com/library/concept/sma/) or [EMA](https://www.luxalgo.com/library/concept/ema/) does, JMA adjusts its smoothing bar by bar in response to recent price behavior, hugging price through fast directional moves and flattening through congestion. The result is a curve designed to stay unusually smooth for how little it lags.

JMA comes from a signal-processing lineage rather than a charting one: Jurik Research, selling analysis tools to traders since the 1990s, marketed the average as a filter built to track a moving target the way navigation systems do, following genuine changes quickly while ignoring noise. Because the firm licensed the algorithm commercially instead of publishing it, JMA reached public charting platforms through independent open-source reconstructions.

Two things distinguish JMA in practice. First, the exact algorithm is proprietary: Jurik Research never published it, so the versions found on public charting platforms are reverse-engineered approximations that can differ slightly from one another. Second, common ports expose a phase input (typically from -100 to +100) alongside length: higher phase lets the average turn earlier at the cost of overshoot, lower phase suppresses overshoot at the cost of extra lag. That dial matters because no setting removes the trade-off; it only chooses where to sit on it.

The practical appeal is signal quality per unit of delay. A smoother line changes slope less often, so direction-keyed rules flip-flop less, and a lower-lag line turns closer to the actual swing, so the signals that fire are priced better. Tools built on top inherit that: a [ribbon](https://www.luxalgo.com/library/concept/ma-ribbon/) of JMAs fans out and compresses with less flicker than standard averages, and a [trend regime label](https://www.luxalgo.com/library/concept/trend-regime-label/) driven by the line's slope changes state less often in chop. None of that removes the constraint that smoothing trades information for stability; JMA negotiates the exchange well.

## How to read JMA on a chart

JMA is a price overlay, so the reading is slope, flatness, and distance:

1. Apply it as you would any moving average, choosing length for your timeframe; ports add a phase input, and some a power setting governing how aggressively the filter adapts.
2. Read slope first: price above a rising line frames an uptrend, price below a falling line a downtrend; the turn of the line is the event most systems key on.
3. Note flat stretches: JMA is designed to hold nearly level through congestion, so a horizontal line is a usable no-trend flag.
4. Gauge extension by the distance between price and the line; a sharp move away from a still-flat JMA reads as stretch, not confirmed trend.
5. Calibrate against a standard average of the same length: JMA should turn earlier at real swings while ignoring more of the noise between them.

## How traders use it

- As a drop-in replacement for a standard moving average in [crossover](https://www.luxalgo.com/library/concept/moving-average-crossovers/) logic, aiming for similar smoothness at lower lag; whether that improves results depends on the market and must be tested, not assumed.
- As a trend baseline: price holding above a rising JMA (or below a falling one) sets directional bias, and the line's direction feeds [slope filters](https://www.luxalgo.com/library/concept/ma-slope-filter/) and regime rules.
- As a smoothing core inside other tools: applying JMA smoothing to an oscillator such as RSI, or to a volume series, cuts noise before any signal logic runs.
- As [dynamic support or resistance](https://www.luxalgo.com/library/concept/dynamic-s-r-via-ma/) in trends, watching how pullbacks behave around the line; like any moving average, it marks a zone of interest, not a floor that must hold.

## JMA vs other smoothers

- **Ehlers SuperSmoother** (https://www.luxalgo.com/library/concept/ehlers-supersmoother/): Both come from signal processing, but the SuperSmoother is a published, fixed two-pole filter that treats every bar the same. JMA is adaptive and proprietary: it changes behavior with conditions, and you cannot inspect how.
- **Adaptive-lookback MA** (https://www.luxalgo.com/library/concept/adaptive-lookback-ma/): Both adapt, with different levers. An adaptive-lookback average changes its effective window by an open, inspectable rule; JMA keeps its parameters and adapts internally through undisclosed volatility logic.
- **EMA** (https://www.luxalgo.com/library/concept/ema/): The baseline case: fixed weights, one line of code, identical everywhere. JMA buys visibly more smoothness per unit of lag at the cost of complexity and version-to-version disagreement between ports.

## FAQ

### Is the JMA formula public?

No. Jurik Research licenses the original algorithm and has never published it. Public implementations are reverse-engineered approximations built to match its documented behavior, which is why two JMA scripts can print slightly different values on the same chart. Treat any public JMA as an approximation of the original rather than the original itself.

### What does the phase setting on JMA do?

Phase (commonly ranging from -100 to +100) sets the balance between lag and overshoot. Higher values let the average turn earlier but allow it to overshoot at reversals; lower values damp overshoot and add lag. It repositions the trade-off rather than eliminating it, so there is no universally correct value.

### Is JMA better than an EMA?

It is smoother per unit of lag by design, which many traders prefer, but that does not by itself produce better signals. Any moving average, however adaptive, whipsaws in ranging markets and lags at true turning points. Treat JMA as a different point on the smoothness-lag curve and test it in your own context.

### How is JMA different from KAMA, HMA, or T3?

All four chase low lag by different routes. KAMA modulates an EMA's weight with Kaufman's efficiency ratio and deliberately goes near-flat in chop. HMA is a public weighted-average construction that accepts overshoot at sharp turns as the price of speed. T3 runs price through a fixed cascade of EMAs with a tunable volume factor, identical on every bar. JMA adapts bar by bar through Jurik's unpublished volatility logic, aiming to suppress both lag and overshoot. They often look similar in trends and differ most at turns and in congestion.

### What settings should I use for JMA?

Length maps loosely to the lookback you would use for any average, and phase 0 is the neutral starting point in most ports. There is no universal answer: phase repositions the lag-overshoot trade-off, and the right position depends on whether your strategy suffers more from late turns or from false ones. Test on your own market rather than importing someone else's numbers.

### Why do two JMA indicators show different values on the same chart?

Because public versions are independent reconstructions of an unpublished algorithm, they can differ in internals and defaults, and some add options such as extra smoothing. Small value differences are normal; if signals differ materially, pick one implementation, verify its behavior, and backtest that exact version.

## Implementations in the Library

- JMA (LuxAlgo): https://www.luxalgo.com/library/indicator/jma/

## Related concepts

- SMA: https://www.luxalgo.com/library/concept/sma/
- EMA: https://www.luxalgo.com/library/concept/ema/
- Adaptive-lookback MA: https://www.luxalgo.com/library/concept/adaptive-lookback-ma/
- MA Envelope: https://www.luxalgo.com/library/concept/ma-envelope/
- SWMA: https://www.luxalgo.com/library/concept/swma/
- RMA: https://www.luxalgo.com/library/concept/rma/
- HMA: https://www.luxalgo.com/library/concept/hma/
- KAMA: https://www.luxalgo.com/library/concept/kama/
- ZLEMA: https://www.luxalgo.com/library/concept/zlema/
- T3: https://www.luxalgo.com/library/concept/t3/

---

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