UNPKG

highcharts

Version:
9 lines 2.26 kB
/** * Highstock JS v11.3.0 (2024-01-10) * * Parabolic SAR Indicator for Highcharts Stock * * (c) 2010-2024 Grzegorz Blachliński * * License: www.highcharts.com/license */!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/indicators/psar",["highcharts","highcharts/modules/stock"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,a){t.hasOwnProperty(e)||(t[e]=a.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Stock/Indicators/PSAR/PSARIndicator.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{sma:i}=t.seriesTypes,{merge:a}=e;function n(t,e){return parseFloat(t.toFixed(e))}class r extends i{constructor(){super(...arguments),this.nameComponents=void 0}getValues(t,e){let i=t.xData,a=t.yData,r=e.maxAccelerationFactor,s=e.increment,o=e.initialAccelerationFactor,c=e.decimals,l=e.index,u=[],d=[],h=[],p=e.initialAccelerationFactor,m,f=a[0][1],x,g,y,v=1,A,F,M,S,j=a[0][2],C,w,D,H;if(!(l>=a.length)){for(H=0;H<l;H++)f=Math.max(a[H][1],f),j=Math.min(a[H][2],n(j,c));for(m=a[H][1]>j?1:-1,x=f-j,g=(p=e.initialAccelerationFactor)*x,u.push([i[l],j]),d.push(i[l]),h.push(n(j,c)),H=l+1;H<a.length;H++)if(A=a[H-1][2],F=a[H-2][2],M=a[H-1][1],S=a[H-2][1],w=a[H][1],D=a[H][2],null!==F&&null!==S&&null!==A&&null!==M&&null!==w&&null!==D){var P,k,E,O,R,b,I,T,W,L,U,V,_;R=m,b=v,I=j,T=g,W=f,j=R===b?1===R?I+T<Math.min(F,A)?I+T:Math.min(F,A):I+T>Math.max(S,M)?I+T:Math.max(S,M):W,P=m,k=f,C=1===P?w>k?w:k:D<k?D:k,E=v,O=j,L=y=1===E&&D>O||-1===E&&w>O?1:-1,U=m,V=f,_=p,g=(p=L===U?1===L&&C>V||-1===L&&C<V?_===r?r:n(_+s,2):_:o)*(x=C-j),u.push([i[H],n(j,c)]),d.push(i[H]),h.push(n(j,c)),v=m,m=y,f=C}return{values:u,xData:d,yData:h}}}}return r.defaultOptions=a(i.defaultOptions,{lineWidth:0,marker:{enabled:!0},states:{hover:{lineWidthPlus:0}},params:{period:void 0,initialAccelerationFactor:.02,maxAccelerationFactor:.2,increment:.02,index:2,decimals:4}}),t.registerSeriesType("psar",r),r}),i(e,"masters/indicators/psar.src.js",[],function(){})});