
    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\4S jjrg)    )isnannan)Seriesconcat)DictLikeInt)Imports)non_zero_rangev_boolv_driftv_offsetv_seriesv_talibNhighlowclosetalibprenandriftoffsetkwargsreturnc                    S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[	        U5      n[
        S   (       a  U	(       a  SSKJn
  U
" XU5      nOf[        X5      nUR                  U5      nXU-
  X-
  /n[        USS9nUR                  5       R                  SS9nU(       a  [        UR                  SU& [        [!        U5      5      (       a  g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  True Range

This indicator attempts to quantify a High-Low range including potential
gap scenarios.

Sources:
    * [macroption](https://www.macroption.com/true-range/)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    talib (bool): If installed, use TA Lib. Default: ```True```
    prenan (bool): Sets initial values to ```nan``` based
        on ```drift```. Default: ```False```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column

Warning:
    TA-Lib Correlation: ```np.float64(0.9999999999999999)```

Tip:
    Corrective contributions welcome!
   NFr   r   )TRANGE)axisfillnaT)inplace
TRUERANGE_
volatility)r   r   r   r   r   r	   r   r   r
   shiftr   absmaxr   ilocallr   r   namecategory)r   r   r   r   r   r   r   r   _lengthmode_talr   
true_rangehl_rangepcrangess                  Z/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/true_range.pyr*   r*      sH   H GD"D
3
 CU$E|s{emu~HFE"FENEfF wH Du-
!$,[[2Irx0F+
^^%))q)1
&)JOOFU#
5 {%%f-
 6&*D9 #5'*JO&J    )NNNN)numpyr   r   pandasr   r   pandas_ta._typingr   r   pandas_ta.mapsr	   pandas_ta.utilsr
   r   r   r   r   r   boolr*    r/   r.   <module>r7      s     ! + "  ;?M
MM&,MM $M47M M #+M 	Mr/   