
    is                     ^    S SK Jr  S SKJrJr  S SKJrJrJrJ	r	    SS\S\S\S\S	\4
S
 jjr
g)    )Series)DictLikeInt)v_offsetv_pos_defaultv_seriesweightsNcloselengthoffsetkwargsreturnc                    [        US5      n[        X5      n U c  g[        U5      n[        SUS-   5      nU R	                  U5      R                  [        U5      SS9nU* U R	                  U5      R                  5       -  nUS:w  a  UR                  U5      nSU;   a  UR                  US   SS9  S	U 3Ul
        S
Ul        U$ )a  Center of Gravity

This indicator, by John Ehlers, attempts to identify turning points with
minimal to zero lag and smoothing.

Sources:
    * [MESA Software](http://www.mesasoftware.com/papers/TheCGOscillator.pdf)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```10```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column

   N   T)rawr   fillna)inplaceCG_momentum)r   r   r   rangerollingapplyr	   sumshiftr   namecategory)r
   r   r   r   coefficients	numeratorcgs          P/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/momentum/cg.pyr    r       s    0 62&FU#E}fF FQJ'Lf%++GL,At+LI
emmF+//1	1B {XXf 6
		&"D	1 F8nBGBKI    )NN)pandasr   pandas_ta._typingr   r   pandas_ta.utilsr   r   r   r	   r     r"   r!   <module>r'      sH     + F F
 "&1111"*1 1r"   