Direct answer
SMMA (Smoothed Moving Average) is calculated with a recursive formula. After you compute an initial moving-average value for the first point, each next SMMA value blends the latest price (or data point) with the previous SMMA value using the chosen period (window length). The key requirements are: (1) an ordered time series, (2) a chosen period N, and (3) an agreed initial SMMA value or equivalent starting rule.
Mechanism: the definition and the formula
A moving average converts a time series (for example, prices sampled once per period) into a smoother line. SMMA is one specific style of smoothing where each new value depends on the previous SMMA rather than only on a fresh fixed-size average.
Core variables
- N (period/window length): a positive integer (e.g., 5, 10, 20). Larger N usually produces smoother output.
- t: the index of the current data point.
- xₜ: the current input value at time step t (commonly a close price, but it can be any consistent data series).
- SMMAₜ: the SMMA value at time step t.
Typical recursive update
A common SMMA recursion is:
SMMAₜ = ( (SMMAₜ₋₁ · (N − 1)) + xₜ ) / N
This says that the new SMMA is mostly based on the previous SMMA (weight N−1) plus the latest input xₜ (weight 1), then divided by N.
The starting value matters
To use a recursion, you must define SMMA at the first computable point (often called SMMA₍N₎ or SMMA₀ depending on indexing). A typical approach is to set the initial SMMA to a simple moving average (SMA) over the first N input points:
Initial SMMA = (x₁ + x₂ + … + x_N) / N
Other platforms sometimes use slightly different start conventions, but the practical requirement is the same: without a defined initial value, you cannot deterministically compute later SMMA values.
Evidence or example (with explicit assumptions)
Assume:
- You have evenly spaced time steps.
- You choose N = 4.
- Your input series is x₁, x₂, x₃, x₄, x₅, …
- You define the initial SMMA at t = 4 as the average of the first four values.
Let the inputs be:
- x₁ = 10
- x₂ = 12
- x₃ = 11
- x₄ = 13
- x₅ = 14
Step 1: compute the initial SMMA
Initial SMMA (at t=4): (10 + 12 + 11 + 13) / 4 = 46 / 4 = 11.5
So SMMA₄ = 11.5.
Step 2: compute the next SMMA value
Use the recursion: SMMA₅ = ( (SMMA₄ · (N − 1)) + x₅ ) / N = ( (11.5 · 3) + 14 ) / 4 = (34.5 + 14) / 4 = 48.5 / 4 = 12.125
This example shows two crucial mechanics:
- The newest point xₜ enters with weight 1/N.
- The past is represented through SMMAₜ₋₁, not through a fresh N-point average each time.
Limitations and risks: where calculations can fail
1) Incorrect or inconsistent starting value
If a platform uses a different initialization rule (for example, it might start from an SMA over a different slice, or align the first SMMA to a different index), you will reproduce different numeric results. To verify independently, note exactly how the first SMMA point is defined in your reference implementation.
2) Missing data or irregular time spacing
SMMA assumes an ordered series where each step t corresponds to the next period. If your data has gaps, duplicate timestamps, or irregular sampling, the recursion may effectively smooth over uneven real-world time intervals. The output will still compute, but it may represent a different “frequency” than you think.
3) Mixing price types or resampling inconsistently
If xₜ is not consistently chosen (e.g., switching between close and another field, or mixing timeframes without clear resampling rules), the SMMA line becomes hard to interpret. The formula is deterministic, but its meaning depends on what xₜ actually is.
4) Period choice changes responsiveness
Changing N alters the smoothing strength: smaller N reacts faster; larger N reacts more slowly. If you compare SMMA values across different N values without accounting for this, you can draw misleading conclusions about timing and magnitude.
Verification and next question to ask
To independently verify SMMA calculations:
- Fix the period N you are using.
- Write down the input series xₜ used (which exact data field, and at what sampling interval).
- Confirm the initial SMMA rule (often an SMA over the first N points, but the exact index alignment must match).
- Recompute one or two steps using the recursion.
A good next question is whether your SMMA matches how your reference system defines the start point and which input series it feeds into the formula. If you want, you can also compare SMMA to related moving averages to understand how the recursion changes responsiveness.
Internal links (optional):
- /forex-indicators/moving-averages/smma/
- /forex-indicators/moving-averages/smma/how-does-smma-differ-from-related-forex-concepts/
- /forex-indicators/moving-averages/smma/how-do-settings-change-smma/
- /forex-indicators/moving-averages/smma/what-can-signals-from-smma-mean/