# forge.ta.gator

```python
forge.ta.gator(high: ArrayLike, low: ArrayLike, jaw_period: int = 13, jaw_shift: int = 8, teeth_period: int = 8, teeth_shift: int = 5, lips_period: int = 5, lips_shift: int = 3) -> dict[str, np.ndarray]
```

Gator oscillator: the gaps between the Alligator's lines, above and below 0.

``upper[i] = |jaw[i - (jaw_shift - teeth_shift)] - teeth[i]|`` and
``lower[i] = -|teeth[i - (teeth_shift - lips_shift)] - lips[i]|``. The shifts are read only as
these two backward offsets, so every value uses bars up to its own. The MetaTrader 5 input
ordering is enforced: periods and shifts must both fall from jaw to teeth to lips, and each
period must exceed its own shift.

Since Forge API 1.

## Class forge.ta.Gator

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

How far apart the Alligator's jaw, teeth and lips are.

jaw, teeth and lips are the Alligator's smoothed averages of the median price.

upper = |jaw (jaw_shift - teeth_shift bars earlier) - teeth|

lower = -|teeth (teeth_shift - lips_shift bars earlier) - lips|

The periods and the shifts must both fall from jaw to teeth to lips, and each period must exceed its own shift.

Since Forge API 1.
