
    i{                         S SK JrJr  S SKJrJr  S SKJrJr  S SK	J
r
  S SKJrJrJrJrJrJr      SS\S\S	\S
\S\S\S\S\S\S\S\S\4S jjrg)    )isnanzeros)	DataFrameSeries)DictLikeInt)ma)sum_signed_rolling_deltasv_boolv_mamodev_offsetv_pos_defaultv_seriesNopen_close
tmo_lengthcalc_lengthsmooth_lengthmomentum	normalize	exclusivemamodeoffsetkwargsreturnc
                    [        US5      n[        US5      n[        US5      n[        X#U5      n[        X5      n [        X5      n[        U	5      n	SU
;   a  U
R	                  S5        U b  Uc  g[        US5      n[        US5      n[        US5      n[        US5      n[        XX'S	9n[        [        U5      5      (       a  g[        XUS
9n[        [        U5      5      (       a  g[        XUS
9n[        [        U5      5      (       a  g[        UUUS
9n[        [        U5      5      (       a  gU(       a)  UUR                  U5      -
  nUUR                  U5      -
  nO=[        UR                  5      n[        UUR                  S9n[        UUR                  S9nU	S:w  aD  UR                  U	5      nUR                  U	5      nUR                  U	5      nUR                  U	5      nSU
;   aL  UR!                  U
S   SS9  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l        SU 3Ul        SU 3Ul        SU 3Ul        S=Ul        Ul        UR$                  =Ul        Ul        UR"                  UUR"                  UUR"                  UUR"                  U0n['        UUR                  S9nSU 3Ul        UR$                  Ul        U$ )a   True Momentum Oscillator

This indicator attempts to quantify momentum.

Sources:
    * [tradingview A](https://www.tradingview.com/script/VRwDppqd-True-Momentum-Oscillator/)
    * [tradingview B](https://www.tradingview.com/script/65vpO7T5-True-Momentum-Oscillator-Universal-Edition/)

Parameters:
    open_ (Series): ```open``` Series
    close (Series): ```close``` Series
    tmo_length (int): TMO period. Default: ```14```
    calc_length (int): Initial MA period. Default: ```5```
    smooth_length (int): Main and smooth signal MA period. Default: ```3```
    mamode (str): See ```help(ta.ma)```. Default: ```"ema"```
    momentum (bool): Compute main and smooth momentum. Default: ```False```
    normalize (bool): Normalize. Default: ```False```
    exclusive (bool): Exclusive period over ```n``` bars, or inclusively
        over ```n-1``` bars. Default: ```True```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 4 columns
         lengthNemaFT)r   )r    )indexr   fillna)inplace_TMOTMOsTMOMTMOMsr   )r   maxr   r   popr   r   r
   allr   r	   shiftr   sizer   r"   r#   namecategoryr   )r   r   r   r   r   r   r   r   r   r   r   _lengthcompute_momentumnormalize_signalsigned_diff_sum
initial_mamainsmoothmom_main
mom_smooth
zero_array_propsdatadfs                           Q/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/momentum/tmo.pytmor?      s   D z2.JQ/K!-3M*=9GU$EU$EfF6

8}fe$Fh.i/y$'I/jO 5!""FK@J
5f7D
5;]3F
5=$**Z00fll:66
499%
*DJJ7Jfll;
 {zz&!f%>>&)%%f-
 6F8$d3fX&5x($7&*D9 Ak]!M?;FfXDI/FK6(OHMfX&JO&00DMFO.2mm;H
+ 			4Vx	D 
4u{{	+BF8nBG--BKI    )NNNNNNNN)numpyr   r   pandasr   r   pandas_ta._typingr   r   pandas_ta.mar	   pandas_ta.utilsr
   r   r   r   r   r   boolstrr?    r@   r>   <module>rI      s     $ +   5926EI&*	qq q.1qq,/q q '+q ?Cq 	q !$	q 7?	q
 qr@   