highcharts
Version:
JavaScript charting framework
14 lines • 3.1 kB
JavaScript
!/**
* Highstock JS v12.6.0 (2026-04-13)
* @module highcharts/indicators/mfi
* @requires highcharts
* @requires highcharts/modules/stock
*
* Money Flow Index indicator for Highcharts Stock
*
* (c) 2010-2026 Highsoft AS
* Author: Grzegorz Blachliński
*
* A commercial license may be required depending on use.
* See www.highcharts.com/license
*/function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/indicators/mfi",["highcharts/highcharts"],function(e){return t(e,e.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/indicators/mfi"]=t(e._Highcharts,e._Highcharts.SeriesRegistry):e.Highcharts=t(e.Highcharts,e.Highcharts.SeriesRegistry)}("u"<typeof window?this:window,(e,t)=>(()=>{"use strict";var r={512:e=>{e.exports=t},944:t=>{t.exports=e}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};n.d(i,{default:()=>x});var s=n(944),a=n.n(s),u=n(512),c=n.n(u);let{doc:f,win:l}=a();function p(e){return d(e)&&"number"==typeof e.nodeType}function h(e){let t=Object.prototype.toString.call(e);return"[object Array]"===t||"[object Array Iterator]"===t}function d(e,t){return!!e&&"object"==typeof e&&(!t||!h(e))}Array.prototype.find;let{sma:y}=c().seriesTypes;function g(e){return e.reduce(function(e,t){return e+t})}function m(e){return(e[1]+e[2]+e[3])/3}class v extends y{getValues(e,t){let r=t.period,o=e.xData,n=e.yData,i=n?n.length:0,a=t.decimals,u=e.chart.get(t.volumeSeriesID),c=u?.getColumn("y")||[],f=[],l=[],p=[],d=[],y=[],v,x,b,j,S,_,O=!1,D=1;if(!u)return void(0,s.error)("Series "+t.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,e.chart);if(!(o.length<=r)&&h(n[0])&&4===n[0].length&&c){for(v=m(n[D]);D<r+1;)x=v,O=(v=m(n[D]))>=x,b=v*c[D],d.push(O?b:0),y.push(O?0:b),D++;for(_=D-1;_<i;_++){var w;_>D-1&&(d.shift(),y.shift(),x=v,O=(v=m(n[_]))>x,b=v*c[_],d.push(O?b:0),y.push(O?0:b)),j=g(y),w=100-100/(1+g(d)/j),S=parseFloat(w.toFixed(a)),f.push([o[_],S]),l.push(o[_]),p.push(S)}return{values:f,xData:l,yData:p}}}}v.defaultOptions=function(e,...t){let r,o=[e,...t],n={},i=function(e,t){return"object"!=typeof e&&(e={}),function(e,t,r){for(let r in e)Object.hasOwnProperty.call(e,r)&&t.call((0,e[r]),e[r],r,e)}(t,function(r,o){if("__proto__"!==o&&"constructor"!==o){let n;!d(r,!0)||(n=r?.constructor,d(r,!0)&&!p(r)&&n?.name&&"Object"!==n.name)||p(r)?e[o]=t[o]:e[o]=i(e[o]||{},r)}}),e};!0===e&&(n=o[1],o=Array.prototype.slice.call(o,2));let s=o.length;for(r=0;r<s;r++)n=i(n,o[r]);return n}(y.defaultOptions,{params:{index:void 0,volumeSeriesID:"volume",decimals:4}}),function(e,t){let r;for(r in e||(e={}),t)e[r]=t[r]}(v.prototype,{nameBase:"Money Flow Index"}),c().registerSeriesType("mfi",v);let x=a();return i.default})());