# generated by codegen_talib.py
import talib as _ta
from polars import Expr, struct

from polars_ta.utils.helper import TaLibHelper, func_wrap_11, func_wrap_mn

_ = TaLibHelper


def HT_DCPERIOD(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.HT_DCPERIOD, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def HT_DCPHASE(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.HT_DCPHASE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def HT_PHASOR(close: Expr, skip_nan=False, output_idx=None, schema=('inphase', 'quadrature'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.HT_PHASOR, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def HT_SINE(close: Expr, skip_nan=False, output_idx=None, schema=('sine', 'leadsine'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.HT_SINE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def HT_TRENDMODE(close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.HT_TRENDMODE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ADD(high: Expr, low: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.ADD, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def DIV(high: Expr, low: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.DIV, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MAX(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MAX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MAXINDEX(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MAXINDEX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MIN(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MIN, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MININDEX(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MININDEX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MINMAX(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('min', 'max'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.MINMAX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MINMAXINDEX(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('minidx', 'maxidx'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.MINMAXINDEX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MULT(high: Expr, low: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.MULT, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SUB(high: Expr, low: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.SUB, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SUM(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.SUM, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ACOS(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ACOS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ASIN(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ASIN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ATAN(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ATAN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CEIL(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.CEIL, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def COS(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.COS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def COSH(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.COSH, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def EXP(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.EXP, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def FLOOR(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.FLOOR, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def LN(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.LN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def LOG10(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.LOG10, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SIN(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.SIN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SINH(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.SINH, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SQRT(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.SQRT, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TAN(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.TAN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TANH(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.TANH, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ADX(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.ADX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ADXR(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.ADXR, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def APO(close: Expr, fastperiod: int = 12, slowperiod: int = 26, matype: int = 0, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.APO, x, fastperiod, slowperiod, matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def AROON(high: Expr, low: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('aroondown', 'aroonup'), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.AROON, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def AROONOSC(high: Expr, low: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.AROONOSC, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def BOP(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.BOP, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CCI(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CCI, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CMO(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.CMO, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def DX(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.DX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MACD(close: Expr, fastperiod: int = 12, slowperiod: int = 26, signalperiod: int = 9, skip_nan=False, output_idx=None, schema=('macd', 'macdsignal', 'macdhist'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.MACD, x, fastperiod, slowperiod, signalperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MACDEXT(close: Expr, fastperiod: int = 12, fastmatype: int = 0, slowperiod: int = 26, slowmatype: int = 0, signalperiod: int = 9, signalmatype: int = 0, skip_nan=False, output_idx=None, schema=('macd', 'macdsignal', 'macdhist'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.MACDEXT, x, fastperiod, fastmatype, slowperiod, slowmatype, signalperiod, signalmatype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MACDFIX(close: Expr, signalperiod: int = 9, skip_nan=False, output_idx=None, schema=('macd', 'macdsignal', 'macdhist'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.MACDFIX, x, signalperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MFI(high: Expr, low: Expr, close: Expr, volume: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close, volume).map_batches(lambda x: func_wrap_mn(_ta.MFI, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MINUS_DI(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.MINUS_DI, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MINUS_DM(high: Expr, low: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.MINUS_DM, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MOM(close: Expr, timeperiod: int = 10, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MOM, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def PLUS_DI(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.PLUS_DI, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def PLUS_DM(high: Expr, low: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.PLUS_DM, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def PPO(close: Expr, fastperiod: int = 12, slowperiod: int = 26, matype: int = 0, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.PPO, x, fastperiod, slowperiod, matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ROC(close: Expr, timeperiod: int = 10, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ROC, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ROCP(close: Expr, timeperiod: int = 10, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ROCP, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ROCR(close: Expr, timeperiod: int = 10, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ROCR, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ROCR100(close: Expr, timeperiod: int = 10, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.ROCR100, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def RSI(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.RSI, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def STOCH(high: Expr, low: Expr, close: Expr, fastk_period: int = 5, slowk_period: int = 3, slowk_matype: int = 0, slowd_period: int = 3, slowd_matype: int = 0, skip_nan=False, output_idx=None, schema=('slowk', 'slowd'), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.STOCH, x, fastk_period, slowk_period, slowk_matype, slowd_period, slowd_matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def STOCHF(high: Expr, low: Expr, close: Expr, fastk_period: int = 5, fastd_period: int = 3, fastd_matype: int = 0, skip_nan=False, output_idx=None, schema=('fastk', 'fastd'), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.STOCHF, x, fastk_period, fastd_period, fastd_matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def STOCHRSI(close: Expr, timeperiod: int = 14, fastk_period: int = 5, fastd_period: int = 3, fastd_matype: int = 0, skip_nan=False, output_idx=None, schema=('fastk', 'fastd'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.STOCHRSI, x, timeperiod, fastk_period, fastd_period, fastd_matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TRIX(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.TRIX, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ULTOSC(high: Expr, low: Expr, close: Expr, timeperiod1: int = 7, timeperiod2: int = 14, timeperiod3: int = 28, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.ULTOSC, x, timeperiod1, timeperiod2, timeperiod3, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def WILLR(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.WILLR, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def BBANDS(close: Expr, timeperiod: int = 5, nbdevup: float = 2.0, nbdevdn: float = 2.0, matype: int = 0, skip_nan=False, output_idx=None, schema=('upperband', 'middleband', 'lowerband'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.BBANDS, x, timeperiod, nbdevup, nbdevdn, matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def DEMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.DEMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def EMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.EMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def HT_TRENDLINE(close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.HT_TRENDLINE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def KAMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.KAMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MA(close: Expr, timeperiod: int = 30, matype: int = 0, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MA, x, timeperiod, matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MAMA(close: Expr, fastlimit: float = 0.5, slowlimit: float = 0.05, skip_nan=False, output_idx=None, schema=('mama', 'fama'), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_mn(_ta.MAMA, x, fastlimit, slowlimit, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MAVP(close: Expr, periods: Expr, minperiod: int = 2, maxperiod: int = 30, matype: int = 0, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(close, periods).map_batches(lambda x: func_wrap_mn(_ta.MAVP, x, minperiod, maxperiod, matype, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MIDPOINT(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.MIDPOINT, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MIDPRICE(high: Expr, low: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.MIDPRICE, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SAR(high: Expr, low: Expr, acceleration: float = 0.02, maximum: float = 0.2, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.SAR, x, acceleration, maximum, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SAREXT(high: Expr, low: Expr, startvalue: float = 0.0, offsetonreverse: float = 0.0, accelerationinitlong: float = 0.02, accelerationlong: float = 0.02, accelerationmaxlong: float = 0.2, accelerationinitshort: float = 0.02, accelerationshort: float = 0.02, accelerationmaxshort: float = 0.2, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.SAREXT, x, startvalue, offsetonreverse, accelerationinitlong, accelerationlong, accelerationmaxlong, accelerationinitshort, accelerationshort, accelerationmaxshort, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def SMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.SMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def T3(close: Expr, timeperiod: int = 5, vfactor: float = 0.7, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.T3, x, timeperiod, vfactor, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TEMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.TEMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TRIMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.TRIMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def WMA(close: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.WMA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL2CROWS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL2CROWS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL3BLACKCROWS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL3BLACKCROWS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL3INSIDE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL3INSIDE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL3LINESTRIKE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL3LINESTRIKE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL3OUTSIDE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL3OUTSIDE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL3STARSINSOUTH(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL3STARSINSOUTH, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDL3WHITESOLDIERS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDL3WHITESOLDIERS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLABANDONEDBABY(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.3, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLABANDONEDBABY, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLADVANCEBLOCK(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLADVANCEBLOCK, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLBELTHOLD(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLBELTHOLD, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLBREAKAWAY(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLBREAKAWAY, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLCLOSINGMARUBOZU(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLCLOSINGMARUBOZU, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLCONCEALBABYSWALL(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLCONCEALBABYSWALL, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLCOUNTERATTACK(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLCOUNTERATTACK, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLDARKCLOUDCOVER(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.5, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLDARKCLOUDCOVER, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLDOJI(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLDOJI, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLDOJISTAR(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLDOJISTAR, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLDRAGONFLYDOJI(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLDRAGONFLYDOJI, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLENGULFING(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLENGULFING, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLEVENINGDOJISTAR(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.3, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLEVENINGDOJISTAR, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLEVENINGSTAR(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.3, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLEVENINGSTAR, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLGAPSIDESIDEWHITE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLGAPSIDESIDEWHITE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLGRAVESTONEDOJI(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLGRAVESTONEDOJI, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHAMMER(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHAMMER, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHANGINGMAN(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHANGINGMAN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHARAMI(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHARAMI, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHARAMICROSS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHARAMICROSS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHIGHWAVE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHIGHWAVE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHIKKAKE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHIKKAKE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHIKKAKEMOD(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHIKKAKEMOD, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLHOMINGPIGEON(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLHOMINGPIGEON, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLIDENTICAL3CROWS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLIDENTICAL3CROWS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLINNECK(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLINNECK, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLINVERTEDHAMMER(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLINVERTEDHAMMER, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLKICKING(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLKICKING, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLKICKINGBYLENGTH(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLKICKINGBYLENGTH, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLLADDERBOTTOM(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLLADDERBOTTOM, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLLONGLEGGEDDOJI(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLLONGLEGGEDDOJI, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLLONGLINE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLLONGLINE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLMARUBOZU(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLMARUBOZU, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLMATCHINGLOW(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLMATCHINGLOW, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLMATHOLD(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.5, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLMATHOLD, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLMORNINGDOJISTAR(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.3, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLMORNINGDOJISTAR, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLMORNINGSTAR(open: Expr, high: Expr, low: Expr, close: Expr, penetration: float = 0.3, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLMORNINGSTAR, x, penetration, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLONNECK(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLONNECK, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLPIERCING(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLPIERCING, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLRICKSHAWMAN(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLRICKSHAWMAN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLRISEFALL3METHODS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLRISEFALL3METHODS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLSEPARATINGLINES(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLSEPARATINGLINES, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLSHOOTINGSTAR(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLSHOOTINGSTAR, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLSHORTLINE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLSHORTLINE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLSPINNINGTOP(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLSPINNINGTOP, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLSTALLEDPATTERN(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLSTALLEDPATTERN, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLSTICKSANDWICH(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLSTICKSANDWICH, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLTAKURI(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLTAKURI, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLTASUKIGAP(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLTASUKIGAP, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLTHRUSTING(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLTHRUSTING, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLTRISTAR(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLTRISTAR, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLUNIQUE3RIVER(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLUNIQUE3RIVER, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLUPSIDEGAP2CROWS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLUPSIDEGAP2CROWS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CDLXSIDEGAP3METHODS(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('integer',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.CDLXSIDEGAP3METHODS, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def AVGPRICE(open: Expr, high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(open, high, low, close).map_batches(lambda x: func_wrap_mn(_ta.AVGPRICE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def MEDPRICE(high: Expr, low: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.MEDPRICE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TYPPRICE(high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.TYPPRICE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def WCLPRICE(high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.WCLPRICE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def BETA(high: Expr, low: Expr, timeperiod: int = 5, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.BETA, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def CORREL(high: Expr, low: Expr, timeperiod: int = 30, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low).map_batches(lambda x: func_wrap_mn(_ta.CORREL, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def LINEARREG(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.LINEARREG, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def LINEARREG_ANGLE(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.LINEARREG_ANGLE, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def LINEARREG_INTERCEPT(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.LINEARREG_INTERCEPT, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def LINEARREG_SLOPE(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.LINEARREG_SLOPE, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def STDDEV(close: Expr, timeperiod: int = 5, nbdev: float = 1.0, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.STDDEV, x, timeperiod, nbdev, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TSF(close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.TSF, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def VAR(close: Expr, timeperiod: int = 5, nbdev: float = 1.0, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return close.map_batches(lambda x: func_wrap_11(_ta.VAR, x, timeperiod, nbdev, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ATR(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.ATR, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def NATR(high: Expr, low: Expr, close: Expr, timeperiod: int = 14, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.NATR, x, timeperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def TRANGE(high: Expr, low: Expr, close: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close).map_batches(lambda x: func_wrap_mn(_ta.TRANGE, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def AD(high: Expr, low: Expr, close: Expr, volume: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close, volume).map_batches(lambda x: func_wrap_mn(_ta.AD, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def ADOSC(high: Expr, low: Expr, close: Expr, volume: Expr, fastperiod: int = 3, slowperiod: int = 10, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(high, low, close, volume).map_batches(lambda x: func_wrap_mn(_ta.ADOSC, x, fastperiod, slowperiod, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))


def OBV(close: Expr, volume: Expr, skip_nan=False, output_idx=None, schema=('real',), schema_format='{}', nan_to_null=False) -> Expr:
    return struct(close, volume).map_batches(lambda x: func_wrap_mn(_ta.OBV, x, skip_nan=skip_nan, output_idx=output_idx, schema=schema, schema_format=schema_format, nan_to_null=nan_to_null))

