# JMA

JMA is an indicator on [Vela](https://vela.luxalgo.com/chart), our next-generation charting platform, written in Pine Script®.

The standard published three-stage approximation of Mark Jurik's adaptive moving average with the documented length, phase, and power mapping. The 7-period default line colors itself by slope, a -100 to +100 phase dial repositions the lag-overshoot trade-off, and an optional SMA or EMA overlay of the same length shows how much earlier the JMA turns at real swings.

- Indicator in the LuxAlgo Library, by LuxAlgo, published Mar 27, 2026.
- Access: free.
- Concepts: [JMA](https://www.luxalgo.com/library/concept/jma/) (primary)
- Open on Vela: https://vela.luxalgo.com/chart?pineScriptCodeId=jbzi0uf4quk56s9ulg2vk5rl
- Page: https://www.luxalgo.com/library/indicator/jma/

**JMA** plots the Jurik Moving Average, the adaptive smoother that pursues maximum smoothness for minimum lag. Because the original [JMA](https://www.luxalgo.com/library/concept/jma/) algorithm was licensed commercially and never published, this build implements the standard published three-stage approximation with the documented length, phase, and power mapping, and says so. The line colors itself by slope, and an optional SMA or EMA of the same length overlays for calibration.

## How to Trade the JMA?

- **Slope color**: rising reads bullish, falling bearish. The slope turning is the event most systems key on, and both turns fire alerts.
- **Flat stretch**: the line holds nearly level through congestion, so a horizontal JMA is a usable no-trend flag.
- **Price crossings**: standard crossover grammar with a smoother, lower-lag line; markers are off by default but the alerts fire regardless.
- **Gradient fill width**: the fill visualizes extension. Price sprinting away from a flat line signals stretch rather than confirmed trend.

Against a comparison average of the same length, the JMA should catch genuine swings sooner while shrugging off more of the noise in between.

## JMA Settings

- **Source** (default close): the smoothed series; feeding an oscillator or volume series here covers the smoothing-core use.
- **Length** (default 7): the customary JMA default. Longer is smoother and slower.
- **Phase** (default 0): repositions the lag-overshoot trade-off across −100 to +100; no setting removes the trade-off.
- **Power** (default 2): how aggressively the filter adapts. Higher hugs price through fast moves, lower holds flatter in congestion.
- **Comparison Average** (default None): the optional SMA or EMA of the same length and source.
- **Slope Trend Coloring** (default enabled), **Price / JMA Gradient Fill** (default enabled), and **Price Crossing Markers** (default disabled) round out the style group.

## Frequently Asked Questions

### Is this the original Jurik algorithm?

No public version is. The algorithm was licensed and never released, so every openly available JMA is a reconstruction. This build uses the standard published approximation; reconstructions can differ slightly.

### How does JMA compare to the Laguerre Filter?

Both chase smoothness without the usual lag cost, but the [Laguerre Filter](https://www.luxalgo.com/library/indicator/laguerre-filter/) reaches it through a short cascade of stages tuned by a single damping parameter, while JMA adapts bar by bar with separate length, phase, and power controls.

### What does the Phase input actually do?

It repositions the lag-overshoot trade-off: higher values make the line turn sooner but overshoot more at reversals, while lower values damp the overshoot and add lag. Zero is the neutral starting point.

## Related indicators

- [Trend Regularity Adaptive Moving Average](https://www.luxalgo.com/library/indicator/trend-regularity-adaptive-moving-average/) (TRAMA): markdown at https://www.luxalgo.com/library/indicator/trend-regularity-adaptive-moving-average.md
- [Machine Learning Moving Average](https://www.luxalgo.com/library/indicator/machine-learning-moving-average/) (Adaptive-lookback MA): markdown at https://www.luxalgo.com/library/indicator/machine-learning-moving-average.md
- [ZLEMA](https://www.luxalgo.com/library/indicator/zlema/) (Trend): markdown at https://www.luxalgo.com/library/indicator/zlema.md
- [Moving Average Converging](https://www.luxalgo.com/library/indicator/moving-average-converging/) (EMA): markdown at https://www.luxalgo.com/library/indicator/moving-average-converging.md
- [MLMA](https://www.luxalgo.com/library/indicator/mlma/) (Trend): markdown at https://www.luxalgo.com/library/indicator/mlma.md
- [Volume-adjusted MA](https://www.luxalgo.com/library/indicator/volume-adjusted-ma/) (Trend): markdown at https://www.luxalgo.com/library/indicator/volume-adjusted-ma.md
- [T3](https://www.luxalgo.com/library/indicator/t3/) (Trend): markdown at https://www.luxalgo.com/library/indicator/t3.md
- [Hull Butterfly Oscillator](https://www.luxalgo.com/library/indicator/hull-butterfly-oscillator/) (HMA): markdown at https://www.luxalgo.com/library/indicator/hull-butterfly-oscillator.md

---

Source: https://www.luxalgo.com/library/indicator/jma/ (LuxAlgo Library). Free to use with attribution: https://www.luxalgo.com/library/license/
