
    i                         S SK JrJr  S SKJrJr  S SKJr  S SKJ	r	  S SK
JrJrJrJrJrJrJr     SS\S\S	\S
\S\S\S\S\S\S\S\4S jjrg)    )	DataFrameSeries)DictLikeInt)ma)Imports)non_zero_rangetal_mav_mamodev_offsetv_pos_defaultv_seriesv_talibNhighlowclosekdsmooth_kmamodetaliboffsetkwargsreturnc	                 &   [        US5      n[        US5      n[        US5      nX4-   U-   n
[        X
5      n [        X5      n[        X*5      nU b  Ub  Uc  g[        U5      n[        US5      n[	        U5      n[
        S   (       a<  U(       a5  US:  a/  SSKJn  U" XX#U[        U5      U[        U5      5      nUS   US	   pOUR                  U5      R                  5       nU R                  U5      R                  5       nS
UU-
  -  [        UU5      -  nUc  gUR                  UR                  5       S24   nUS	:X  a  UnO[        UUUS9nUR                  UR                  5       S24   n[        UUUS9nX-
  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nSU SU SU 3nU SU 3Ul        U SU 3Ul        U SU 3Ul        S=Ul        =Ul        Ul        UR$                  UUR$                  UUR$                  U0n[)        UUR*                  S9nU U 3Ul        UR&                  Ul        U$ )a  Stochastic

This indicator, by George Lane in the 1950's, attempts to identify and
quantify momentum; it assumes that momentum precedes value change.

Sources:
    * [sierrachart](https://www.sierrachart.com/index.php?page=doc/StudiesReference.php&ID=332&Name=KD_-_Slow)
    * [tradingview](https://www.tradingview.com/wiki/Stochastic_(STOCH))

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    k (int): The Fast %K period. Default: ```14```
    d (int): The Slow %D period. Default: ```3```
    smooth_k (int): The Slow %K period. Default: ```3```
    mamode (str): See ```help(ta.ma)```. Default: ```"sma"```
    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
      Nsmar      r   )STOCH   d   )lengthfillnaT)inplacer    _r   r   hmomentum)index)r   r   r   r   r   r   r   r    r
   rollingminmaxr	   locfirst_valid_indexr   shiftr$   namecategoryr   r)   )r   r   r   r   r   r   r   r   r   r   _lengthmode_talr    stoch_stoch_kstoch_dllhhstoch	stoch_fvi
stochk_fvistoch_h_name_propsdatadfs                             S/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/momentum/stoch.pyr9   r9      s   B 	aAaAXq)HehGD"D
3
 CU$E|s{emu~Hfe$FfF wHAuF6NAvf~
 "!9fQi[[^!\\!_  "urz"^B%;;=&IIe55789;	q=G8<G[[!:!:!<!=!>@
VZ2G {--'--'--' 6vh'6vh'6vh'6 E1QCq
#FWAfX&GLWAfX&GLWAfX&GL=GGGGw''*: 	gggD
 
4u{{	+Bx BG""BKI    )NNNNNN)pandasr   r   pandas_ta._typingr   r   pandas_ta.mar   pandas_ta.mapsr   pandas_ta.utilsr	   r
   r   r   r   r   r   strboolr9    rB   rA   <module>rK      s    $ +  "   37&*	g
gg&,g
gg,/g g  $g 	g #+	g
 grB   