Symmetric Weighted Moving Average (SWMA)

Parameters: period = 14 (4–100)

Overview

The Symmetric Weighted Moving Average represents an innovative approach to price smoothing that takes its weighting pattern from the first half of a sine wave cycle. Unlike linear weighted averages that give progressively more weight to recent data, or simple averages that weight all data equally, SWMA assigns the highest weights to the middle portion of the data set while giving less weight to both the newest and oldest values. This creates a symmetric bell-shaped weighting distribution that closely resembles the Triangular Moving Average but with a smoother mathematical foundation.

The sine wave weighting pattern makes SWMA particularly effective at filtering out short-term noise while remaining responsive to genuine trend changes. By concentrating weight in the middle of the lookback period, the indicator captures the core momentum of price movements without being overly influenced by extreme values at either end. This characteristic makes SWMA a dynamic indicator that adapts well to changing market conditions, providing traders with a balanced view of price trends that avoids both excessive lag and oversensitivity to recent price spikes.

Interpretation & Trading Signals

Trend Identification:

  • Rising SWMA: Indicates upward trend momentum
  • Falling SWMA: Suggests downward trend pressure
  • Flat SWMA: Market consolidation or trend exhaustion
  • Slope Change: Early warning of potential trend reversal

Trading Signals:

  • Price Crossover: Buy when price crosses above SWMA
  • Price Crossunder: Sell when price crosses below SWMA
  • Golden Cross: Short SWMA crossing above long SWMA
  • Death Cross: Short SWMA crossing below long SWMA

Support & Resistance:

  • Dynamic Support: SWMA acts as support in uptrends
  • Dynamic Resistance: SWMA provides resistance in downtrends
  • Divergence Signals: Price/SWMA divergences indicate reversals
  • Confirmation Tool: Combine with other indicators for validation

Example Usage

Code examples will be available once the Rust implementation is complete.

Performance Analysis

Related Indicators