Hacked By AnonymousFox

Current Path : C:/AppServ/www/financial/stacked/code/es5/indicators/
Upload File :
Current File : C:/AppServ/www/financial/stacked/code/es5/indicators/volume-by-price.js.map

{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highstock JS v12.1.2 (2025-01-09)\n * @module highcharts/indicators/volume-by-price\n * @requires highcharts\n * @requires highcharts/modules/stock\n *\n * Indicator series type for Highcharts Stock\n *\n * (c) 2010-2024 Paweł Dalek\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\")[\"SeriesRegistry\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/indicators/volume-by-price\", [[\"highcharts/highcharts\"], [\"highcharts/highcharts\",\"SeriesRegistry\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/indicators/volume-by-price\"] = factory(require(\"highcharts\"), require(\"highcharts\")[\"SeriesRegistry\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"SeriesRegistry\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__512__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\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 */ volume_by_price_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\",\"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/VBP/VBPPoint.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})();\n/* *\n *\n *  Imports\n *\n * */\n\nvar SMAPoint = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.sma.prototype.pointClass;\n/* *\n *\n *  Class\n *\n * */\nvar VBPPoint = /** @class */ (function (_super) {\n    __extends(VBPPoint, _super);\n    function VBPPoint() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    // Required for destroying negative part of volume\n    VBPPoint.prototype.destroy = function () {\n        // @todo: this.negativeGraphic doesn't seem to be used anywhere\n        if (this.negativeGraphic) {\n            this.negativeGraphic = this.negativeGraphic.destroy();\n        }\n        _super.prototype.destroy.apply(this, arguments);\n    };\n    return VBPPoint;\n}(SMAPoint));\n/* *\n *\n *  Default Export\n *\n * */\n/* harmony default export */ var VBP_VBPPoint = (VBPPoint);\n\n;// ./code/es5/es-modules/Stock/Indicators/VBP/VBPIndicator.js\n/* *\n *\n *  (c) 2010-2024 Paweł Dalek\n *\n *  Volume By Price (VBP) indicator for Highcharts Stock\n *\n *  License: www.highcharts.com/license\n *\n *  !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar VBPIndicator_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\n\nvar animObject = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).animObject;\n\nvar noop = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).noop;\n\nvar _a = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes, columnProto = _a.column.prototype, SMAIndicator = _a.sma;\n\nvar addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, arrayMax = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).arrayMax, arrayMin = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).arrayMin, correctFloat = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).correctFloat, defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, 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;\n/* *\n *\n *  Constants\n *\n * */\nvar abs = Math.abs;\n/* *\n *\n *  Functions\n *\n * */\n// Utils\n/**\n * @private\n */\nfunction arrayExtremesOHLC(data) {\n    var dataLength = data.length;\n    var min = data[0][3],\n        max = min,\n        i = 1,\n        currentPoint;\n    for (; i < dataLength; i++) {\n        currentPoint = data[i][3];\n        if (currentPoint < min) {\n            min = currentPoint;\n        }\n        if (currentPoint > max) {\n            max = currentPoint;\n        }\n    }\n    return {\n        min: min,\n        max: max\n    };\n}\n/* *\n *\n *  Class\n *\n * */\n/**\n * The Volume By Price (VBP) series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.vbp\n *\n * @augments Highcharts.Series\n */\nvar VBPIndicator = /** @class */ (function (_super) {\n    VBPIndicator_extends(VBPIndicator, _super);\n    function VBPIndicator() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    /* *\n     *\n     *  Functions\n     *\n     * */\n    VBPIndicator.prototype.init = function (chart, options) {\n        var indicator = this;\n        // Series.update() sends data that is not necessary as everything is\n        // calculated in getValues(), #17007\n        delete options.data;\n        _super.prototype.init.apply(indicator, arguments);\n        // Only after series are linked add some additional logic/properties.\n        var unbinder = addEvent(this.chart.constructor, 'afterLinkSeries',\n            function () {\n                // Protection for a case where the indicator is being updated,\n                // for a brief moment the indicator is deleted.\n                if (indicator.options) {\n                    var params = indicator.options.params,\n            baseSeries = indicator.linkedParent,\n            volumeSeries = chart.get(params.volumeSeriesID);\n                indicator.addCustomEvents(baseSeries, volumeSeries);\n            }\n            unbinder();\n        }, {\n            order: 1\n        });\n        return indicator;\n    };\n    // Adds events related with removing series\n    VBPIndicator.prototype.addCustomEvents = function (baseSeries, volumeSeries) {\n        var indicator = this,\n            toEmptyIndicator = function () {\n                indicator.chart.redraw();\n            indicator.setData([]);\n            indicator.zoneStarts = [];\n            if (indicator.zoneLinesSVG) {\n                indicator.zoneLinesSVG = indicator.zoneLinesSVG.destroy();\n            }\n        };\n        // If base series is deleted, indicator series data is filled with\n        // an empty array\n        indicator.dataEventsToUnbind.push(addEvent(baseSeries, 'remove', function () {\n            toEmptyIndicator();\n        }));\n        // If volume series is deleted, indicator series data is filled with\n        // an empty array\n        if (volumeSeries) {\n            indicator.dataEventsToUnbind.push(addEvent(volumeSeries, 'remove', function () {\n                toEmptyIndicator();\n            }));\n        }\n        return indicator;\n    };\n    // Initial animation\n    VBPIndicator.prototype.animate = function (init) {\n        var series = this,\n            inverted = series.chart.inverted,\n            group = series.group,\n            attr = {};\n        if (!init && group) {\n            var position = inverted ? series.yAxis.top : series.xAxis.left;\n            if (inverted) {\n                group['forceAnimate:translateY'] = true;\n                attr.translateY = position;\n            }\n            else {\n                group['forceAnimate:translateX'] = true;\n                attr.translateX = position;\n            }\n            group.animate(attr, extend(animObject(series.options.animation), {\n                step: function (val, fx) {\n                    series.group.attr({\n                        scaleX: Math.max(0.001, fx.pos)\n                    });\n                }\n            }));\n        }\n    };\n    VBPIndicator.prototype.drawPoints = function () {\n        var indicator = this;\n        if (indicator.options.volumeDivision.enabled) {\n            indicator.posNegVolume(true, true);\n            columnProto.drawPoints.apply(indicator, arguments);\n            indicator.posNegVolume(false, false);\n        }\n        columnProto.drawPoints.apply(indicator, arguments);\n    };\n    // Function responsible for dividing volume into positive and negative\n    VBPIndicator.prototype.posNegVolume = function (initVol, pos) {\n        var indicator = this, signOrder = pos ?\n                ['positive', 'negative'] :\n                ['negative', 'positive'], volumeDivision = indicator.options.volumeDivision, pointLength = indicator.points.length;\n        var posWidths = [],\n            negWidths = [],\n            i = 0,\n            pointWidth,\n            priceZone,\n            wholeVol,\n            point;\n        if (initVol) {\n            indicator.posWidths = posWidths;\n            indicator.negWidths = negWidths;\n        }\n        else {\n            posWidths = indicator.posWidths;\n            negWidths = indicator.negWidths;\n        }\n        for (; i < pointLength; i++) {\n            point = indicator.points[i];\n            point[signOrder[0] + 'Graphic'] = point.graphic;\n            point.graphic = point[signOrder[1] + 'Graphic'];\n            if (initVol) {\n                pointWidth = point.shapeArgs.width;\n                priceZone = indicator.priceZones[i];\n                wholeVol = priceZone.wholeVolumeData;\n                if (wholeVol) {\n                    posWidths.push(pointWidth / wholeVol * priceZone.positiveVolumeData);\n                    negWidths.push(pointWidth / wholeVol * priceZone.negativeVolumeData);\n                }\n                else {\n                    posWidths.push(0);\n                    negWidths.push(0);\n                }\n            }\n            point.color = pos ?\n                volumeDivision.styles.positiveColor :\n                volumeDivision.styles.negativeColor;\n            point.shapeArgs.width = pos ?\n                indicator.posWidths[i] :\n                indicator.negWidths[i];\n            point.shapeArgs.x = pos ?\n                point.shapeArgs.x :\n                indicator.posWidths[i];\n        }\n    };\n    VBPIndicator.prototype.translate = function () {\n        var indicator = this,\n            options = indicator.options,\n            chart = indicator.chart,\n            yAxis = indicator.yAxis,\n            yAxisMin = yAxis.min,\n            zoneLinesOptions = indicator.options.zoneLines,\n            priceZones = (indicator.priceZones);\n        var yBarOffset = 0,\n            volumeDataArray,\n            maxVolume,\n            primalBarWidth,\n            barHeight,\n            barHeightP,\n            oldBarHeight,\n            barWidth,\n            pointPadding,\n            chartPlotTop,\n            barX,\n            barY;\n        columnProto.translate.apply(indicator);\n        var indicatorPoints = indicator.points;\n        // Do translate operation when points exist\n        if (indicatorPoints.length) {\n            pointPadding = options.pointPadding < 0.5 ?\n                options.pointPadding :\n                0.1;\n            volumeDataArray = indicator.volumeDataArray;\n            maxVolume = arrayMax(volumeDataArray);\n            primalBarWidth = chart.plotWidth / 2;\n            chartPlotTop = chart.plotTop;\n            barHeight = abs(yAxis.toPixels(yAxisMin) -\n                yAxis.toPixels(yAxisMin + indicator.rangeStep));\n            oldBarHeight = abs(yAxis.toPixels(yAxisMin) -\n                yAxis.toPixels(yAxisMin + indicator.rangeStep));\n            if (pointPadding) {\n                barHeightP = abs(barHeight * (1 - 2 * pointPadding));\n                yBarOffset = abs((barHeight - barHeightP) / 2);\n                barHeight = abs(barHeightP);\n            }\n            indicatorPoints.forEach(function (point, index) {\n                barX = point.barX = point.plotX = 0;\n                barY = point.plotY = (yAxis.toPixels(priceZones[index].start) -\n                    chartPlotTop -\n                    (yAxis.reversed ?\n                        (barHeight - oldBarHeight) :\n                        barHeight) -\n                    yBarOffset);\n                barWidth = correctFloat(primalBarWidth *\n                    priceZones[index].wholeVolumeData / maxVolume);\n                point.pointWidth = barWidth;\n                point.shapeArgs = indicator.crispCol.apply(// eslint-disable-line no-useless-call\n                indicator, [barX, barY, barWidth, barHeight]);\n                point.volumeNeg = priceZones[index].negativeVolumeData;\n                point.volumePos = priceZones[index].positiveVolumeData;\n                point.volumeAll = priceZones[index].wholeVolumeData;\n            });\n            if (zoneLinesOptions.enabled) {\n                indicator.drawZones(chart, yAxis, indicator.zoneStarts, zoneLinesOptions.styles);\n            }\n        }\n    };\n    VBPIndicator.prototype.getExtremes = function () {\n        var prevCompare = this.options.compare,\n            prevCumulative = this.options.cumulative;\n        var ret;\n        // Temporarily disable cumulative and compare while getting the extremes\n        if (this.options.compare) {\n            this.options.compare = void 0;\n            ret = _super.prototype.getExtremes.call(this);\n            this.options.compare = prevCompare;\n        }\n        else if (this.options.cumulative) {\n            this.options.cumulative = false;\n            ret = _super.prototype.getExtremes.call(this);\n            this.options.cumulative = prevCumulative;\n        }\n        else {\n            ret = _super.prototype.getExtremes.call(this);\n        }\n        return ret;\n    };\n    VBPIndicator.prototype.getValues = function (series, params) {\n        var indicator = this,\n            xValues = series.getColumn('x',\n            true),\n            yValues = series.processedYData,\n            chart = indicator.chart,\n            ranges = params.ranges,\n            VBP = [],\n            xData = [],\n            yData = [],\n            volumeSeries = chart.get(params.volumeSeriesID);\n        // Checks if base series exists\n        if (!series.chart) {\n            error('Base series not found! In case it has been removed, add ' +\n                'a new one.', true, chart);\n            return;\n        }\n        // Checks if volume series exists and if it has data\n        if (!volumeSeries ||\n            !volumeSeries.getColumn('x', true).length) {\n            var errorMessage = volumeSeries &&\n                    !volumeSeries.getColumn('x',\n                true).length ?\n                    ' does not contain any data.' :\n                    ' not found! Check `volumeSeriesID`.';\n            error('Series ' +\n                params.volumeSeriesID + errorMessage, true, chart);\n            return;\n        }\n        // Checks if series data fits the OHLC format\n        var isOHLC = isArray(yValues[0]);\n        if (isOHLC && yValues[0].length !== 4) {\n            error('Type of ' +\n                series.name +\n                ' series is different than line, OHLC or candlestick.', true, chart);\n            return;\n        }\n        // Price zones contains all the information about the zones (index,\n        // start, end, volumes, etc.)\n        var priceZones = indicator.priceZones = indicator.specifyZones(isOHLC,\n            xValues,\n            yValues,\n            ranges,\n            volumeSeries);\n        priceZones.forEach(function (zone, index) {\n            VBP.push([zone.x, zone.end]);\n            xData.push(VBP[index][0]);\n            yData.push(VBP[index][1]);\n        });\n        return {\n            values: VBP,\n            xData: xData,\n            yData: yData\n        };\n    };\n    // Specifying where each zone should start ans end\n    VBPIndicator.prototype.specifyZones = function (isOHLC, xValues, yValues, ranges, volumeSeries) {\n        var indicator = this,\n            rangeExtremes = (isOHLC ? arrayExtremesOHLC(yValues) : false),\n            zoneStarts = indicator.zoneStarts = [],\n            priceZones = [];\n        var lowRange = rangeExtremes ?\n                rangeExtremes.min :\n                arrayMin(yValues),\n            highRange = rangeExtremes ?\n                rangeExtremes.max :\n                arrayMax(yValues),\n            i = 0,\n            j = 1;\n        // If the compare mode is set on the main series, change the VBP\n        // zones to fit new extremes, #16277.\n        var mainSeries = indicator.linkedParent;\n        if (!indicator.options.compareToMain &&\n            mainSeries.dataModify) {\n            lowRange = mainSeries.dataModify.modifyValue(lowRange);\n            highRange = mainSeries.dataModify.modifyValue(highRange);\n        }\n        if (!defined(lowRange) || !defined(highRange)) {\n            if (this.points.length) {\n                this.setData([]);\n                this.zoneStarts = [];\n                if (this.zoneLinesSVG) {\n                    this.zoneLinesSVG = this.zoneLinesSVG.destroy();\n                }\n            }\n            return [];\n        }\n        var rangeStep = indicator.rangeStep =\n                correctFloat(highRange - lowRange) / ranges;\n        zoneStarts.push(lowRange);\n        for (; i < ranges - 1; i++) {\n            zoneStarts.push(correctFloat(zoneStarts[i] + rangeStep));\n        }\n        zoneStarts.push(highRange);\n        var zoneStartsLength = zoneStarts.length;\n        //    Creating zones\n        for (; j < zoneStartsLength; j++) {\n            priceZones.push({\n                index: j - 1,\n                x: xValues[0],\n                start: zoneStarts[j - 1],\n                end: zoneStarts[j]\n            });\n        }\n        return indicator.volumePerZone(isOHLC, priceZones, volumeSeries, xValues, yValues);\n    };\n    // Calculating sum of volume values for a specific zone\n    VBPIndicator.prototype.volumePerZone = function (isOHLC, priceZones, volumeSeries, xValues, yValues) {\n        var indicator = this, volumeXData = volumeSeries.getColumn('x', true), volumeYData = volumeSeries.getColumn('y', true), lastZoneIndex = priceZones.length - 1, baseSeriesLength = yValues.length, volumeSeriesLength = volumeYData.length;\n        var previousValue,\n            startFlag,\n            endFlag,\n            value,\n            i;\n        // Checks if each point has a corresponding volume value\n        if (abs(baseSeriesLength - volumeSeriesLength)) {\n            // If the first point don't have volume, add 0 value at the\n            // beginning of the volume array\n            if (xValues[0] !== volumeXData[0]) {\n                volumeYData.unshift(0);\n            }\n            // If the last point don't have volume, add 0 value at the end\n            // of the volume array\n            if (xValues[baseSeriesLength - 1] !==\n                volumeXData[volumeSeriesLength - 1]) {\n                volumeYData.push(0);\n            }\n        }\n        indicator.volumeDataArray = [];\n        priceZones.forEach(function (zone) {\n            zone.wholeVolumeData = 0;\n            zone.positiveVolumeData = 0;\n            zone.negativeVolumeData = 0;\n            for (i = 0; i < baseSeriesLength; i++) {\n                startFlag = false;\n                endFlag = false;\n                value = isOHLC ? yValues[i][3] : yValues[i];\n                previousValue = i ?\n                    (isOHLC ?\n                        yValues[i - 1][3] :\n                        yValues[i - 1]) :\n                    value;\n                // If the compare mode is set on the main series,\n                // change the VBP zones to fit new extremes, #16277.\n                var mainSeries = indicator.linkedParent;\n                if (!indicator.options.compareToMain &&\n                    mainSeries.dataModify) {\n                    value = mainSeries.dataModify.modifyValue(value);\n                    previousValue = mainSeries.dataModify\n                        .modifyValue(previousValue);\n                }\n                // Checks if this is the point with the\n                // lowest close value and if so, adds it calculations\n                if (value <= zone.start && zone.index === 0) {\n                    startFlag = true;\n                }\n                // Checks if this is the point with the highest\n                // close value and if so, adds it calculations\n                if (value >= zone.end && zone.index === lastZoneIndex) {\n                    endFlag = true;\n                }\n                if ((value > zone.start || startFlag) &&\n                    (value < zone.end || endFlag)) {\n                    zone.wholeVolumeData += volumeYData[i];\n                    if (previousValue > value) {\n                        zone.negativeVolumeData += volumeYData[i];\n                    }\n                    else {\n                        zone.positiveVolumeData += volumeYData[i];\n                    }\n                }\n            }\n            indicator.volumeDataArray.push(zone.wholeVolumeData);\n        });\n        return priceZones;\n    };\n    // Function responsible for drawing additional lines indicating zones\n    VBPIndicator.prototype.drawZones = function (chart, yAxis, zonesValues, zonesStyles) {\n        var indicator = this,\n            renderer = chart.renderer,\n            leftLinePos = 0,\n            rightLinePos = chart.plotWidth,\n            verticalOffset = chart.plotTop;\n        var zoneLinesSVG = indicator.zoneLinesSVG,\n            zoneLinesPath = [],\n            verticalLinePos;\n        zonesValues.forEach(function (value) {\n            verticalLinePos = yAxis.toPixels(value) - verticalOffset;\n            zoneLinesPath = zoneLinesPath.concat(chart.renderer.crispLine([[\n                    'M',\n                    leftLinePos,\n                    verticalLinePos\n                ], [\n                    'L',\n                    rightLinePos,\n                    verticalLinePos\n                ]], zonesStyles.lineWidth));\n        });\n        // Create zone lines one path or update it while animating\n        if (zoneLinesSVG) {\n            zoneLinesSVG.animate({\n                d: zoneLinesPath\n            });\n        }\n        else {\n            zoneLinesSVG = indicator.zoneLinesSVG =\n                renderer\n                    .path(zoneLinesPath)\n                    .attr({\n                    'stroke-width': zonesStyles.lineWidth,\n                    'stroke': zonesStyles.color,\n                    'dashstyle': zonesStyles.dashStyle,\n                    'zIndex': indicator.group.zIndex + 0.1\n                })\n                    .add(indicator.group);\n        }\n    };\n    /* *\n     *\n     *  Static Properties\n     *\n     * */\n    /**\n     * Volume By Price indicator.\n     *\n     * This series requires `linkedTo` option to be set.\n     *\n     * @sample stock/indicators/volume-by-price\n     *         Volume By Price indicator\n     *\n     * @extends      plotOptions.sma\n     * @since        6.0.0\n     * @product      highstock\n     * @requires     stock/indicators/indicators\n     * @requires     stock/indicators/volume-by-price\n     * @optionparent plotOptions.vbp\n     */\n    VBPIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {\n        /**\n         * @excluding index, period\n         */\n        params: {\n            // Index and period are unchangeable, do not inherit (#15362)\n            index: void 0,\n            period: void 0,\n            /**\n             * The number of price zones.\n             */\n            ranges: 12,\n            /**\n             * The id of volume series which is mandatory. For example using\n             * OHLC data, volumeSeriesID='volume' means the indicator will be\n             * calculated using OHLC and volume values.\n             */\n            volumeSeriesID: 'volume'\n        },\n        /**\n         * The styles for lines which determine price zones.\n         */\n        zoneLines: {\n            /**\n             * Enable/disable zone lines.\n             */\n            enabled: true,\n            /**\n             * Specify the style of zone lines.\n             *\n             * @type    {Highcharts.CSSObject}\n             * @default {\"color\": \"#0A9AC9\", \"dashStyle\": \"LongDash\", \"lineWidth\": 1}\n             */\n            styles: {\n                /** @ignore-option */\n                color: '#0A9AC9',\n                /** @ignore-option */\n                dashStyle: 'LongDash',\n                /** @ignore-option */\n                lineWidth: 1\n            }\n        },\n        /**\n         * The styles for bars when volume is divided into positive/negative.\n         */\n        volumeDivision: {\n            /**\n             * Option to control if volume is divided.\n             */\n            enabled: true,\n            styles: {\n                /**\n                 * Color of positive volume bars.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                positiveColor: 'rgba(144, 237, 125, 0.8)',\n                /**\n                 * Color of negative volume bars.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                negativeColor: 'rgba(244, 91, 91, 0.8)'\n            }\n        },\n        // To enable series animation; must be animationLimit > pointCount\n        animationLimit: 1000,\n        enableMouseTracking: false,\n        pointPadding: 0,\n        zIndex: -1,\n        crisp: true,\n        dataGrouping: {\n            enabled: false\n        },\n        dataLabels: {\n            align: 'left',\n            allowOverlap: true,\n            enabled: true,\n            format: 'P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}',\n            padding: 0,\n            style: {\n                /** @internal */\n                fontSize: '0.5em'\n            },\n            verticalAlign: 'top'\n        }\n    });\n    return VBPIndicator;\n}(SMAIndicator));\nextend(VBPIndicator.prototype, {\n    nameBase: 'Volume by Price',\n    nameComponents: ['ranges'],\n    calculateOn: {\n        chart: 'render',\n        xAxis: 'afterSetExtremes'\n    },\n    pointClass: VBP_VBPPoint,\n    markerAttribs: noop,\n    drawGraph: noop,\n    getColumnMetrics: columnProto.getColumnMetrics,\n    crispCol: columnProto.crispCol\n});\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('vbp', VBPIndicator);\n/* *\n *\n *  Default Export\n *\n * */\n/* harmony default export */ var VBP_VBPIndicator = ((/* unused pure expression or super */ null && (VBPIndicator)));\n/* *\n *\n *  API Options\n *\n * */\n/**\n * A `Volume By Price (VBP)` series. If the [type](#series.vbp.type) option is\n * not specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends   series,plotOptions.vbp\n * @since     6.0.0\n * @product   highstock\n * @excluding dataParser, dataURL, compare, compareBase, compareStart\n * @requires  stock/indicators/indicators\n * @requires  stock/indicators/volume-by-price\n * @apioption series.vbp\n */\n''; // To include the above in the js output\n\n;// ./code/es5/es-modules/masters/indicators/volume-by-price.src.js\n\n\n\n\n/* harmony default export */ var volume_by_price_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__512__","extendStatics","__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__","volume_by_price_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_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","VBPPoint","_super","apply","arguments","destroy","negativeGraphic","seriesTypes","sma","pointClass","VBPIndicator_extends","TypeError","String","animObject","noop","_a","columnProto","column","SMAIndicator","addEvent","arrayMax","arrayMin","correctFloat","defined","error","extend","isArray","merge","abs","Math","VBPIndicator","init","chart","options","indicator","data","unbinder","params","baseSeries","linkedParent","volumeSeries","volumeSeriesID","addCustomEvents","order","toEmptyIndicator","redraw","setData","zoneStarts","zoneLinesSVG","dataEventsToUnbind","push","animate","series","inverted","group","attr","position","yAxis","top","xAxis","left","translateY","translateX","animation","step","val","fx","scaleX","max","pos","drawPoints","volumeDivision","enabled","posNegVolume","initVol","pointWidth","priceZone","wholeVol","point","signOrder","pointLength","points","length","posWidths","negWidths","i","graphic","shapeArgs","width","priceZones","wholeVolumeData","positiveVolumeData","negativeVolumeData","color","styles","positiveColor","negativeColor","x","translate","maxVolume","primalBarWidth","barHeight","barHeightP","oldBarHeight","barWidth","pointPadding","chartPlotTop","barX","barY","yAxisMin","min","zoneLinesOptions","zoneLines","yBarOffset","indicatorPoints","volumeDataArray","plotWidth","plotTop","toPixels","rangeStep","forEach","index","plotX","plotY","start","reversed","crispCol","volumeNeg","volumePos","volumeAll","drawZones","getExtremes","ret","prevCompare","compare","prevCumulative","cumulative","getValues","xValues","getColumn","yValues","processedYData","ranges","VBP","xData","yData","errorMessage","isOHLC","name","specifyZones","zone","end","values","rangeExtremes","arrayExtremesOHLC","currentPoint","dataLength","lowRange","highRange","j","mainSeries","compareToMain","dataModify","modifyValue","zoneStartsLength","volumePerZone","previousValue","startFlag","endFlag","value","volumeXData","volumeYData","lastZoneIndex","baseSeriesLength","volumeSeriesLength","unshift","zonesValues","zonesStyles","verticalLinePos","renderer","rightLinePos","verticalOffset","zoneLinesPath","concat","crispLine","lineWidth","path","dashStyle","zIndex","add","defaultOptions","period","animationLimit","enableMouseTracking","crisp","dataGrouping","dataLabels","align","allowOverlap","format","padding","style","fontSize","verticalAlign","nameBase","nameComponents","calculateOn","markerAttribs","drawGraph","getColumnMetrics","registerSeriesType"],"mappings":"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"}

Hacked By AnonymousFox1.0, Coded By AnonymousFox