
    ik	                     f    S SK JrJr  S SKJrJr  S SKJrJrJ	r	    SS\S\S\S\S	\S
\S\4S jjr
g)    )	DataFrameSeries)DictLikeInt)v_offsetv_pos_defaultv_seriesNhighlowlower_lengthupper_lengthoffsetkwargsreturnc                    [        US5      n[        US5      n[        UR                  SU5      5      n[        UR                  SU5      5      n[        X&X75      n[	        X5      n [	        X5      nU b  Uc  g[        U5      nUR                  X&S9R                  5       n	U R                  X7S9R                  5       n
SX-   -  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  US
:w  a3  U	R                  U5      n	UR                  U5      nU
R                  U5      n
SU SU 3U	l
        SU SU 3Ul
        SU SU 3U
l
        S=Ul        =U
l        U	l        U	R                  XR                  XR                  U
0n[        XR                  S9nSU SU 3Ul
        UR                  Ul        U$ )a-  Donchian Channels

This indicator attempt to quantify volatility similarily to
Bollinger Bands and Keltner Channels.

Sources:
    * [tradingview](https://www.tradingview.com/wiki/Donchian_Channels_(DC))

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    lower_length (int): Lower period. Default: ```20```
    upper_length (int): Upper period. Default: ```20```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 3 columns
   lmin_periodsumin_periodsN)min_periodsg      ?fillnaT)inplacer   DCL__DCM_DCU_
volatility)indexDC_)r   intpopmaxr	   r   rollingminr   shiftnamecategoryr   r   )r
   r   r   r   r   r   r   r   _lengthloweruppermiddatadfs                 X/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/donchian.pydonchianr.      s   6 !r2L r2Lvzz.,?@Lvzz.,?@L,lIGD"D
3
 C|s{fF KKK?CCEELLL@DDFE

C 6VH%t4

6(#T
2VH%t4 {F#iiF# ~Q|n5EJl^1\N3CH~Q|n5EJ5AACLA5>ENJJxxjj%@D	4zz	*BL><.1BG,,BKI    )NNN)pandasr   r   pandas_ta._typingr   r   pandas_ta.utilsr   r   r	   r.    r/   r-   <module>r4      sd    $ + = = 37E
EEE,/E E #+E 	Er/   