OPEN-SOURCE SCRIPT
Updated Jurik Moving Average (JMA)

Overview
Jurik Moving Average (JMA) is an adaptive moving average developed by Mark Jurik, widely regarded as one of the most powerful moving averages available to traders. This implementation provides a direct Pine Script translation of the reverse-engineered JMA algorithm
What Makes JMA Special
Unlike traditional moving averages, JMA adapts to market volatility in real-time. This "triple adaptive" approach allows JMA to:
The Triple Adaptive Edge
JMA employs a three-stage smoothing process:
This approach combines with a dynamic volatility-based factor (alpha) that adapts to market conditions, making JMA superior to traditional moving averages in most situations.
Key Parameters
Period: Controls the lookback period (default: 14)
Phase: Adjusts the heaviness of the indicator (-100 to 100, default: 0)
Power: Smoothing factor (0.1-0.9, default 0.45)
Higher values create smoother curves
Lower values create more responsive but choppy curves
Jurik Moving Average (JMA) is an adaptive moving average developed by Mark Jurik, widely regarded as one of the most powerful moving averages available to traders. This implementation provides a direct Pine Script translation of the reverse-engineered JMA algorithm
What Makes JMA Special
Unlike traditional moving averages, JMA adapts to market volatility in real-time. This "triple adaptive" approach allows JMA to:
- Reduce lag significantly while maintaining exceptional smoothness
- React quickly during trending markets
- Filter out noise during consolidation phases
- Provide clearer trend signals with fewer whipsaws
The Triple Adaptive Edge
JMA employs a three-stage smoothing process:
- Preliminary smoothing via an adaptive EMA
- Secondary smoothing using a Kalman filter with phase adjustment
- Final smoothing through a unique Jurik adaptive filter
This approach combines with a dynamic volatility-based factor (alpha) that adapts to market conditions, making JMA superior to traditional moving averages in most situations.
Key Parameters
Period: Controls the lookback period (default: 14)
Phase: Adjusts the heaviness of the indicator (-100 to 100, default: 0)
- Positive values reduce lag but may cause overshoot
- Negative values increase smoothness but reduce responsiveness
Power: Smoothing factor (0.1-0.9, default 0.45)
Higher values create smoother curves
Lower values create more responsive but choppy curves
Release Notes
Jurik Moving Average (JMA) is an adaptive moving average developed by Mark Jurik, widely regarded as one of the most powerful moving averages available to traders. This implementation provides a direct Pine Script translation of the reverse-engineered JMA algorithm; the true original algorithm was never published.What Makes JMA Special
Unlike traditional moving averages, JMA adapts to market volatility in real-time. This "triple adaptive" approach allows JMA to:
- Reduce lag significantly while maintaining exceptional smoothness
- React quickly during trending markets
- Filter out noise during consolidation phases
- Provide clearer trend signals with fewer whipsaws
JMA employs a three-stage smoothing process:
- Preliminary smoothing via an adaptive EMA
- Secondary smoothing using a Kalman filter with phase adjustment
- Final smoothing through a unique Jurik adaptive filter
This approach combines with a dynamic volatility-based factor (alpha) that adapts to market conditions, making JMA superior to traditional moving averages in most situations.
Key Parameters
Period: Controls the lookback period (default: 14)
Phase: Adjusts the heaviness of the indicator (-100 to 100, default: 0)
- Positive values reduce lag but may cause overshoot
- Negative values increase smoothness but reduce responsiveness
Power: Smoothing factor (0.1-0.9, default 0.45 - usually hard-coded and not exposed)
- Higher values create smoother curves
- Lower values create more responsive but choppy curves
Release Notes
Jurik Moving Average (JMA) is an adaptive moving average developed by Mark Jurik, widely regarded as one of the most powerful moving averages available to traders. This implementation provides a direct Pine Script translation of the reverse-engineered JMA algorithm. Original proprietary algorithm was never published.Unlike traditional moving averages, JMA adapts to market volatility in real-time. This "triple adaptive" approach allows JMA to:
- Reduce lag significantly while maintaining exceptional smoothness
- React quickly during trending markets
- Filter out noise during consolidation phases
- Provide clearer trend signals with fewer whipsaws
JMA employs a three-stage smoothing process:
- Preliminary smoothing via an adaptive EMA
- Secondary smoothing using a Kalman filter with phase adjustment
- Final smoothing through a unique Jurik adaptive filter
This approach combines with a dynamic volatility-based factor (alpha) that adapts to market conditions, making JMA superior to traditional moving averages in most situations.
Key Parameters
Period: Controls the lookback period (default: 14)
Phase: Adjusts the heaviness of the indicator (-100 to 100, default: 0)
Positive values reduce lag but may cause overshoot
Negative values increase smoothness but reduce responsiveness
Power: Smoothing factor (0.1-0.9, default 0.45)
Higher values create smoother curves
Lower values create more responsive but choppy curves
Release Notes
Added Jurik Volatility BandsFixed edge conditions
Fixed calculation of vSum and aVolty
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Open-source script
In true TradingView spirit, the creator of this script has made it open-source, so that traders can review and verify its functionality. Kudos to the author! While you can use it for free, remember that republishing the code is subject to our House Rules.
For quick access on a chart, add this script to your favorites — learn more here.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.