Jurik Moving Average (JMA)

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
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
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
Fixed edge conditions
Fixed calculation of vSum and aVolty
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Untuk akses pantas pada carta, tambah skrip ini kepada kegemaran anda — ketahui lebih lanjut di sini.
Penafian
Skrip sumber terbuka
Dalam semangat sebenar TradingView, pencipta skrip ini telah menjadikannya sumber terbuka supaya pedagang dapat menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupun anda boleh menggunakannya secara percuma, ingat bahawa menerbitkan semula kod ini adalah tertakluk kepada Peraturan Dalaman kami.
Untuk akses pantas pada carta, tambah skrip ini kepada kegemaran anda — ketahui lebih lanjut di sini.