
    i
                     z    S SK JrJr  S SKJrJr  S SKJrJrJ	r	J
r
  SSKJr    SS\S\S	\S
\S\S\S\S\4S jjrg)    )	DataFrameSeries)DictLikeInt)v_offsetv_pos_defaultv_seriesv_talib   )smmaNclosejawteethlipstaliboffsetkwargsreturnc                 Z   [        US5      n[        US5      n[        US5      n[        U [        XU5      5      n U c  g[        U5      n[	        U5      n[        XUS9n[        XUS9n	[        XUS9n
US:w  a3  UR                  U5      nU	R                  U5      n	U
R                  U5      n
SU;   a9  UR                  US   SS	9  U	R                  US   SS	9  U
R                  US   SS	9  S
U S
U S
U 3nSU 3USU 3U	SU 3U
0n[        XR                  S9nSU 3Ul
        SUl        U$ )aC  Bill Williams Alligator

This indicator, by Bill Williams, attempts to identify trends.

Sources:
    * [sierrachart](https://www.sierrachart.com/index.php?page=doc/StudiesReference.php&ID=175&Name=Bill_Williams_Alligator)
    * [tradingview](https://www.tradingview.com/scripts/alligator/)

Parameters:
    close (Series): ```close``` Series
    jaw (int): Jaw period. Default: ```13```
    teeth (int): Teeth period. Default: ```8```
    lips (int): Lips period. Default: ```5```
    talib (bool): If installed, use TA Lib. Default: ```True```
    offset (int): Post shift. Default: ```0```

Other Parameters:
    fillna (value): ```pd.DataFrame.fillna(value)```

Returns:
    (DataFrame): 3 columns

Tip:
    To avoid data leaks, offsets are to be done manually.

Note:
    Williams believed the fx market trends between 15% and 30% of the
    time. Otherwise it is range bound. Inspired by fractal geometry,
    where the outputs are meant to resemble an alligator opening and
    closing its mouth. It It consists of 3 lines: Jaw, Teeth, and
    Lips which each have differing lengths.
         N)lengthr   r   fillnaT)inplace_AGjAGtAGl)indexAGoverlap)r   r	   maxr
   r   r   shiftr   r   r    namecategory)r   r   r   r   r   r   r   mode_tal	gator_jawgator_teeth
gator_lips_propsdatadfs                 V/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/alligator.py	alligatorr/   	   sq   J R
 C%#Eq!DUCD12E}u~HfF Uh7Iu(;Ke9J {OOF+	!''/%%f-
 6)486(+T:&*D9 QugQtf%F
fX	
fX
fX
D
 
4{{	+B6(mBGBKI    )NNNNN)pandasr   r   pandas_ta._typingr   r   pandas_ta.utilsr   r   r	   r
   r   boolr/    r0   r.   <module>r6      sn    $ + F F 
 DH&*MMM+.M=@MM #M6>M Mr0   