!/** * Highstock JS v11.4.1 (2024-04-04) * * Indicator series type for Highcharts Stock * * (c) 2010-2024 Wojciech Chmiel * * License: www.highcharts.com/license */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/indicators/chaikin",["highcharts","highcharts/modules/stock"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Stock/Indicators/AD/ADIndicator.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t){let{sma:i}=e.seriesTypes,{error:s,extend:r,merge:o}=t;class a extends i{static populateAverage(e,t,i,s,r){let o=t[s][1],a=t[s][2],n=t[s][3],u=i[s];return[e[s],n===o&&n===a||o===a?0:(2*n-a-o)/(o-a)*u]}getValues(e,t){let i,r,o;let n=t.period,u=e.xData,l=e.yData,d=t.volumeSeriesID,p=e.chart.get(d),c=p&&p.yData,h=l?l.length:0,f=[],m=[],g=[];if(!(u.length<=n)||!h||4===l[0].length){if(!p){s("Series "+d+" not found! Check `volumeSeriesID`.",!0,e.chart);return}for(r=n;r0&&(o[1]+=f[i-1][1]),f.push(o),m.push(o[0]),g.push(o[1]);return{values:f,xData:m,yData:g}}}}return a.defaultOptions=o(i.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume"}}),r(a.prototype,{nameComponents:!1,nameBase:"Accumulation/Distribution"}),e.registerSeriesType("ad",a),a}),i(t,"Stock/Indicators/Chaikin/ChaikinIndicator.js",[t["Stock/Indicators/AD/ADIndicator.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{ema:s}=t.seriesTypes,{correctFloat:r,extend:o,merge:a,error:n}=i;class u extends s{getValues(t,i){let s,o;let a=i.periods,u=i.period,l=[],d=[],p=[];if(2!==a.length||a[1]<=a[0]){n('Error: "Chaikin requires two periods. Notice, first period should be lower than the second one."');return}let c=e.prototype.getValues.call(this,t,{volumeSeriesID:i.volumeSeriesID,period:u});if(!c)return;let h=super.getValues.call(this,c,{period:a[0]}),f=super.getValues.call(this,c,{period:a[1]});if(!h||!f)return;let m=a[1]-a[0];for(o=0;o