{"version":3,"sources":["jsdelivr-header.js","/npm/bn-talib@0.2.2/index.js"],"names":[],"mappings":"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","file":"/npm/bn-talib@0.2.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.19.2.\n * Original file: /npm/bn-talib@0.2.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\r\n * bn-talib\r\n * @description Blocnode Talib is a wrapper of talib module.\r\n *              It use the TALib Library to make Indicators creation easier.\r\n *              The classes are writen in this file with a script, this\r\n *              make future update easier.\r\n *              All class are organized in sub-namespace with \"indicator\r\n *              group\" name, ex: TALib.MomentumIndicators.MACD or\r\n *              TALib.MathOperators.ADD\r\n */\r\nmodule.exports = (function(Library = new (require('blocnode'))()) {\r\n    const TALib     = require('talib');\r\n    const namespace = 'TALib';\r\n\r\n    /**\r\n     * Talib Class Wrapper\r\n     * @description Static class that using TALib to build Indicators and bring\r\n     *              informations about TALib (functions list, group, names, ..).\r\n     */\r\n    class Talib {\r\n        static getIndicatorsList() {\r\n            return TALib.functions;\r\n        }\r\n\r\n        /**\r\n         * getIndicatorsListName\r\n         * @description return an Array containing names of all indicator sorted\r\n         *              alphabeticaly\r\n         * @returns {[]}\r\n         */\r\n        static getIndicatorsListName() {\r\n            let names = [];\r\n\r\n            for(let i in TALib.functions) {\r\n                names.push(TALib.functions[i].name);\r\n            }\r\n\r\n            names.sort();\r\n\r\n            return names;\r\n        }\r\n\r\n        /**\r\n         * getIndicatorsListGroup\r\n         * @description Return an Array of all Indicator Groups names\r\n         * @returns {[]}\r\n         */\r\n        static getIndicatorsListGroup() {\r\n            let groups = [];\r\n\r\n            for(let i in TALib.functions) {\r\n                if(!groups.find(item => item === TALib.functions[i].group)) {\r\n                    groups.push(TALib.functions[i].group);\r\n                }\r\n            }\r\n\r\n            return groups;\r\n        }\r\n\r\n        /**\r\n         * getInputParameterNameList\r\n         * @description Return an Array of all Input Parameter's name\r\n         * @returns {[]}\r\n         */\r\n        static getInputParameterNameList() {\r\n            let names = [];\r\n\r\n            for(let i in TALib.functions) {\r\n                let indicator = TALib.functions[i];\r\n                for(let j in indicator.inputs) {\r\n                    if(!names.find(item => item === indicator.inputs[j].name)) {\r\n                        names.push(indicator.inputs[j].name);\r\n                    }\r\n                }\r\n            }\r\n\r\n            return names;\r\n        }\r\n\r\n        /**\r\n         * getIndicatorByName\r\n         * @description Find an Indicator by it's name\r\n         * @param name\r\n         * @returns {{}|null}\r\n         */\r\n        static getIndicatorByName(name) {\r\n            return TALib.functions.find(item => item.name === name);\r\n        }\r\n\r\n        /**\r\n         * buildIndicator\r\n         * @description Build Configuration of an Indicator and execute it in\r\n         *              the TALib Library\r\n         * @param name\r\n         * @param inputs\r\n         * @param params\r\n         * @returns {[]}\r\n         */\r\n        static buildIndicator(name, inputs, params) {\r\n            let Configuration = {};\r\n\r\n            let indicator = this.getIndicatorByName(name);\r\n            let required  = indicator.inputs;\r\n            let optional  = indicator.optInputs;\r\n\r\n            Configuration.name     = indicator.name;\r\n            Configuration.startIdx = 0;\r\n            Configuration.endIdx   = inputs.close.length - 1;\r\n\r\n            if(Configuration.endIdx < 0) Configuration.endIdx = 0;\r\n\r\n\r\n            for(let i in required) {\r\n                switch(required[i].type) {\r\n                    case \"price\":\r\n                        for(let j in required[i].flags) {\r\n                            if(!Configuration[required[i].flags[j]]) {\r\n                                Configuration[required[i].flags[j]] = inputs[required[i].flags[j]];\r\n                            }\r\n                        }\r\n                        break;\r\n                    case \"real\":\r\n                        Configuration[required[i].name] = inputs[params[required[i].name]];\r\n                        break;\r\n                }\r\n            }\r\n\r\n            for(let i in optional) {\r\n                Configuration[optional[i].name] = params[optional[i].name] || optional[i].defaultValue;\r\n            }\r\n\r\n            return TALib.execute(Configuration);\r\n        }\r\n    }\r\n\r\n    Library.namespace(namespace).Talib = Talib;\r\n\r\n    /**\r\n     * Indicator\r\n     * @description Abstraction to extend for every Indicator\r\n     *\r\n     */\r\n    class Indicator {\r\n        /**\r\n         * constructor\r\n         * @param name\r\n         */\r\n        constructor(name) {\r\n            this.name   = name;\r\n            this.params = {};\r\n        }\r\n\r\n        /**\r\n         * get\r\n         * @param inputs\r\n         * @param params\r\n         * @returns {[]}\r\n         */\r\n        get(inputs) {\r\n            return Library.TALib.Talib.buildIndicator(this.name, inputs, this.params);\r\n        }\r\n    }\r\n\r\n    Library.namespace(namespace).Indicator = Indicator;\r\n\r\n    /**\r\n     * ADD Indicator Class\r\n     */\r\n    class ADD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Arithmetic Add\r\n         * @params inReal0\r\n         * @params inReal1\r\n         */\r\n        constructor(inReal0 = \"close\", inReal1 = \"close\") {\r\n            super(\"ADD\");\r\n            this.params.inReal0 = inReal0;\r\n            this.params.inReal1 = inReal1;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).ADD = ADD;\r\n\r\n    /**\r\n     * DIV Indicator Class\r\n     */\r\n    class DIV extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Arithmetic Div\r\n         * @params inReal0\r\n         * @params inReal1\r\n         */\r\n        constructor(inReal0 = \"close\", inReal1 = \"close\") {\r\n            super(\"DIV\");\r\n            this.params.inReal0 = inReal0;\r\n            this.params.inReal1 = inReal1;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).DIV = DIV;\r\n\r\n    /**\r\n     * MAX Indicator Class\r\n     */\r\n    class MAX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Highest value over a specified period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"MAX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MAX = MAX;\r\n\r\n    /**\r\n     * MAXINDEX Indicator Class\r\n     */\r\n    class MAXINDEX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Index of highest value over a specified period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"MAXINDEX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MAXINDEX = MAXINDEX;\r\n\r\n    /**\r\n     * MIN Indicator Class\r\n     */\r\n    class MIN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Lowest value over a specified period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"MIN\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MIN = MIN;\r\n\r\n    /**\r\n     * MININDEX Indicator Class\r\n     */\r\n    class MININDEX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Index of lowest value over a specified period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"MININDEX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MININDEX = MININDEX;\r\n\r\n    /**\r\n     * MINMAX Indicator Class\r\n     */\r\n    class MINMAX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Lowest and highest values over a specified period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"MINMAX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MINMAX = MINMAX;\r\n\r\n    /**\r\n     * MINMAXINDEX Indicator Class\r\n     */\r\n    class MINMAXINDEX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Indexes of lowest and highest values over a specified period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"MINMAXINDEX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MINMAXINDEX = MINMAXINDEX;\r\n\r\n    /**\r\n     * MULT Indicator Class\r\n     */\r\n    class MULT extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Arithmetic Mult\r\n         * @params inReal0\r\n         * @params inReal1\r\n         */\r\n        constructor(inReal0 = \"close\", inReal1 = \"close\") {\r\n            super(\"MULT\");\r\n            this.params.inReal0 = inReal0;\r\n            this.params.inReal1 = inReal1;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).MULT = MULT;\r\n\r\n    /**\r\n     * SUB Indicator Class\r\n     */\r\n    class SUB extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Arithmetic Substraction\r\n         * @params inReal0\r\n         * @params inReal1\r\n         */\r\n        constructor(inReal0 = \"close\", inReal1 = \"close\") {\r\n            super(\"SUB\");\r\n            this.params.inReal0 = inReal0;\r\n            this.params.inReal1 = inReal1;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).SUB = SUB;\r\n\r\n    /**\r\n     * SUM Indicator Class\r\n     */\r\n    class SUM extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Summation\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"SUM\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathOperators`).SUM = SUM;\r\n\r\n    /**\r\n     * ACOS Indicator Class\r\n     */\r\n    class ACOS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric ACos\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"ACOS\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).ACOS = ACOS;\r\n\r\n    /**\r\n     * ASIN Indicator Class\r\n     */\r\n    class ASIN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric ASin\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"ASIN\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).ASIN = ASIN;\r\n\r\n    /**\r\n     * ATAN Indicator Class\r\n     */\r\n    class ATAN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric ATan\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"ATAN\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).ATAN = ATAN;\r\n\r\n    /**\r\n     * CEIL Indicator Class\r\n     */\r\n    class CEIL extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Ceil\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"CEIL\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).CEIL = CEIL;\r\n\r\n    /**\r\n     * COS Indicator Class\r\n     */\r\n    class COS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric Cos\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"COS\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).COS = COS;\r\n\r\n    /**\r\n     * COSH Indicator Class\r\n     */\r\n    class COSH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric Cosh\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"COSH\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).COSH = COSH;\r\n\r\n    /**\r\n     * EXP Indicator Class\r\n     */\r\n    class EXP extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Arithmetic Exp\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"EXP\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).EXP = EXP;\r\n\r\n    /**\r\n     * FLOOR Indicator Class\r\n     */\r\n    class FLOOR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Floor\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"FLOOR\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).FLOOR = FLOOR;\r\n\r\n    /**\r\n     * LN Indicator Class\r\n     */\r\n    class LN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Log Natural\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"LN\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).LN = LN;\r\n\r\n    /**\r\n     * LOG10 Indicator Class\r\n     */\r\n    class LOG10 extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Log10\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"LOG10\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).LOG10 = LOG10;\r\n\r\n    /**\r\n     * SIN Indicator Class\r\n     */\r\n    class SIN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric Sin\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"SIN\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).SIN = SIN;\r\n\r\n    /**\r\n     * SINH Indicator Class\r\n     */\r\n    class SINH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric Sinh\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"SINH\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).SINH = SINH;\r\n\r\n    /**\r\n     * SQRT Indicator Class\r\n     */\r\n    class SQRT extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Square Root\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"SQRT\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).SQRT = SQRT;\r\n\r\n    /**\r\n     * TAN Indicator Class\r\n     */\r\n    class TAN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric Tan\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"TAN\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).TAN = TAN;\r\n\r\n    /**\r\n     * TANH Indicator Class\r\n     */\r\n    class TANH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Vector Trigonometric Tanh\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"TANH\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MathTransform`).TANH = TANH;\r\n\r\n    /**\r\n     * ACCBANDS Indicator Class\r\n     */\r\n    class ACCBANDS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Acceleration Bands\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 20, inPriceHLC = \"close\") {\r\n            super(\"ACCBANDS\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).ACCBANDS = ACCBANDS;\r\n\r\n    /**\r\n     * BBANDS Indicator Class\r\n     */\r\n    class BBANDS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Bollinger Bands\r\n         * @params optInTimePeriod\r\n         * @params optInNbDevUp\r\n         * @params optInNbDevDn\r\n         * @params optInMAType\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 5, optInNbDevUp = 2, optInNbDevDn = 2, optInMAType = 0, inReal = \"close\") {\r\n            super(\"BBANDS\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.optInNbDevUp = optInNbDevUp;\r\n            this.params.optInNbDevDn = optInNbDevDn;\r\n            this.params.optInMAType = optInMAType;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).BBANDS = BBANDS;\r\n\r\n    /**\r\n     * DEMA Indicator Class\r\n     */\r\n    class DEMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Double Exponential Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"DEMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).DEMA = DEMA;\r\n\r\n    /**\r\n     * EMA Indicator Class\r\n     */\r\n    class EMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Exponential Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"EMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).EMA = EMA;\r\n\r\n    /**\r\n     * HT_TRENDLINE Indicator Class\r\n     */\r\n    class HT_TRENDLINE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hilbert Transform - Instantaneous Trendline\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"HT_TRENDLINE\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).HT_TRENDLINE = HT_TRENDLINE;\r\n\r\n    /**\r\n     * KAMA Indicator Class\r\n     */\r\n    class KAMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Kaufman Adaptive Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"KAMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).KAMA = KAMA;\r\n\r\n    /**\r\n     * MA Indicator Class\r\n     */\r\n    class MA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Moving average\r\n         * @params optInTimePeriod\r\n         * @params optInMAType\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, optInMAType = 0, inReal = \"close\") {\r\n            super(\"MA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.optInMAType = optInMAType;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).MA = MA;\r\n\r\n    /**\r\n     * MAMA Indicator Class\r\n     */\r\n    class MAMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description MESA Adaptive Moving Average\r\n         * @params optInFastLimit\r\n         * @params optInSlowLimit\r\n         * @params inReal\r\n         */\r\n        constructor(optInFastLimit = 0.5, optInSlowLimit = 0.05, inReal = \"close\") {\r\n            super(\"MAMA\");\r\n            this.params.optInFastLimit = optInFastLimit;\r\n            this.params.optInSlowLimit = optInSlowLimit;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).MAMA = MAMA;\r\n\r\n    /**\r\n     * MAVP Indicator Class\r\n     */\r\n    class MAVP extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Moving average with variable period\r\n         * @params optInMinPeriod\r\n         * @params optInMaxPeriod\r\n         * @params optInMAType\r\n         * @params inReal\r\n         * @params inPeriods\r\n         */\r\n        constructor(optInMinPeriod = 2, optInMaxPeriod = 30, optInMAType = 0, inReal = \"close\", inPeriods = \"close\") {\r\n            super(\"MAVP\");\r\n            this.params.optInMinPeriod = optInMinPeriod;\r\n            this.params.optInMaxPeriod = optInMaxPeriod;\r\n            this.params.optInMAType = optInMAType;\r\n            this.params.inReal = inReal;\r\n            this.params.inPeriods = inPeriods;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).MAVP = MAVP;\r\n\r\n    /**\r\n     * MIDPOINT Indicator Class\r\n     */\r\n    class MIDPOINT extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description MidPoint over period\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"MIDPOINT\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).MIDPOINT = MIDPOINT;\r\n\r\n    /**\r\n     * MIDPRICE Indicator Class\r\n     */\r\n    class MIDPRICE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Midpoint Price over period\r\n         * @params optInTimePeriod\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHL = \"high\") {\r\n            super(\"MIDPRICE\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).MIDPRICE = MIDPRICE;\r\n\r\n    /**\r\n     * SAR Indicator Class\r\n     */\r\n    class SAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Parabolic SAR\r\n         * @params optInAcceleration\r\n         * @params optInMaximum\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInAcceleration = 0.02, optInMaximum = 0.2, inPriceHL = \"high\") {\r\n            super(\"SAR\");\r\n            this.params.optInAcceleration = optInAcceleration;\r\n            this.params.optInMaximum = optInMaximum;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).SAR = SAR;\r\n\r\n    /**\r\n     * SAREXT Indicator Class\r\n     */\r\n    class SAREXT extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Parabolic SAR - Extended\r\n         * @params optInStartValue\r\n         * @params optInOffsetOnReverse\r\n         * @params optInAccelerationInitLong\r\n         * @params optInAccelerationLong\r\n         * @params optInAccelerationMaxLong\r\n         * @params optInAccelerationInitShort\r\n         * @params optInAccelerationShort\r\n         * @params optInAccelerationMaxShort\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInStartValue = 0, optInOffsetOnReverse = 0, optInAccelerationInitLong = 0.02, optInAccelerationLong = 0.02, optInAccelerationMaxLong = 0.2, optInAccelerationInitShort = 0.02, optInAccelerationShort = 0.02, optInAccelerationMaxShort = 0.2, inPriceHL = \"high\") {\r\n            super(\"SAREXT\");\r\n            this.params.optInStartValue = optInStartValue;\r\n            this.params.optInOffsetOnReverse = optInOffsetOnReverse;\r\n            this.params.optInAccelerationInitLong = optInAccelerationInitLong;\r\n            this.params.optInAccelerationLong = optInAccelerationLong;\r\n            this.params.optInAccelerationMaxLong = optInAccelerationMaxLong;\r\n            this.params.optInAccelerationInitShort = optInAccelerationInitShort;\r\n            this.params.optInAccelerationShort = optInAccelerationShort;\r\n            this.params.optInAccelerationMaxShort = optInAccelerationMaxShort;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).SAREXT = SAREXT;\r\n\r\n    /**\r\n     * SMA Indicator Class\r\n     */\r\n    class SMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Simple Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"SMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).SMA = SMA;\r\n\r\n    /**\r\n     * T3 Indicator Class\r\n     */\r\n    class T3 extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Triple Exponential Moving Average (T3)\r\n         * @params optInTimePeriod\r\n         * @params optInVFactor\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 5, optInVFactor = 0.7, inReal = \"close\") {\r\n            super(\"T3\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.optInVFactor = optInVFactor;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).T3 = T3;\r\n\r\n    /**\r\n     * TEMA Indicator Class\r\n     */\r\n    class TEMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Triple Exponential Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"TEMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).TEMA = TEMA;\r\n\r\n    /**\r\n     * TRIMA Indicator Class\r\n     */\r\n    class TRIMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Triangular Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"TRIMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).TRIMA = TRIMA;\r\n\r\n    /**\r\n     * WMA Indicator Class\r\n     */\r\n    class WMA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Weighted Moving Average\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"WMA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.OverlapStudies`).WMA = WMA;\r\n\r\n    /**\r\n     * ATR Indicator Class\r\n     */\r\n    class ATR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Average True Range\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"ATR\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.VolatilityIndicators`).ATR = ATR;\r\n\r\n    /**\r\n     * NATR Indicator Class\r\n     */\r\n    class NATR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Normalized Average True Range\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"NATR\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.VolatilityIndicators`).NATR = NATR;\r\n\r\n    /**\r\n     * TRANGE Indicator Class\r\n     */\r\n    class TRANGE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description True Range\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(inPriceHLC = \"close\") {\r\n            super(\"TRANGE\");\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.VolatilityIndicators`).TRANGE = TRANGE;\r\n\r\n    /**\r\n     * ADX Indicator Class\r\n     */\r\n    class ADX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Average Directional Movement Index\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"ADX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ADX = ADX;\r\n\r\n    /**\r\n     * ADXR Indicator Class\r\n     */\r\n    class ADXR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Average Directional Movement Index Rating\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"ADXR\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ADXR = ADXR;\r\n\r\n    /**\r\n     * APO Indicator Class\r\n     */\r\n    class APO extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Absolute Price Oscillator\r\n         * @params optInFastPeriod\r\n         * @params optInSlowPeriod\r\n         * @params optInMAType\r\n         * @params inReal\r\n         */\r\n        constructor(optInFastPeriod = 12, optInSlowPeriod = 26, optInMAType = 0, inReal = \"close\") {\r\n            super(\"APO\");\r\n            this.params.optInFastPeriod = optInFastPeriod;\r\n            this.params.optInSlowPeriod = optInSlowPeriod;\r\n            this.params.optInMAType = optInMAType;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).APO = APO;\r\n\r\n    /**\r\n     * AROON Indicator Class\r\n     */\r\n    class AROON extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Aroon\r\n         * @params optInTimePeriod\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHL = \"high\") {\r\n            super(\"AROON\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).AROON = AROON;\r\n\r\n    /**\r\n     * AROONOSC Indicator Class\r\n     */\r\n    class AROONOSC extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Aroon Oscillator\r\n         * @params optInTimePeriod\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHL = \"high\") {\r\n            super(\"AROONOSC\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).AROONOSC = AROONOSC;\r\n\r\n    /**\r\n     * BOP Indicator Class\r\n     */\r\n    class BOP extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Balance Of Power\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"BOP\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).BOP = BOP;\r\n\r\n    /**\r\n     * CCI Indicator Class\r\n     */\r\n    class CCI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Commodity Channel Index\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"CCI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).CCI = CCI;\r\n\r\n    /**\r\n     * CMO Indicator Class\r\n     */\r\n    class CMO extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Chande Momentum Oscillator\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"CMO\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).CMO = CMO;\r\n\r\n    /**\r\n     * DX Indicator Class\r\n     */\r\n    class DX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Directional Movement Index\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"DX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).DX = DX;\r\n\r\n    /**\r\n     * IMI Indicator Class\r\n     */\r\n    class IMI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Intraday Momentum Index\r\n         * @params optInTimePeriod\r\n         * @params inPriceOC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceOC = \"close\") {\r\n            super(\"IMI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceOC = inPriceOC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).IMI = IMI;\r\n\r\n    /**\r\n     * MACD Indicator Class\r\n     */\r\n    class MACD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Moving Average Convergence/Divergence\r\n         * @params optInFastPeriod\r\n         * @params optInSlowPeriod\r\n         * @params optInSignalPeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInFastPeriod = 12, optInSlowPeriod = 26, optInSignalPeriod = 9, inReal = \"close\") {\r\n            super(\"MACD\");\r\n            this.params.optInFastPeriod = optInFastPeriod;\r\n            this.params.optInSlowPeriod = optInSlowPeriod;\r\n            this.params.optInSignalPeriod = optInSignalPeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MACD = MACD;\r\n\r\n    /**\r\n     * MACDEXT Indicator Class\r\n     */\r\n    class MACDEXT extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description MACD with controllable MA type\r\n         * @params optInFastPeriod\r\n         * @params optInFastMAType\r\n         * @params optInSlowPeriod\r\n         * @params optInSlowMAType\r\n         * @params optInSignalPeriod\r\n         * @params optInSignalMAType\r\n         * @params inReal\r\n         */\r\n        constructor(optInFastPeriod = 12, optInFastMAType = 0, optInSlowPeriod = 26, optInSlowMAType = 0, optInSignalPeriod = 9, optInSignalMAType = 0, inReal = \"close\") {\r\n            super(\"MACDEXT\");\r\n            this.params.optInFastPeriod = optInFastPeriod;\r\n            this.params.optInFastMAType = optInFastMAType;\r\n            this.params.optInSlowPeriod = optInSlowPeriod;\r\n            this.params.optInSlowMAType = optInSlowMAType;\r\n            this.params.optInSignalPeriod = optInSignalPeriod;\r\n            this.params.optInSignalMAType = optInSignalMAType;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MACDEXT = MACDEXT;\r\n\r\n    /**\r\n     * MACDFIX Indicator Class\r\n     */\r\n    class MACDFIX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Moving Average Convergence/Divergence Fix 12/26\r\n         * @params optInSignalPeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInSignalPeriod = 9, inReal = \"close\") {\r\n            super(\"MACDFIX\");\r\n            this.params.optInSignalPeriod = optInSignalPeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MACDFIX = MACDFIX;\r\n\r\n    /**\r\n     * MFI Indicator Class\r\n     */\r\n    class MFI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Money Flow Index\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLCV\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLCV = \"close\") {\r\n            super(\"MFI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLCV = inPriceHLCV;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MFI = MFI;\r\n\r\n    /**\r\n     * MINUS_DI Indicator Class\r\n     */\r\n    class MINUS_DI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Minus Directional Indicator\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"MINUS_DI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MINUS_DI = MINUS_DI;\r\n\r\n    /**\r\n     * MINUS_DM Indicator Class\r\n     */\r\n    class MINUS_DM extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Minus Directional Movement\r\n         * @params optInTimePeriod\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHL = \"high\") {\r\n            super(\"MINUS_DM\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MINUS_DM = MINUS_DM;\r\n\r\n    /**\r\n     * MOM Indicator Class\r\n     */\r\n    class MOM extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Momentum\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 10, inReal = \"close\") {\r\n            super(\"MOM\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).MOM = MOM;\r\n\r\n    /**\r\n     * PLUS_DI Indicator Class\r\n     */\r\n    class PLUS_DI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Plus Directional Indicator\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"PLUS_DI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).PLUS_DI = PLUS_DI;\r\n\r\n    /**\r\n     * PLUS_DM Indicator Class\r\n     */\r\n    class PLUS_DM extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Plus Directional Movement\r\n         * @params optInTimePeriod\r\n         * @params inPriceHL\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHL = \"high\") {\r\n            super(\"PLUS_DM\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).PLUS_DM = PLUS_DM;\r\n\r\n    /**\r\n     * PPO Indicator Class\r\n     */\r\n    class PPO extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Percentage Price Oscillator\r\n         * @params optInFastPeriod\r\n         * @params optInSlowPeriod\r\n         * @params optInMAType\r\n         * @params inReal\r\n         */\r\n        constructor(optInFastPeriod = 12, optInSlowPeriod = 26, optInMAType = 0, inReal = \"close\") {\r\n            super(\"PPO\");\r\n            this.params.optInFastPeriod = optInFastPeriod;\r\n            this.params.optInSlowPeriod = optInSlowPeriod;\r\n            this.params.optInMAType = optInMAType;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).PPO = PPO;\r\n\r\n    /**\r\n     * ROC Indicator Class\r\n     */\r\n    class ROC extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Rate of change : ((price/prevPrice)-1)*100\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 10, inReal = \"close\") {\r\n            super(\"ROC\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ROC = ROC;\r\n\r\n    /**\r\n     * ROCP Indicator Class\r\n     */\r\n    class ROCP extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Rate of change Percentage: (price-prevPrice)/prevPrice\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 10, inReal = \"close\") {\r\n            super(\"ROCP\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ROCP = ROCP;\r\n\r\n    /**\r\n     * ROCR Indicator Class\r\n     */\r\n    class ROCR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Rate of change ratio: (price/prevPrice)\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 10, inReal = \"close\") {\r\n            super(\"ROCR\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ROCR = ROCR;\r\n\r\n    /**\r\n     * ROCR100 Indicator Class\r\n     */\r\n    class ROCR100 extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Rate of change ratio 100 scale: (price/prevPrice)*100\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 10, inReal = \"close\") {\r\n            super(\"ROCR100\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ROCR100 = ROCR100;\r\n\r\n    /**\r\n     * RSI Indicator Class\r\n     */\r\n    class RSI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Relative Strength Index\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"RSI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).RSI = RSI;\r\n\r\n    /**\r\n     * STOCH Indicator Class\r\n     */\r\n    class STOCH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Stochastic\r\n         * @params optInFastK_Period\r\n         * @params optInSlowK_Period\r\n         * @params optInSlowK_MAType\r\n         * @params optInSlowD_Period\r\n         * @params optInSlowD_MAType\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInFastK_Period = 5, optInSlowK_Period = 3, optInSlowK_MAType = 0, optInSlowD_Period = 3, optInSlowD_MAType = 0, inPriceHLC = \"close\") {\r\n            super(\"STOCH\");\r\n            this.params.optInFastK_Period = optInFastK_Period;\r\n            this.params.optInSlowK_Period = optInSlowK_Period;\r\n            this.params.optInSlowK_MAType = optInSlowK_MAType;\r\n            this.params.optInSlowD_Period = optInSlowD_Period;\r\n            this.params.optInSlowD_MAType = optInSlowD_MAType;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).STOCH = STOCH;\r\n\r\n    /**\r\n     * STOCHF Indicator Class\r\n     */\r\n    class STOCHF extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Stochastic Fast\r\n         * @params optInFastK_Period\r\n         * @params optInFastD_Period\r\n         * @params optInFastD_MAType\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInFastK_Period = 5, optInFastD_Period = 3, optInFastD_MAType = 0, inPriceHLC = \"close\") {\r\n            super(\"STOCHF\");\r\n            this.params.optInFastK_Period = optInFastK_Period;\r\n            this.params.optInFastD_Period = optInFastD_Period;\r\n            this.params.optInFastD_MAType = optInFastD_MAType;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).STOCHF = STOCHF;\r\n\r\n    /**\r\n     * STOCHRSI Indicator Class\r\n     */\r\n    class STOCHRSI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Stochastic Relative Strength Index\r\n         * @params optInTimePeriod\r\n         * @params optInFastK_Period\r\n         * @params optInFastD_Period\r\n         * @params optInFastD_MAType\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, optInFastK_Period = 5, optInFastD_Period = 3, optInFastD_MAType = 0, inReal = \"close\") {\r\n            super(\"STOCHRSI\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.optInFastK_Period = optInFastK_Period;\r\n            this.params.optInFastD_Period = optInFastD_Period;\r\n            this.params.optInFastD_MAType = optInFastD_MAType;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).STOCHRSI = STOCHRSI;\r\n\r\n    /**\r\n     * TRIX Indicator Class\r\n     */\r\n    class TRIX extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal = \"close\") {\r\n            super(\"TRIX\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).TRIX = TRIX;\r\n\r\n    /**\r\n     * ULTOSC Indicator Class\r\n     */\r\n    class ULTOSC extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Ultimate Oscillator\r\n         * @params optInTimePeriod1\r\n         * @params optInTimePeriod2\r\n         * @params optInTimePeriod3\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod1 = 7, optInTimePeriod2 = 14, optInTimePeriod3 = 28, inPriceHLC = \"close\") {\r\n            super(\"ULTOSC\");\r\n            this.params.optInTimePeriod1 = optInTimePeriod1;\r\n            this.params.optInTimePeriod2 = optInTimePeriod2;\r\n            this.params.optInTimePeriod3 = optInTimePeriod3;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).ULTOSC = ULTOSC;\r\n\r\n    /**\r\n     * WILLR Indicator Class\r\n     */\r\n    class WILLR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Williams' %R\r\n         * @params optInTimePeriod\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(optInTimePeriod = 14, inPriceHLC = \"close\") {\r\n            super(\"WILLR\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.MomentumIndicators`).WILLR = WILLR;\r\n\r\n    /**\r\n     * HT_DCPERIOD Indicator Class\r\n     */\r\n    class HT_DCPERIOD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hilbert Transform - Dominant Cycle Period\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"HT_DCPERIOD\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.CycleIndicators`).HT_DCPERIOD = HT_DCPERIOD;\r\n\r\n    /**\r\n     * HT_DCPHASE Indicator Class\r\n     */\r\n    class HT_DCPHASE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hilbert Transform - Dominant Cycle Phase\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"HT_DCPHASE\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.CycleIndicators`).HT_DCPHASE = HT_DCPHASE;\r\n\r\n    /**\r\n     * HT_PHASOR Indicator Class\r\n     */\r\n    class HT_PHASOR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hilbert Transform - Phasor Components\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"HT_PHASOR\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.CycleIndicators`).HT_PHASOR = HT_PHASOR;\r\n\r\n    /**\r\n     * HT_SINE Indicator Class\r\n     */\r\n    class HT_SINE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hilbert Transform - SineWave\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"HT_SINE\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.CycleIndicators`).HT_SINE = HT_SINE;\r\n\r\n    /**\r\n     * HT_TRENDMODE Indicator Class\r\n     */\r\n    class HT_TRENDMODE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hilbert Transform - Trend vs Cycle Mode\r\n         * @params inReal\r\n         */\r\n        constructor(inReal = \"close\") {\r\n            super(\"HT_TRENDMODE\");\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.CycleIndicators`).HT_TRENDMODE = HT_TRENDMODE;\r\n\r\n    /**\r\n     * AD Indicator Class\r\n     */\r\n    class AD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Chaikin A/D Line\r\n         * @params inPriceHLCV\r\n         */\r\n        constructor(inPriceHLCV = \"close\") {\r\n            super(\"AD\");\r\n            this.params.inPriceHLCV = inPriceHLCV;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.VolumeIndicators`).AD = AD;\r\n\r\n    /**\r\n     * ADOSC Indicator Class\r\n     */\r\n    class ADOSC extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Chaikin A/D Oscillator\r\n         * @params optInFastPeriod\r\n         * @params optInSlowPeriod\r\n         * @params inPriceHLCV\r\n         */\r\n        constructor(optInFastPeriod = 3, optInSlowPeriod = 10, inPriceHLCV = \"close\") {\r\n            super(\"ADOSC\");\r\n            this.params.optInFastPeriod = optInFastPeriod;\r\n            this.params.optInSlowPeriod = optInSlowPeriod;\r\n            this.params.inPriceHLCV = inPriceHLCV;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.VolumeIndicators`).ADOSC = ADOSC;\r\n\r\n    /**\r\n     * OBV Indicator Class\r\n     */\r\n    class OBV extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description On Balance Volume\r\n         * @params inReal\r\n         * @params inPriceV\r\n         */\r\n        constructor(inReal = \"close\", inPriceV = \"volume\") {\r\n            super(\"OBV\");\r\n            this.params.inReal = inReal;\r\n            this.params.inPriceV = inPriceV;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.VolumeIndicators`).OBV = OBV;\r\n\r\n    /**\r\n     * CDL2CROWS Indicator Class\r\n     */\r\n    class CDL2CROWS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Two Crows\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL2CROWS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL2CROWS = CDL2CROWS;\r\n\r\n    /**\r\n     * CDL3BLACKCROWS Indicator Class\r\n     */\r\n    class CDL3BLACKCROWS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Three Black Crows\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL3BLACKCROWS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL3BLACKCROWS = CDL3BLACKCROWS;\r\n\r\n    /**\r\n     * CDL3INSIDE Indicator Class\r\n     */\r\n    class CDL3INSIDE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Three Inside Up/Down\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL3INSIDE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL3INSIDE = CDL3INSIDE;\r\n\r\n    /**\r\n     * CDL3LINESTRIKE Indicator Class\r\n     */\r\n    class CDL3LINESTRIKE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Three-Line Strike\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL3LINESTRIKE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL3LINESTRIKE = CDL3LINESTRIKE;\r\n\r\n    /**\r\n     * CDL3OUTSIDE Indicator Class\r\n     */\r\n    class CDL3OUTSIDE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Three Outside Up/Down\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL3OUTSIDE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL3OUTSIDE = CDL3OUTSIDE;\r\n\r\n    /**\r\n     * CDL3STARSINSOUTH Indicator Class\r\n     */\r\n    class CDL3STARSINSOUTH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Three Stars In The South\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL3STARSINSOUTH\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL3STARSINSOUTH = CDL3STARSINSOUTH;\r\n\r\n    /**\r\n     * CDL3WHITESOLDIERS Indicator Class\r\n     */\r\n    class CDL3WHITESOLDIERS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Three Advancing White Soldiers\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDL3WHITESOLDIERS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDL3WHITESOLDIERS = CDL3WHITESOLDIERS;\r\n\r\n    /**\r\n     * CDLABANDONEDBABY Indicator Class\r\n     */\r\n    class CDLABANDONEDBABY extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Abandoned Baby\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.3, inPriceOHLC = \"close\") {\r\n            super(\"CDLABANDONEDBABY\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLABANDONEDBABY = CDLABANDONEDBABY;\r\n\r\n    /**\r\n     * CDLADVANCEBLOCK Indicator Class\r\n     */\r\n    class CDLADVANCEBLOCK extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Advance Block\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLADVANCEBLOCK\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLADVANCEBLOCK = CDLADVANCEBLOCK;\r\n\r\n    /**\r\n     * CDLBELTHOLD Indicator Class\r\n     */\r\n    class CDLBELTHOLD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Belt-hold\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLBELTHOLD\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLBELTHOLD = CDLBELTHOLD;\r\n\r\n    /**\r\n     * CDLBREAKAWAY Indicator Class\r\n     */\r\n    class CDLBREAKAWAY extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Breakaway\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLBREAKAWAY\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLBREAKAWAY = CDLBREAKAWAY;\r\n\r\n    /**\r\n     * CDLCLOSINGMARUBOZU Indicator Class\r\n     */\r\n    class CDLCLOSINGMARUBOZU extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Closing Marubozu\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLCLOSINGMARUBOZU\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLCLOSINGMARUBOZU = CDLCLOSINGMARUBOZU;\r\n\r\n    /**\r\n     * CDLCONCEALBABYSWALL Indicator Class\r\n     */\r\n    class CDLCONCEALBABYSWALL extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Concealing Baby Swallow\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLCONCEALBABYSWALL\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLCONCEALBABYSWALL = CDLCONCEALBABYSWALL;\r\n\r\n    /**\r\n     * CDLCOUNTERATTACK Indicator Class\r\n     */\r\n    class CDLCOUNTERATTACK extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Counterattack\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLCOUNTERATTACK\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLCOUNTERATTACK = CDLCOUNTERATTACK;\r\n\r\n    /**\r\n     * CDLDARKCLOUDCOVER Indicator Class\r\n     */\r\n    class CDLDARKCLOUDCOVER extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Dark Cloud Cover\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.5, inPriceOHLC = \"close\") {\r\n            super(\"CDLDARKCLOUDCOVER\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLDARKCLOUDCOVER = CDLDARKCLOUDCOVER;\r\n\r\n    /**\r\n     * CDLDOJI Indicator Class\r\n     */\r\n    class CDLDOJI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Doji\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLDOJI\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLDOJI = CDLDOJI;\r\n\r\n    /**\r\n     * CDLDOJISTAR Indicator Class\r\n     */\r\n    class CDLDOJISTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Doji Star\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLDOJISTAR\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLDOJISTAR = CDLDOJISTAR;\r\n\r\n    /**\r\n     * CDLDRAGONFLYDOJI Indicator Class\r\n     */\r\n    class CDLDRAGONFLYDOJI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Dragonfly Doji\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLDRAGONFLYDOJI\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLDRAGONFLYDOJI = CDLDRAGONFLYDOJI;\r\n\r\n    /**\r\n     * CDLENGULFING Indicator Class\r\n     */\r\n    class CDLENGULFING extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Engulfing Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLENGULFING\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLENGULFING = CDLENGULFING;\r\n\r\n    /**\r\n     * CDLEVENINGDOJISTAR Indicator Class\r\n     */\r\n    class CDLEVENINGDOJISTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Evening Doji Star\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.3, inPriceOHLC = \"close\") {\r\n            super(\"CDLEVENINGDOJISTAR\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLEVENINGDOJISTAR = CDLEVENINGDOJISTAR;\r\n\r\n    /**\r\n     * CDLEVENINGSTAR Indicator Class\r\n     */\r\n    class CDLEVENINGSTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Evening Star\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.3, inPriceOHLC = \"close\") {\r\n            super(\"CDLEVENINGSTAR\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLEVENINGSTAR = CDLEVENINGSTAR;\r\n\r\n    /**\r\n     * CDLGAPSIDESIDEWHITE Indicator Class\r\n     */\r\n    class CDLGAPSIDESIDEWHITE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Up/Down-gap side-by-side white lines\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLGAPSIDESIDEWHITE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLGAPSIDESIDEWHITE = CDLGAPSIDESIDEWHITE;\r\n\r\n    /**\r\n     * CDLGRAVESTONEDOJI Indicator Class\r\n     */\r\n    class CDLGRAVESTONEDOJI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Gravestone Doji\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLGRAVESTONEDOJI\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLGRAVESTONEDOJI = CDLGRAVESTONEDOJI;\r\n\r\n    /**\r\n     * CDLHAMMER Indicator Class\r\n     */\r\n    class CDLHAMMER extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hammer\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHAMMER\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHAMMER = CDLHAMMER;\r\n\r\n    /**\r\n     * CDLHANGINGMAN Indicator Class\r\n     */\r\n    class CDLHANGINGMAN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hanging Man\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHANGINGMAN\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHANGINGMAN = CDLHANGINGMAN;\r\n\r\n    /**\r\n     * CDLHARAMI Indicator Class\r\n     */\r\n    class CDLHARAMI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Harami Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHARAMI\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHARAMI = CDLHARAMI;\r\n\r\n    /**\r\n     * CDLHARAMICROSS Indicator Class\r\n     */\r\n    class CDLHARAMICROSS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Harami Cross Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHARAMICROSS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHARAMICROSS = CDLHARAMICROSS;\r\n\r\n    /**\r\n     * CDLHIGHWAVE Indicator Class\r\n     */\r\n    class CDLHIGHWAVE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description High-Wave Candle\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHIGHWAVE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHIGHWAVE = CDLHIGHWAVE;\r\n\r\n    /**\r\n     * CDLHIKKAKE Indicator Class\r\n     */\r\n    class CDLHIKKAKE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Hikkake Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHIKKAKE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHIKKAKE = CDLHIKKAKE;\r\n\r\n    /**\r\n     * CDLHIKKAKEMOD Indicator Class\r\n     */\r\n    class CDLHIKKAKEMOD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Modified Hikkake Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHIKKAKEMOD\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHIKKAKEMOD = CDLHIKKAKEMOD;\r\n\r\n    /**\r\n     * CDLHOMINGPIGEON Indicator Class\r\n     */\r\n    class CDLHOMINGPIGEON extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Homing Pigeon\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLHOMINGPIGEON\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLHOMINGPIGEON = CDLHOMINGPIGEON;\r\n\r\n    /**\r\n     * CDLIDENTICAL3CROWS Indicator Class\r\n     */\r\n    class CDLIDENTICAL3CROWS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Identical Three Crows\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLIDENTICAL3CROWS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLIDENTICAL3CROWS = CDLIDENTICAL3CROWS;\r\n\r\n    /**\r\n     * CDLINNECK Indicator Class\r\n     */\r\n    class CDLINNECK extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description In-Neck Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLINNECK\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLINNECK = CDLINNECK;\r\n\r\n    /**\r\n     * CDLINVERTEDHAMMER Indicator Class\r\n     */\r\n    class CDLINVERTEDHAMMER extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Inverted Hammer\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLINVERTEDHAMMER\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLINVERTEDHAMMER = CDLINVERTEDHAMMER;\r\n\r\n    /**\r\n     * CDLKICKING Indicator Class\r\n     */\r\n    class CDLKICKING extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Kicking\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLKICKING\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLKICKING = CDLKICKING;\r\n\r\n    /**\r\n     * CDLKICKINGBYLENGTH Indicator Class\r\n     */\r\n    class CDLKICKINGBYLENGTH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Kicking - bull/bear determined by the longer marubozu\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLKICKINGBYLENGTH\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLKICKINGBYLENGTH = CDLKICKINGBYLENGTH;\r\n\r\n    /**\r\n     * CDLLADDERBOTTOM Indicator Class\r\n     */\r\n    class CDLLADDERBOTTOM extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Ladder Bottom\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLLADDERBOTTOM\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLLADDERBOTTOM = CDLLADDERBOTTOM;\r\n\r\n    /**\r\n     * CDLLONGLEGGEDDOJI Indicator Class\r\n     */\r\n    class CDLLONGLEGGEDDOJI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Long Legged Doji\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLLONGLEGGEDDOJI\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLLONGLEGGEDDOJI = CDLLONGLEGGEDDOJI;\r\n\r\n    /**\r\n     * CDLLONGLINE Indicator Class\r\n     */\r\n    class CDLLONGLINE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Long Line Candle\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLLONGLINE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLLONGLINE = CDLLONGLINE;\r\n\r\n    /**\r\n     * CDLMARUBOZU Indicator Class\r\n     */\r\n    class CDLMARUBOZU extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Marubozu\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLMARUBOZU\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLMARUBOZU = CDLMARUBOZU;\r\n\r\n    /**\r\n     * CDLMATCHINGLOW Indicator Class\r\n     */\r\n    class CDLMATCHINGLOW extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Matching Low\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLMATCHINGLOW\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLMATCHINGLOW = CDLMATCHINGLOW;\r\n\r\n    /**\r\n     * CDLMATHOLD Indicator Class\r\n     */\r\n    class CDLMATHOLD extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Mat Hold\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.5, inPriceOHLC = \"close\") {\r\n            super(\"CDLMATHOLD\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLMATHOLD = CDLMATHOLD;\r\n\r\n    /**\r\n     * CDLMORNINGDOJISTAR Indicator Class\r\n     */\r\n    class CDLMORNINGDOJISTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Morning Doji Star\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.3, inPriceOHLC = \"close\") {\r\n            super(\"CDLMORNINGDOJISTAR\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLMORNINGDOJISTAR = CDLMORNINGDOJISTAR;\r\n\r\n    /**\r\n     * CDLMORNINGSTAR Indicator Class\r\n     */\r\n    class CDLMORNINGSTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Morning Star\r\n         * @params optInPenetration\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(optInPenetration = 0.3, inPriceOHLC = \"close\") {\r\n            super(\"CDLMORNINGSTAR\");\r\n            this.params.optInPenetration = optInPenetration;\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLMORNINGSTAR = CDLMORNINGSTAR;\r\n\r\n    /**\r\n     * CDLONNECK Indicator Class\r\n     */\r\n    class CDLONNECK extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description On-Neck Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLONNECK\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLONNECK = CDLONNECK;\r\n\r\n    /**\r\n     * CDLPIERCING Indicator Class\r\n     */\r\n    class CDLPIERCING extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Piercing Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLPIERCING\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLPIERCING = CDLPIERCING;\r\n\r\n    /**\r\n     * CDLRICKSHAWMAN Indicator Class\r\n     */\r\n    class CDLRICKSHAWMAN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Rickshaw Man\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLRICKSHAWMAN\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLRICKSHAWMAN = CDLRICKSHAWMAN;\r\n\r\n    /**\r\n     * CDLRISEFALL3METHODS Indicator Class\r\n     */\r\n    class CDLRISEFALL3METHODS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Rising/Falling Three Methods\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLRISEFALL3METHODS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLRISEFALL3METHODS = CDLRISEFALL3METHODS;\r\n\r\n    /**\r\n     * CDLSEPARATINGLINES Indicator Class\r\n     */\r\n    class CDLSEPARATINGLINES extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Separating Lines\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLSEPARATINGLINES\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLSEPARATINGLINES = CDLSEPARATINGLINES;\r\n\r\n    /**\r\n     * CDLSHOOTINGSTAR Indicator Class\r\n     */\r\n    class CDLSHOOTINGSTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Shooting Star\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLSHOOTINGSTAR\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLSHOOTINGSTAR = CDLSHOOTINGSTAR;\r\n\r\n    /**\r\n     * CDLSHORTLINE Indicator Class\r\n     */\r\n    class CDLSHORTLINE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Short Line Candle\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLSHORTLINE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLSHORTLINE = CDLSHORTLINE;\r\n\r\n    /**\r\n     * CDLSPINNINGTOP Indicator Class\r\n     */\r\n    class CDLSPINNINGTOP extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Spinning Top\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLSPINNINGTOP\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLSPINNINGTOP = CDLSPINNINGTOP;\r\n\r\n    /**\r\n     * CDLSTALLEDPATTERN Indicator Class\r\n     */\r\n    class CDLSTALLEDPATTERN extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Stalled Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLSTALLEDPATTERN\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLSTALLEDPATTERN = CDLSTALLEDPATTERN;\r\n\r\n    /**\r\n     * CDLSTICKSANDWICH Indicator Class\r\n     */\r\n    class CDLSTICKSANDWICH extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Stick Sandwich\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLSTICKSANDWICH\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLSTICKSANDWICH = CDLSTICKSANDWICH;\r\n\r\n    /**\r\n     * CDLTAKURI Indicator Class\r\n     */\r\n    class CDLTAKURI extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Takuri (Dragonfly Doji with very long lower shadow)\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLTAKURI\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLTAKURI = CDLTAKURI;\r\n\r\n    /**\r\n     * CDLTASUKIGAP Indicator Class\r\n     */\r\n    class CDLTASUKIGAP extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Tasuki Gap\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLTASUKIGAP\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLTASUKIGAP = CDLTASUKIGAP;\r\n\r\n    /**\r\n     * CDLTHRUSTING Indicator Class\r\n     */\r\n    class CDLTHRUSTING extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Thrusting Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLTHRUSTING\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLTHRUSTING = CDLTHRUSTING;\r\n\r\n    /**\r\n     * CDLTRISTAR Indicator Class\r\n     */\r\n    class CDLTRISTAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Tristar Pattern\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLTRISTAR\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLTRISTAR = CDLTRISTAR;\r\n\r\n    /**\r\n     * CDLUNIQUE3RIVER Indicator Class\r\n     */\r\n    class CDLUNIQUE3RIVER extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Unique 3 River\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLUNIQUE3RIVER\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLUNIQUE3RIVER = CDLUNIQUE3RIVER;\r\n\r\n    /**\r\n     * CDLUPSIDEGAP2CROWS Indicator Class\r\n     */\r\n    class CDLUPSIDEGAP2CROWS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Upside Gap Two Crows\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLUPSIDEGAP2CROWS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLUPSIDEGAP2CROWS = CDLUPSIDEGAP2CROWS;\r\n\r\n    /**\r\n     * CDLXSIDEGAP3METHODS Indicator Class\r\n     */\r\n    class CDLXSIDEGAP3METHODS extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Upside/Downside Gap Three Methods\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"CDLXSIDEGAP3METHODS\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PatternRecognition`).CDLXSIDEGAP3METHODS = CDLXSIDEGAP3METHODS;\r\n\r\n    /**\r\n     * BETA Indicator Class\r\n     */\r\n    class BETA extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Beta\r\n         * @params optInTimePeriod\r\n         * @params inReal0\r\n         * @params inReal1\r\n         */\r\n        constructor(optInTimePeriod = 5, inReal0 = \"close\", inReal1 = \"close\") {\r\n            super(\"BETA\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal0 = inReal0;\r\n            this.params.inReal1 = inReal1;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).BETA = BETA;\r\n\r\n    /**\r\n     * CORREL Indicator Class\r\n     */\r\n    class CORREL extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Pearson's Correlation Coefficient (r)\r\n         * @params optInTimePeriod\r\n         * @params inReal0\r\n         * @params inReal1\r\n         */\r\n        constructor(optInTimePeriod = 30, inReal0 = \"close\", inReal1 = \"close\") {\r\n            super(\"CORREL\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal0 = inReal0;\r\n            this.params.inReal1 = inReal1;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).CORREL = CORREL;\r\n\r\n    /**\r\n     * LINEARREG Indicator Class\r\n     */\r\n    class LINEARREG extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Linear Regression\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"LINEARREG\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).LINEARREG = LINEARREG;\r\n\r\n    /**\r\n     * LINEARREG_ANGLE Indicator Class\r\n     */\r\n    class LINEARREG_ANGLE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Linear Regression Angle\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"LINEARREG_ANGLE\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).LINEARREG_ANGLE = LINEARREG_ANGLE;\r\n\r\n    /**\r\n     * LINEARREG_INTERCEPT Indicator Class\r\n     */\r\n    class LINEARREG_INTERCEPT extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Linear Regression Intercept\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"LINEARREG_INTERCEPT\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).LINEARREG_INTERCEPT = LINEARREG_INTERCEPT;\r\n\r\n    /**\r\n     * LINEARREG_SLOPE Indicator Class\r\n     */\r\n    class LINEARREG_SLOPE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Linear Regression Slope\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"LINEARREG_SLOPE\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).LINEARREG_SLOPE = LINEARREG_SLOPE;\r\n\r\n    /**\r\n     * STDDEV Indicator Class\r\n     */\r\n    class STDDEV extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Standard Deviation\r\n         * @params optInTimePeriod\r\n         * @params optInNbDev\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 5, optInNbDev = 1, inReal = \"close\") {\r\n            super(\"STDDEV\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.optInNbDev = optInNbDev;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).STDDEV = STDDEV;\r\n\r\n    /**\r\n     * TSF Indicator Class\r\n     */\r\n    class TSF extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Time Series Forecast\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"TSF\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).TSF = TSF;\r\n\r\n    /**\r\n     * VAR Indicator Class\r\n     */\r\n    class VAR extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Variance\r\n         * @params optInTimePeriod\r\n         * @params optInNbDev\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 5, optInNbDev = 1, inReal = \"close\") {\r\n            super(\"VAR\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.optInNbDev = optInNbDev;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.StatisticFunctions`).VAR = VAR;\r\n\r\n    /**\r\n     * AVGPRICE Indicator Class\r\n     */\r\n    class AVGPRICE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Average Price\r\n         * @params inPriceOHLC\r\n         */\r\n        constructor(inPriceOHLC = \"close\") {\r\n            super(\"AVGPRICE\");\r\n            this.params.inPriceOHLC = inPriceOHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PriceTransform`).AVGPRICE = AVGPRICE;\r\n\r\n    /**\r\n     * AVGDEV Indicator Class\r\n     */\r\n    class AVGDEV extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Average Deviation\r\n         * @params optInTimePeriod\r\n         * @params inReal\r\n         */\r\n        constructor(optInTimePeriod = 14, inReal = \"close\") {\r\n            super(\"AVGDEV\");\r\n            this.params.optInTimePeriod = optInTimePeriod;\r\n            this.params.inReal = inReal;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PriceTransform`).AVGDEV = AVGDEV;\r\n\r\n    /**\r\n     * MEDPRICE Indicator Class\r\n     */\r\n    class MEDPRICE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Median Price\r\n         * @params inPriceHL\r\n         */\r\n        constructor(inPriceHL = \"high\") {\r\n            super(\"MEDPRICE\");\r\n            this.params.inPriceHL = inPriceHL;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PriceTransform`).MEDPRICE = MEDPRICE;\r\n\r\n    /**\r\n     * TYPPRICE Indicator Class\r\n     */\r\n    class TYPPRICE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Typical Price\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(inPriceHLC = \"close\") {\r\n            super(\"TYPPRICE\");\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PriceTransform`).TYPPRICE = TYPPRICE;\r\n\r\n    /**\r\n     * WCLPRICE Indicator Class\r\n     */\r\n    class WCLPRICE extends Indicator {\r\n        /**\r\n         * constructor\r\n         * @description Weighted Close Price\r\n         * @params inPriceHLC\r\n         */\r\n        constructor(inPriceHLC = \"close\") {\r\n            super(\"WCLPRICE\");\r\n            this.params.inPriceHLC = inPriceHLC;\r\n        }\r\n    }\r\n\r\n    Library.namespace(`${namespace}.PriceTransform`).WCLPRICE = WCLPRICE;\r\n\r\n    // TODO: All list of TALib Indicators\r\n    return Library;\r\n});"]}