Hacked By AnonymousFox
{"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