
    Q-j7                         d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZmZmZmZ 	 	 ddeded	ed
edededededefdZy)    )nan)	DataFrameSeries)DictLikeInt)ma)v_mamodev_offsetv_pos_defaultv_seriesNhighlowclosehigh_length
low_lengthmamodeoffsetkwargsreturnc                 <   t        |d      }t        |d      }t        ||      dz   }t        | |      } t        ||      }t        ||      }| ||yt        |d      }t	        |      }|j
                  }	t        t        |j                        }
t        t        |j                        }t        t        |j                        }t        || |      }t        |||      }t        d|	      D ]  }|j                  |   |j                  |dz
     kD  r,|j                  |   x|
j                  |<   |j                  |<   Q|j                  |   |j                  |dz
     k  r,|j                  |   x|
j                  |<   |j                  |<   |
j                  |dz
     |
j                  |<   |
j                  |dz
     x|j                  |<   |j                  |<    |dk7  r3|
j                  |      }
|j                  |      }|j                  |      }d	|v rB|
j                  |d	   d
       |j                  |d	   d
       |j                  |d	   d
       d| d| }d| |
d| |d| |i}t        ||j                        }d| |_        d|_        |S )a!  Gann HiLo Activator

    This indicator, by Robert Krausz, uses two different Moving Averages to
    identify trends.

    Sources:
        * Gann HiLo Activator, , Stocks & Commodities Magazine, 1998
        * [sierrachart](https://www.sierrachart.com/index.php?page=doc/StudiesReference.php&ID=447&Name=Gann_HiLo_Activator)
        * [tradingview](https://www.tradingview.com/script/XNQSLIYb-Gann-High-Low/)

    Parameters:
        high (Series): ```high``` Series
        low (Series): ```low``` Series
        close (Series): ```close``` Series
        high_length (int): High period. Default: ```13```
        low_length (int): Low period. Default: ```21```
        mamode (str): See ```help(ta.ma)```. Default: ```"sma"```
        offset (int): Post shift. Default: ```0```

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

    Returns:
        (DataFrame): 3 columns

    Note:
        Increasing ```high_length``` and decreasing ```low_length``` is
        better for short trades and vice versa for long trades.
             Nsma)index)lengthr   fillnaT)inplace_HILOHILOlHILOsoverlap)r   maxr   r	   r
   sizer   r   r   r   rangeiatshiftr   r   namecategory)r   r   r   r   r   r   r   r   _lengthmhilolongshorthigh_malow_mai_propsdatadfs                      d/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/overlap/hilo.pyr-   r-   
   s   F  R0Kz2.J+z*Q.GD'"D
3
 CUG$E|s{emfe$FfF 	

A#U[[)D#U[[)D3ekk*Ek2GJ/F1a[99Q<'++a!e,,(.

15DHHQK$((1+YYq\FJJq1u--)0Q7DHHQK%))A,((1q5/DHHQK)-!a%8DHHQK%))A,  {zz&!zz&!F# 6F8$d3F8$d3VH%t4 Qzl+F
vh
x$
x%D
 
4u{{	+BVHoBGBKI    )NNNN)numpyr   pandasr   r   pandas_ta._typingr   r   pandas_ta.mar   pandas_ta.utilsr	   r
   r   r   strr-    r7   r6   <module>r?      s~     $ +  G G DHZ
ZZ&,ZZ),Z=@Z Z #+Z 	Zr7   