
    Q-j                         d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZmZmZmZmZ  ed      d        Z	 	 dd
ededededede
de	dedefdZy	)    )njit)rollwhere)Series)DictLikeIntIntFloat)v_boolv_offsetr   v_scalarv_seriesT)cachec                     t        | t        | d      z
  dk  dd      }t        |t        |d      z
  dkD  dd      }||z  S )N   r   )r   r   )highlowhdiffldiffs       i/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/candle/cdl_inside.pynp_cdl_insider      sH    $dA&*Aq1E#S!$q(!Q/E5=    Nopen_r   r   closeasboolscalaroffsetkwargsreturnc                    t        |       } t        |      }t        |      }t        |      }| |||yt        |d      }t        |d      }t        |      }|j	                         |j	                         }	}t        ||	      }
t        |
|j                  t              }|s||j                  t              z  }|dk7  r|j                  |      }d|v r|j                  |d   d       d	|_        d
|_        |S )a  Inside Bar

    Attempts to identify an "Inside" candle which is smaller than it's
    previous candle.

    Sources:
        * [TA Lib](https://github.com/TA-Lib/ta-lib/blob/main/src/ta_func/ta_CDL3INSIDE.c)
        * [tradingview](https://www.tradingview.com/script/IyIGN1WO-Inside-Bar/)

    Parameters:
        open_ (Series): ```open``` Series
        high (Series): ```high``` Series
        low (Series): ```low``` Series
        close (Series): ```close``` Series
        asbool (bool): Return booleans. Default: ```False```
        scalar (float): Scalar. Default: ```100```
        offset (int): Post shift. Default: ```0```

    Other Parameters:
        fillna (value): Replaces ```na```'s with ```value```.

    Returns:
        (Series): 1 column
    NFd   )indexdtyper   fillnaT)inplace
CDL_INSIDEcandle)r   r
   r   r   to_numpyr   r   r!   boolastypeintshiftr#   namecategory)r   r   r   r   r   r   r   r   np_highnp_low	np_insideinsides               r   
cdl_insider2      s    < UOED>D
3-CUOE}u}FE"Ffc"FfF mmos||~VGgv.IIU[[=F&--,, {f% 6fX&5FKFOMr   )NNN)numbar   numpyr   r   pandasr   pandas_ta._typingr   r   r	   pandas_ta.utilsr
   r   r   r   r   r(   r2    r   r   <module>r9      s       5 5  D  -1===&,=5;==!)= = #+= 	=r   