Pivot Moving Average (PMA)
period
= 14 (2–200) • left_bars
= 5 (1–20) • right_bars
= 5 (1–20) Overview
The Pivot Moving Average revolutionizes traditional moving average concepts by using market structure itself to determine averaging periods. Rather than calculating over a fixed number of bars, PMA identifies pivot points - significant highs and lows where price reversed direction - and calculates the average price between these structural points. This approach creates a moving average that naturally aligns with support and resistance levels, as it's based on the same price points that traders use to identify market structure.
The calculation process involves detecting pivot highs and lows using a specified number of bars to the left and right for confirmation. When a new pivot is identified, PMA calculates the average of all prices between the current pivot and the previous one. This creates segments of different lengths based on market volatility and structure - during trending markets with fewer pivots, the average covers more bars, while in choppy markets with frequent pivots, the segments are shorter. This adaptive nature makes PMA particularly effective at filtering noise while remaining responsive to significant market changes.
Interpretation & Trading Signals
Trend Identification:
- Rising PMA: Uptrend with higher pivot points
- Falling PMA: Downtrend with lower pivot points
- Flat PMA: Range-bound market between pivots
- Slope Changes: Major trend transitions at pivot shifts
Support/Resistance:
- Dynamic Support: PMA acts as support in uptrends
- Dynamic Resistance: PMA acts as resistance in downtrends
- Pivot Alignment: Levels coincide with structural points
- Breakout Confirmation: Price crossing PMA at pivots
Trading Applications:
- Entry Signals: Buy when price breaks above rising PMA
- Exit Signals: Sell when price breaks below falling PMA
- Stop Placement: Use PMA levels for dynamic stops
- Market Structure: Identifies key structural levels automatically
Example Usage
Code examples will be available once the Rust implementation is complete.
Performance Analysis
Related Indicators
Variable Index Dynamic Average
Technical analysis indicator
Variable Length Moving Average
Technical analysis indicator
Arnaud Legoux Moving Average
Moving average indicator
Centered Weighted Moving Average
Moving average indicator
Double Exponential Moving Average
Moving average indicator
Ehlers Distance Coefficient Filter
Moving average indicator