# forge.ta.ema

```python
forge.ta.ema(source: ArrayLike, period: int = 14) -> np.ndarray
```

Exponential average: ``k = 2 / (period + 1)``, seeded with the first price.

The first ``period - 1`` values of each unbroken run are left empty. After a gap the recursion
restarts and waits ``period - 1`` bars again.

Since Forge API 1.

## Class forge.ta.EMA

```python
forge.ta.EMA(**inputs: Any) -> None
```

Average that weights recent values more, each step closing part of the gap to the price.

k = 2 / (period + 1)

EMA[i] = x[i] * k + EMA[i-1] * (1 - k), starting from the first price.

The first period - 1 values are left empty. After a gap the average starts again.

Since Forge API 1.
