Hacked By AnonymousFox
{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highstock JS v12.1.2 (2025-01-09)\n * @module highcharts/indicators/indicators\n * @requires highcharts\n * @requires highcharts/modules/stock\n *\n * Indicator series type for Highcharts Stock\n *\n * (c) 2010-2024 Pawel Fus, Sebastian Bochan\n *\n * License: www.highcharts.com/license\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"highcharts\"), require(\"highcharts\")[\"Chart\"], require(\"highcharts\")[\"SeriesRegistry\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/indicators/indicators\", [[\"highcharts/highcharts\"], [\"highcharts/highcharts\",\"Chart\"], [\"highcharts/highcharts\",\"SeriesRegistry\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/indicators/indicators\"] = factory(require(\"highcharts\"), require(\"highcharts\")[\"Chart\"], require(\"highcharts\")[\"SeriesRegistry\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"Chart\"], root[\"Highcharts\"][\"SeriesRegistry\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__960__, __WEBPACK_EXTERNAL_MODULE__512__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 960:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__960__;\n\n/***/ }),\n\n/***/ 512:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__512__;\n\n/***/ }),\n\n/***/ 944:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__944__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ indicators_src; }\n});\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\"],\"commonjs\":[\"highcharts\"],\"commonjs2\":[\"highcharts\"],\"root\":[\"Highcharts\"]}\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_ = __webpack_require__(944);\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default = /*#__PURE__*/__webpack_require__.n(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"Chart\"],\"commonjs\":[\"highcharts\",\"Chart\"],\"commonjs2\":[\"highcharts\",\"Chart\"],\"root\":[\"Highcharts\",\"Chart\"]}\nvar highcharts_Chart_commonjs_highcharts_Chart_commonjs2_highcharts_Chart_root_Highcharts_Chart_ = __webpack_require__(960);\nvar highcharts_Chart_commonjs_highcharts_Chart_commonjs2_highcharts_Chart_root_Highcharts_Chart_default = /*#__PURE__*/__webpack_require__.n(highcharts_Chart_commonjs_highcharts_Chart_commonjs2_highcharts_Chart_root_Highcharts_Chart_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SeriesRegistry\"],\"commonjs\":[\"highcharts\",\"SeriesRegistry\"],\"commonjs2\":[\"highcharts\",\"SeriesRegistry\"],\"root\":[\"Highcharts\",\"SeriesRegistry\"]}\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_ = __webpack_require__(512);\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default = /*#__PURE__*/__webpack_require__.n(highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_);\n;// ./code/es5/es-modules/Stock/Indicators/SMA/SMAIndicator.js\n/* *\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n\n\nvar LineSeries = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.line;\n\nvar addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent, error = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).error, extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, isArray = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isArray, merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/**\n *\n * Return the parent series values in the legacy two-dimensional yData\n * format\n * @private\n */\nvar tableToMultiYData = function (series, processed) {\n var yData = [],\n pointArrayMap = series.pointArrayMap,\n table = processed && series.dataTable.modified || series.dataTable;\n if (!pointArrayMap) {\n return series.getColumn('y', processed);\n }\n var columns = pointArrayMap.map(function (key) {\n return series.getColumn(key,\n processed);\n });\n var _loop_1 = function (i) {\n var values = pointArrayMap.map(function (key,\n colIndex) { var _a; return ((_a = columns[colIndex]) === null || _a === void 0 ? void 0 : _a[i]) || 0; });\n yData.push(values);\n };\n for (var i = 0; i < table.rowCount; i++) {\n _loop_1(i);\n }\n return yData;\n};\n/* *\n *\n * Class\n *\n * */\n/**\n * The SMA series type.\n *\n * @private\n */\nvar SMAIndicator = /** @class */ (function (_super) {\n __extends(SMAIndicator, _super);\n function SMAIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * @private\n */\n SMAIndicator.prototype.destroy = function () {\n this.dataEventsToUnbind.forEach(function (unbinder) {\n unbinder();\n });\n _super.prototype.destroy.apply(this, arguments);\n };\n /**\n * @private\n */\n SMAIndicator.prototype.getName = function () {\n var params = [];\n var name = this.name;\n if (!name) {\n (this.nameComponents || []).forEach(function (component, index) {\n params.push(this.options.params[component] +\n pick(this.nameSuffixes[index], ''));\n }, this);\n name = (this.nameBase || this.type.toUpperCase()) +\n (this.nameComponents ? ' (' + params.join(', ') + ')' : '');\n }\n return name;\n };\n /**\n * @private\n */\n SMAIndicator.prototype.getValues = function (series, params) {\n var period = params.period,\n xVal = series.xData || [],\n yVal = series.yData,\n yValLen = yVal.length,\n SMA = [],\n xData = [],\n yData = [];\n var i,\n index = -1,\n range = 0,\n SMAPoint,\n sum = 0;\n if (xVal.length < period) {\n return;\n }\n // Switch index for OHLC / Candlestick / Arearange\n if (isArray(yVal[0])) {\n index = params.index ? params.index : 0;\n }\n // Accumulate first N-points\n while (range < period - 1) {\n sum += index < 0 ? yVal[range] : yVal[range][index];\n range++;\n }\n // Calculate value one-by-one for each period in visible data\n for (i = range; i < yValLen; i++) {\n sum += index < 0 ? yVal[i] : yVal[i][index];\n SMAPoint = [xVal[i], sum / period];\n SMA.push(SMAPoint);\n xData.push(SMAPoint[0]);\n yData.push(SMAPoint[1]);\n sum -= (index < 0 ?\n yVal[i - range] :\n yVal[i - range][index]);\n }\n return {\n values: SMA,\n xData: xData,\n yData: yData\n };\n };\n /**\n * @private\n */\n SMAIndicator.prototype.init = function (chart, options) {\n var indicator = this;\n _super.prototype.init.call(indicator, chart, options);\n // Only after series are linked indicator can be processed.\n var linkedSeriesUnbiner = addEvent((highcharts_Chart_commonjs_highcharts_Chart_commonjs2_highcharts_Chart_root_Highcharts_Chart_default()), 'afterLinkSeries',\n function (_a) {\n var isUpdating = _a.isUpdating;\n // #18643 indicator shouldn't recalculate\n // values while series updating.\n if (isUpdating) {\n return;\n }\n var hasEvents = !!indicator.dataEventsToUnbind.length;\n if (indicator.linkedParent) {\n if (!hasEvents) {\n // No matter which indicator, always recalculate after\n // updating the data.\n indicator.dataEventsToUnbind.push(addEvent(indicator.linkedParent, 'updatedData', function () {\n indicator.recalculateValues();\n }));\n // Some indicators (like VBP) requires an additional\n // event (afterSetExtremes) to properly show the data.\n if (indicator.calculateOn.xAxis) {\n indicator.dataEventsToUnbind.push(addEvent(indicator.linkedParent.xAxis, indicator.calculateOn.xAxis, function () {\n indicator.recalculateValues();\n }));\n }\n }\n // Most indicators are being calculated on chart's init.\n if (indicator.calculateOn.chart === 'init') {\n // When closestPointRange is set, it is an indication\n // that `Series.processData` has run. If it hasn't we\n // need to `recalculateValues`.\n if (!indicator.closestPointRange) {\n indicator.recalculateValues();\n }\n }\n else if (!hasEvents) {\n // Some indicators (like VBP) has to recalculate their\n // values after other chart's events (render).\n var unbinder_1 = addEvent(indicator.chart,\n indicator.calculateOn.chart,\n function () {\n indicator.recalculateValues();\n // Call this just once.\n unbinder_1();\n });\n }\n }\n else {\n return error('Series ' +\n indicator.options.linkedTo +\n ' not found! Check `linkedTo`.', false, chart);\n }\n }, {\n order: 0\n });\n // Make sure we find series which is a base for an indicator\n // chart.linkSeries();\n indicator.dataEventsToUnbind = [];\n indicator.eventsToUnbind.push(linkedSeriesUnbiner);\n };\n /**\n * @private\n */\n SMAIndicator.prototype.recalculateValues = function () {\n var _this = this;\n var _a;\n var croppedDataValues = [],\n indicator = this,\n table = this.dataTable,\n oldData = indicator.points || [],\n oldDataLength = indicator.dataTable.rowCount,\n emptySet = {\n values: [],\n xData: [],\n yData: []\n };\n var overwriteData = true,\n oldFirstPointIndex,\n oldLastPointIndex,\n min,\n max;\n // For the newer data table, temporarily set the parent series `yData`\n // to the legacy format that is documented for custom indicators, and\n // get the xData from the data table\n var yData = indicator.linkedParent.yData,\n processedYData = indicator.linkedParent.processedYData;\n indicator.linkedParent.xData = indicator.linkedParent\n .getColumn('x');\n indicator.linkedParent.yData = tableToMultiYData(indicator.linkedParent);\n indicator.linkedParent.processedYData = tableToMultiYData(indicator.linkedParent, true);\n // Updating an indicator with redraw=false may destroy data.\n // If there will be a following update for the parent series,\n // we will try to access Series object without any properties\n // (except for prototyped ones). This is what happens\n // for example when using Axis.setDataGrouping(). See #16670\n var processedData = indicator.linkedParent.options &&\n // #18176, #18177 indicators should work with empty dataset\n indicator.linkedParent.dataTable.rowCount ?\n (indicator.getValues(indicator.linkedParent,\n indicator.options.params) || emptySet) : emptySet;\n // Reset\n delete indicator.linkedParent.xData;\n indicator.linkedParent.yData = yData;\n indicator.linkedParent.processedYData = processedYData;\n var pointArrayMap = indicator.pointArrayMap || ['y'],\n valueColumns = {};\n // Split legacy twodimensional values into value columns\n processedData.yData\n .forEach(function (values) {\n pointArrayMap.forEach(function (key, index) {\n var column = valueColumns[key] || [];\n column.push(isArray(values) ? values[index] : values);\n if (!valueColumns[key]) {\n valueColumns[key] = column;\n }\n });\n });\n // We need to update points to reflect changes in all,\n // x and y's, values. However, do it only for non-grouped\n // data - grouping does it for us (#8572)\n if (oldDataLength &&\n !indicator.hasGroupedData &&\n indicator.visible &&\n indicator.points) {\n // When data is cropped update only avaliable points (#9493)\n if (indicator.cropped) {\n if (indicator.xAxis) {\n min = indicator.xAxis.min;\n max = indicator.xAxis.max;\n }\n var croppedData = indicator.cropData(table,\n min,\n max);\n var keys = __spreadArray(['x'], (indicator.pointArrayMap || ['y']), true);\n var _loop_2 = function (i) {\n var values = keys.map(function (key) {\n return _this.getColumn(key)[i] || 0;\n });\n croppedDataValues.push(values);\n };\n for (var i = 0; i < (((_a = croppedData.modified) === null || _a === void 0 ? void 0 : _a.rowCount) || 0); i++) {\n _loop_2(i);\n }\n var indicatorXData = indicator.getColumn('x');\n oldFirstPointIndex = processedData.xData.indexOf(indicatorXData[0]);\n oldLastPointIndex = processedData.xData.indexOf(indicatorXData[indicatorXData.length - 1]);\n // Check if indicator points should be shifted (#8572)\n if (oldFirstPointIndex === -1 &&\n oldLastPointIndex === processedData.xData.length - 2) {\n if (croppedDataValues[0][0] === oldData[0].x) {\n croppedDataValues.shift();\n }\n }\n indicator.updateData(croppedDataValues);\n }\n else if (indicator.updateAllPoints || // #18710\n // Omit addPoint() and removePoint() cases\n processedData.xData.length !== oldDataLength - 1 &&\n processedData.xData.length !== oldDataLength + 1) {\n overwriteData = false;\n indicator.updateData(processedData.values);\n }\n }\n if (overwriteData) {\n table.setColumns(__assign(__assign({}, valueColumns), { x: processedData.xData }));\n indicator.options.data = processedData.values;\n }\n if (indicator.calculateOn.xAxis &&\n indicator.getColumn('x', true).length) {\n indicator.isDirty = true;\n indicator.redraw();\n }\n indicator.isDirtyData = !!indicator.linkedSeries.length;\n fireEvent(indicator, 'updatedData'); // #18689\n };\n /**\n * @private\n */\n SMAIndicator.prototype.processData = function () {\n var series = this,\n compareToMain = series.options.compareToMain,\n linkedParent = series.linkedParent;\n _super.prototype.processData.apply(series, arguments);\n if (series.dataModify &&\n linkedParent &&\n linkedParent.dataModify &&\n linkedParent.dataModify.compareValue &&\n compareToMain) {\n series.dataModify.compareValue =\n linkedParent.dataModify.compareValue;\n }\n return;\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * The parameter allows setting line series type and use OHLC indicators.\n * Data in OHLC format is required.\n *\n * @sample {highstock} stock/indicators/use-ohlc-data\n * Use OHLC data format to plot line chart\n *\n * @type {boolean}\n * @product highstock\n * @apioption plotOptions.line.useOhlcData\n */\n /**\n * Simple moving average indicator (SMA). This series requires `linkedTo`\n * option to be set.\n *\n * @sample stock/indicators/sma\n * Simple moving average indicator\n *\n * @extends plotOptions.line\n * @since 6.0.0\n * @excluding allAreas, colorAxis, dragDrop, joinBy, keys,\n * navigatorOptions, pointInterval, pointIntervalUnit,\n * pointPlacement, pointRange, pointStart, showInNavigator,\n * stacking, useOhlcData\n * @product highstock\n * @requires stock/indicators/indicators\n * @optionparent plotOptions.sma\n */\n SMAIndicator.defaultOptions = merge(LineSeries.defaultOptions, {\n /**\n * The name of the series as shown in the legend, tooltip etc. If not\n * set, it will be based on a technical indicator type and default\n * params.\n *\n * @type {string}\n */\n name: void 0,\n tooltip: {\n /**\n * Number of decimals in indicator series.\n */\n valueDecimals: 4\n },\n /**\n * The main series ID that indicator will be based on. Required for this\n * indicator.\n *\n * @type {string}\n */\n linkedTo: void 0,\n /**\n * Whether to compare indicator to the main series values\n * or indicator values.\n *\n * @sample {highstock} stock/plotoptions/series-comparetomain/\n * Difference between comparing SMA values to the main series\n * and its own values.\n *\n * @type {boolean}\n */\n compareToMain: false,\n /**\n * Parameters used in calculation of regression series' points.\n */\n params: {\n /**\n * The point index which indicator calculations will base. For\n * example using OHLC data, index=2 means the indicator will be\n * calculated using Low values.\n */\n index: 3,\n /**\n * The base period for indicator calculations. This is the number of\n * data points which are taken into account for the indicator\n * calculations.\n */\n period: 14\n }\n });\n return SMAIndicator;\n}(LineSeries));\nextend(SMAIndicator.prototype, {\n calculateOn: {\n chart: 'init'\n },\n hasDerivedData: true,\n nameComponents: ['period'],\n nameSuffixes: [], // E.g. Zig Zag uses extra '%'' in the legend name\n useCommonDataGrouping: true\n});\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('sma', SMAIndicator);\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var SMA_SMAIndicator = ((/* unused pure expression or super */ null && (SMAIndicator)));\n/* *\n *\n * API Options\n *\n * */\n/**\n * A `SMA` series. If the [type](#series.sma.type) option is not specified, it\n * is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.sma\n * @since 6.0.0\n * @product highstock\n * @excluding dataParser, dataURL, useOhlcData\n * @requires stock/indicators/indicators\n * @apioption series.sma\n */\n(''); // Adds doclet above to the transpiled file\n\n;// ./code/es5/es-modules/Stock/Indicators/EMA/EMAIndicator.js\n/* *\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar EMAIndicator_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar EMAIndicator_SMAIndicator = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.sma;\n\nvar correctFloat = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).correctFloat, EMAIndicator_isArray = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isArray, EMAIndicator_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\n/**\n * The EMA series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.ema\n *\n * @augments Highcharts.Series\n */\nvar EMAIndicator = /** @class */ (function (_super) {\n EMAIndicator_extends(EMAIndicator, _super);\n function EMAIndicator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n EMAIndicator.prototype.accumulatePeriodPoints = function (period, index, yVal) {\n var sum = 0,\n i = 0,\n y = 0;\n while (i < period) {\n y = index < 0 ? yVal[i] : yVal[i][index];\n sum = sum + y;\n i++;\n }\n return sum;\n };\n EMAIndicator.prototype.calculateEma = function (xVal, yVal, i, EMApercent, calEMA, index, SMA) {\n var x = xVal[i - 1],\n yValue = index < 0 ?\n yVal[i - 1] :\n yVal[i - 1][index],\n y = typeof calEMA === 'undefined' ?\n SMA : correctFloat((yValue * EMApercent) +\n (calEMA * (1 - EMApercent)));\n return [x, y];\n };\n EMAIndicator.prototype.getValues = function (series, params) {\n var period = params.period,\n xVal = series.xData,\n yVal = series.yData,\n yValLen = yVal ? yVal.length : 0,\n EMApercent = 2 / (period + 1),\n EMA = [],\n xData = [],\n yData = [];\n var calEMA,\n EMAPoint,\n i,\n index = -1,\n sum = 0,\n SMA = 0;\n // Check period, if bigger than points length, skip\n if (yValLen < period) {\n return;\n }\n // Switch index for OHLC / Candlestick / Arearange\n if (EMAIndicator_isArray(yVal[0])) {\n index = params.index ? params.index : 0;\n }\n // Accumulate first N-points\n sum = this.accumulatePeriodPoints(period, index, yVal);\n // First point\n SMA = sum / period;\n // Calculate value one-by-one for each period in visible data\n for (i = period; i < yValLen + 1; i++) {\n EMAPoint = this.calculateEma(xVal, yVal, i, EMApercent, calEMA, index, SMA);\n EMA.push(EMAPoint);\n xData.push(EMAPoint[0]);\n yData.push(EMAPoint[1]);\n calEMA = EMAPoint[1];\n }\n return {\n values: EMA,\n xData: xData,\n yData: yData\n };\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * Exponential moving average indicator (EMA). This series requires the\n * `linkedTo` option to be set.\n *\n * @sample stock/indicators/ema\n * Exponential moving average indicator\n *\n * @extends plotOptions.sma\n * @since 6.0.0\n * @product highstock\n * @requires stock/indicators/indicators\n * @optionparent plotOptions.ema\n */\n EMAIndicator.defaultOptions = EMAIndicator_merge(EMAIndicator_SMAIndicator.defaultOptions, {\n params: {\n /**\n * The point index which indicator calculations will base. For\n * example using OHLC data, index=2 means the indicator will be\n * calculated using Low values.\n *\n * By default index value used to be set to 0. Since\n * Highcharts Stock 7 by default index is set to 3\n * which means that the ema indicator will be\n * calculated using Close values.\n */\n index: 3,\n period: 9 // @merge 14 in v6.2\n }\n });\n return EMAIndicator;\n}(EMAIndicator_SMAIndicator));\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('ema', EMAIndicator);\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var EMA_EMAIndicator = ((/* unused pure expression or super */ null && (EMAIndicator)));\n/* *\n *\n * API Options\n *\n * */\n/**\n * A `EMA` series. If the [type](#series.ema.type) option is not\n * specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.ema\n * @since 6.0.0\n * @product highstock\n * @excluding dataParser, dataURL\n * @requires stock/indicators/indicators\n * @apioption series.ema\n */\n''; // Adds doclet above to the transpiled file\n\n;// ./code/es5/es-modules/Stock/Indicators/MultipleLinesComposition.js\n/**\n *\n * (c) 2010-2024 Wojciech Chmiel\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar smaProto = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.sma.prototype;\n\nvar defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, MultipleLinesComposition_error = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).error, MultipleLinesComposition_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Composition\n *\n * */\nvar MultipleLinesComposition;\n(function (MultipleLinesComposition) {\n /* *\n *\n * Declarations\n *\n * */\n /* *\n *\n * Constants\n *\n * */\n /**\n * Additional lines DOCS names. Elements of linesApiNames array should\n * be consistent with DOCS line names defined in your implementation.\n * Notice that linesApiNames should have decreased amount of elements\n * relative to pointArrayMap (without pointValKey).\n *\n * @private\n * @type {Array<string>}\n */\n var linesApiNames = ['bottomLine'];\n /**\n * Lines ids. Required to plot appropriate amount of lines.\n * Notice that pointArrayMap should have more elements than\n * linesApiNames, because it contains main line and additional lines ids.\n * Also it should be consistent with amount of lines calculated in\n * getValues method from your implementation.\n *\n * @private\n * @type {Array<string>}\n */\n var pointArrayMap = ['top', 'bottom'];\n /**\n * Names of the lines, between which the area should be plotted.\n * If the drawing of the area should\n * be disabled for some indicators, leave this option as an empty array.\n * Names should be the same as the names in the pointArrayMap.\n *\n * @private\n * @type {Array<string>}\n */\n var areaLinesNames = ['top'];\n /**\n * Main line id.\n *\n * @private\n * @type {string}\n */\n var pointValKey = 'top';\n /* *\n *\n * Functions\n *\n * */\n /**\n * Composition useful for all indicators that have more than one line.\n * Compose it with your implementation where you will provide the\n * `getValues` method appropriate to your indicator and `pointArrayMap`,\n * `pointValKey`, `linesApiNames` properties. Notice that `pointArrayMap`\n * should be consistent with the amount of lines calculated in the\n * `getValues` method.\n *\n * @private\n */\n function compose(IndicatorClass) {\n var proto = IndicatorClass.prototype;\n proto.linesApiNames = (proto.linesApiNames ||\n linesApiNames.slice());\n proto.pointArrayMap = (proto.pointArrayMap ||\n pointArrayMap.slice());\n proto.pointValKey = (proto.pointValKey ||\n pointValKey);\n proto.areaLinesNames = (proto.areaLinesNames ||\n areaLinesNames.slice());\n proto.drawGraph = indicatorDrawGraph;\n proto.getGraphPath = indicatorGetGraphPath;\n proto.toYData = indicatorToYData;\n proto.translate = indicatorTranslate;\n return IndicatorClass;\n }\n MultipleLinesComposition.compose = compose;\n /**\n * Generate the API name of the line\n *\n * @private\n * @param propertyName name of the line\n */\n function getLineName(propertyName) {\n return ('plot' +\n propertyName.charAt(0).toUpperCase() +\n propertyName.slice(1));\n }\n /**\n * Create translatedLines Collection based on pointArrayMap.\n *\n * @private\n * @param {string} [excludedValue]\n * Main line id\n * @return {Array<string>}\n * Returns translated lines names without excluded value.\n */\n function getTranslatedLinesNames(indicator, excludedValue) {\n var translatedLines = [];\n (indicator.pointArrayMap || []).forEach(function (propertyName) {\n if (propertyName !== excludedValue) {\n translatedLines.push(getLineName(propertyName));\n }\n });\n return translatedLines;\n }\n /**\n * Draw main and additional lines.\n *\n * @private\n */\n function indicatorDrawGraph() {\n var indicator = this,\n pointValKey = indicator.pointValKey,\n linesApiNames = indicator.linesApiNames,\n areaLinesNames = indicator.areaLinesNames,\n mainLinePoints = indicator.points,\n mainLineOptions = indicator.options,\n mainLinePath = indicator.graph,\n gappedExtend = {\n options: {\n gapSize: mainLineOptions.gapSize\n }\n }, \n // Additional lines point place holders:\n secondaryLines = [],\n secondaryLinesNames = getTranslatedLinesNames(indicator,\n pointValKey);\n var pointsLength = mainLinePoints.length,\n point;\n // Generate points for additional lines:\n secondaryLinesNames.forEach(function (plotLine, index) {\n // Create additional lines point place holders\n secondaryLines[index] = [];\n while (pointsLength--) {\n point = mainLinePoints[pointsLength];\n secondaryLines[index].push({\n x: point.x,\n plotX: point.plotX,\n plotY: point[plotLine],\n isNull: !defined(point[plotLine])\n });\n }\n pointsLength = mainLinePoints.length;\n });\n // Modify options and generate area fill:\n if (indicator.userOptions.fillColor && areaLinesNames.length) {\n var index = secondaryLinesNames.indexOf(getLineName(areaLinesNames[0])),\n secondLinePoints = secondaryLines[index],\n firstLinePoints = areaLinesNames.length === 1 ?\n mainLinePoints :\n secondaryLines[secondaryLinesNames.indexOf(getLineName(areaLinesNames[1]))],\n originalColor = indicator.color;\n indicator.points = firstLinePoints;\n indicator.nextPoints = secondLinePoints;\n indicator.color = indicator.userOptions.fillColor;\n indicator.options = MultipleLinesComposition_merge(mainLinePoints, gappedExtend);\n indicator.graph = indicator.area;\n indicator.fillGraph = true;\n smaProto.drawGraph.call(indicator);\n indicator.area = indicator.graph;\n // Clean temporary properties:\n delete indicator.nextPoints;\n delete indicator.fillGraph;\n indicator.color = originalColor;\n }\n // Modify options and generate additional lines:\n linesApiNames.forEach(function (lineName, i) {\n if (secondaryLines[i]) {\n indicator.points = secondaryLines[i];\n if (mainLineOptions[lineName]) {\n indicator.options = MultipleLinesComposition_merge(mainLineOptions[lineName].styles, gappedExtend);\n }\n else {\n MultipleLinesComposition_error('Error: \"There is no ' + lineName +\n ' in DOCS options declared. Check if linesApiNames' +\n ' are consistent with your DOCS line names.\"');\n }\n indicator.graph = indicator['graph' + lineName];\n smaProto.drawGraph.call(indicator);\n // Now save lines:\n indicator['graph' + lineName] = indicator.graph;\n }\n else {\n MultipleLinesComposition_error('Error: \"' + lineName + ' doesn\\'t have equivalent ' +\n 'in pointArrayMap. To many elements in linesApiNames ' +\n 'relative to pointArrayMap.\"');\n }\n });\n // Restore options and draw a main line:\n indicator.points = mainLinePoints;\n indicator.options = mainLineOptions;\n indicator.graph = mainLinePath;\n smaProto.drawGraph.call(indicator);\n }\n /**\n * Create the path based on points provided as argument.\n * If indicator.nextPoints option is defined, create the areaFill.\n *\n * @private\n * @param points Points on which the path should be created\n */\n function indicatorGetGraphPath(points) {\n var areaPath,\n path = [],\n higherAreaPath = [];\n points = points || this.points;\n // Render Span\n if (this.fillGraph && this.nextPoints) {\n areaPath = smaProto.getGraphPath.call(this, this.nextPoints);\n if (areaPath && areaPath.length) {\n areaPath[0][0] = 'L';\n path = smaProto.getGraphPath.call(this, points);\n higherAreaPath = areaPath.slice(0, path.length);\n // Reverse points, so that the areaFill will start from the end:\n for (var i = higherAreaPath.length - 1; i >= 0; i--) {\n path.push(higherAreaPath[i]);\n }\n }\n }\n else {\n path = smaProto.getGraphPath.apply(this, arguments);\n }\n return path;\n }\n /**\n * @private\n * @param {Highcharts.Point} point\n * Indicator point\n * @return {Array<number>}\n * Returns point Y value for all lines\n */\n function indicatorToYData(point) {\n var pointColl = [];\n (this.pointArrayMap || []).forEach(function (propertyName) {\n pointColl.push(point[propertyName]);\n });\n return pointColl;\n }\n /**\n * Add lines plot pixel values.\n *\n * @private\n */\n function indicatorTranslate() {\n var _this = this;\n var pointArrayMap = this.pointArrayMap;\n var LinesNames = [],\n value;\n LinesNames = getTranslatedLinesNames(this);\n smaProto.translate.apply(this, arguments);\n this.points.forEach(function (point) {\n pointArrayMap.forEach(function (propertyName, i) {\n value = point[propertyName];\n // If the modifier, like for example compare exists,\n // modified the original value by that method, #15867.\n if (_this.dataModify) {\n value = _this.dataModify.modifyValue(value);\n }\n if (value !== null) {\n point[LinesNames[i]] = _this.yAxis.toPixels(value, true);\n }\n });\n });\n }\n})(MultipleLinesComposition || (MultipleLinesComposition = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Indicators_MultipleLinesComposition = (MultipleLinesComposition);\n\n;// ./code/es5/es-modules/masters/indicators/indicators.src.js\n\n\n\n\n\n\nvar G = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\nG.MultipleLinesComposition =\n G.MultipleLinesComposition || Indicators_MultipleLinesComposition;\n/* harmony default export */ var indicators_src = ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()));\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});"],"names":["root","factory","exports","module","require","define","amd","__WEBPACK_EXTERNAL_MODULE__944__","__WEBPACK_EXTERNAL_MODULE__960__","__WEBPACK_EXTERNAL_MODULE__512__","extendStatics","MultipleLinesComposition","__webpack_modules__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","__webpack_exports__","indicators_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","highcharts_Chart_commonjs_highcharts_Chart_commonjs2_highcharts_Chart_root_Highcharts_Chart_","highcharts_Chart_commonjs_highcharts_Chart_commonjs2_highcharts_Chart_root_Highcharts_Chart_default","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default","__extends","b","setPrototypeOf","__proto__","Array","p","__","constructor","create","__assign","assign","t","s","i","arguments","length","apply","__spreadArray","to","from","pack","ar","l","slice","concat","LineSeries","seriesTypes","line","addEvent","fireEvent","error","extend","isArray","merge","pick","tableToMultiYData","series","processed","yData","pointArrayMap","table","dataTable","modified","getColumn","columns","map","_loop_1","values","colIndex","_a","push","rowCount","SMAIndicator","_super","destroy","dataEventsToUnbind","forEach","unbinder","getName","params","name","nameComponents","component","index","options","nameSuffixes","nameBase","type","toUpperCase","join","getValues","SMAPoint","period","xVal","xData","yVal","yValLen","SMA","range","sum","init","chart","indicator","linkedSeriesUnbiner","isUpdating","hasEvents","linkedParent","linkedTo","recalculateValues","calculateOn","xAxis","closestPointRange","unbinder_1","order","eventsToUnbind","oldFirstPointIndex","oldLastPointIndex","min","max","_this","croppedDataValues","oldData","points","oldDataLength","overwriteData","processedYData","processedData","valueColumns","column","hasGroupedData","visible","cropped","croppedData","cropData","keys","_loop_2","indicatorXData","indexOf","x","shift","updateData","updateAllPoints","setColumns","data","isDirty","redraw","isDirtyData","linkedSeries","processData","compareToMain","dataModify","compareValue","defaultOptions","tooltip","valueDecimals","hasDerivedData","useCommonDataGrouping","registerSeriesType","EMAIndicator_extends","TypeError","String","EMAIndicator_SMAIndicator","sma","correctFloat","EMAIndicator_isArray","EMAIndicator_merge","EMAIndicator","accumulatePeriodPoints","calculateEma","EMApercent","calEMA","yValue","EMAPoint","EMA","smaProto","defined","MultipleLinesComposition_error","MultipleLinesComposition_merge","linesApiNames","areaLinesNames","getLineName","propertyName","charAt","getTranslatedLinesNames","excludedValue","translatedLines","indicatorDrawGraph","point","pointValKey","mainLinePoints","mainLineOptions","mainLinePath","graph","gappedExtend","gapSize","secondaryLines","secondaryLinesNames","pointsLength","plotLine","plotX","plotY","isNull","userOptions","fillColor","secondLinePoints","firstLinePoints","originalColor","color","nextPoints","area","fillGraph","drawGraph","lineName","styles","indicatorGetGraphPath","areaPath","path","higherAreaPath","getGraphPath","indicatorToYData","pointColl","indicatorTranslate","value","LinesNames","translate","modifyValue","yAxis","toPixels","compose","IndicatorClass","proto","toYData","Indicators_MultipleLinesComposition","G"],"mappings":"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"}
Hacked By AnonymousFox1.0, Coded By AnonymousFox