-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTradingAlgorithm.min.js
1 lines (1 loc) · 19.5 KB
/
TradingAlgorithm.min.js
1
export default new function(){this.Add=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e+n;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]+n[t]}}return i}let l;let f;if(t){l=e;f=n}else{l=n;f=e}for(let t in f){i[t]=null;if(!isNaN(f[t])&&!isNaN(l))i[t]=l+f[t]}return i};this.Subtract=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e-n;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]-n[t]}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e-n[t]}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]-n}}return i};this.Multiply=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e*n;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]*n[t]}}return i}let l;let f;if(t){l=e;f=n}else{l=n;f=e}for(let t in f){i[t]=null;if(!isNaN(f[t])&&!isNaN(l))i[t]=l*f[t]}return i};this.Divide=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r){if(n==0)return null;return e/n}let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(this.IsNumber(e[t])&&this.IsDivideNumber(n[t]))i[t]=e[t]/n[t]}}return i}if(t){for(let t in n){i[t]=null;if(this.IsNumber(e)&&this.IsDivideNumber(n[t]))i[t]=e/n[t]}}else{for(let t in e){i[t]=null;if(this.IsNumber(e[t])&&this.IsDivideNumber(n))i[t]=e[t]/n}}return i};this.GT=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e>n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]>n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e>n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]>n?1:0}}return i};this.GTE=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e>=n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]>=n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e>=n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]>=n?1:0}}return i};this.LT=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e>=n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]<n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e<n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]<n?1:0}}return i};this.LTE=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e>=n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]<=n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e<=n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]<=n?1:0}}return i};this.EQ=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e==n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]==n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e==n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]==n?1:0}}return i};this.And=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e&&n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]&&n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e&&n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]&&n?1:0}}return i};this.Or=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return e||n?1:0;let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=e[t]||n[t]?1:0}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=e||n[t]?1:0}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=e[t]||n?1:0}}return i};this.IF=function(r,e,n){let t=typeof r=="number";let i=typeof e=="number";let l=typeof n=="number";if(t){if(i&&l)return r?e:n;return r?e:n}let f=[];for(let t in r){if(r[t]){if(i)f[t]=e;else f[t]=e[t]}else{if(l)f[t]=n;else f[t]=n[t]}}return f};this.REF=function(r,e){let n=[];if(typeof e=="number"){if(r.length<=0)return n;if(e>=r.length)return n;n=r.slice(0,r.length-e);for(let t=0;t<e;++t)n.unshift(null)}else{for(let t=0;t<r.length;++t){n[t]=null;if(t>=e.length)continue;var i=e[t];if(i>0&&i<=t)n[t]=r[t-i];else if(t)n[t]=n[t-1];else n[t]=r[t]}}return n};this.MAX=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return Math.max(e,n);let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=Math.max(e[t],n[t])}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=Math.max(e,n[t])}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=Math.max(e[t],n)}}return i};this.MIN=function(e,n){let t=typeof e=="number";let r=typeof n=="number";if(t&&r)return Math.min(e,n);let i=[];if(!t&&!r){let r=Math.max(e.length,n.length);for(let t=0;t<r;++t){i[t]=null;if(t<e.length&&t<n.length){if(!isNaN(e[t])&&!isNaN(n[t]))i[t]=Math.min(e[t],n[t])}}return i}if(t){for(let t in n){i[t]=null;if(!isNaN(e)&&!isNaN(n[t]))i[t]=Math.min(e,n[t])}}else{for(let t in e){i[t]=null;if(!isNaN(e[t])&&!isNaN(n))i[t]=Math.min(e[t],n)}}return i};this.ABS=function(r){let e=[];for(let t in r){e[t]=null;if(!isNaN(r[t]))e[t]=Math.abs(r[t])}return e};this.MA=function(n,i){if(i<=0)i=1;let t=[];if(!n||!n.length)return t;for(var l=0;l<n.length;++l){t[l]=null;if(this.IsNumber(n[l]))break}var n=n.slice(0);for(var f=0;l<n.length;++l,++f){if(f<i-1){t[l]=null;continue}let r=n[l-(i-1)];let e=0;for(let t=i-1;t>=0;--t){var u=n[l-t];if(!this.IsNumber(u)){u=r;n[l-t]=u}else{r=u}e+=u}t[l]=e/i}return t};this.EMA=function(t,r){var e=[];var n=0;if(n>=t.length)return e;for(;n<t.length;++n){if(t[n]!=null&&!isNaN(t[n]))break}var i=n;var l=n+1;e[i]=t[i];for(var f=n+1;f<t.length;++f,++i,++l){e[l]=(2*t[l]+(r-1)*e[i])/(r+1)}return e};this.SMA=function(t,r,e){var n=[];var i=0;var l=null;for(;i<t.length;++i){if(t[i]==null||isNaN(t[i]))continue;l=t[i];n[i]=l;break}for(++i;i<t.length;++i){n[i]=(e*t[i]+(r-e)*l)/r;l=n[i]}return n};this.DMA=function(t,r){var e=[];if(t.length<0||t.length!=r.length)return e;var n=0;for(;n<t.length;++n){if(t[n]!=null&&!isNaN(t[n])&&r[n]!=null&&!isNaN(r[n])){e[n]=t[n];break}}for(n=n+1;n<t.length;++n){if(t[n]==null||r[n]==null)e[n]=null;else{if(t[n]<1)e[n]=r[n]*t[n]+(1-r[n])*e[n-1];else e[n]=t[n]}}return e};this.EXPMA=function(t,r){let e=[];if(r>=t.length)return e;let n=r;for(;n<t.length;++n){if(t[n]!=null){e[n]=t[n];break}}for(n=n+1;n<t.length;++n){if(e[n-1]!=null&&t[n]!=null)e[n]=(2*t[n]+(r-1)*e[n-1])/(r+1);else if(e[n-1]!=null)e[n]=e[n-1]}return e};this.EXPMEMA=function(t,r){var e=[];if(r>=t.length)return e;var n=0;for(;n<t.length;++n){if(t[n]&&!isNaN(t[n]))break}var i=0;for(var l=0;n<t.length&&l<r;++l,++n){if(t[n]&&!isNaN(t[n]))i+=t[n];else i+=t[n-1]}e[n-1]=i/r;for(;n<t.length;++n){if(e[n-1]!=null&&t[n]!=null)e[n]=(2*t[n]+(r-1)*e[n-1])/(r+1);else if(e[n-1]!=null)e[n]=e[n-1]}return e};this.COUNT=function(n,i){let t=[];for(let e=0;e<n.length;++e){let r=0;for(let t=0;t<i&&e-t>=0;++t){if(n[e-t])++r}t[e]=r}return t};this.HHV=function(t,r){let e=[];if(Array.isArray(r)){var n=null;for(var i=0,l=0;i<t.length;++i){e[i]=null;if(i>=r.length)continue;n=null;var f=r[i];if(f>0&&f<=i){for(l=i-f;l<=i;++l){if(n==null||n<t[l])n=t[l]}}else{f=i;for(l=0;l<=i;++l){if(n==null||n<t[l])n=t[l]}}e[i]=n}}else{if(r>t.length)return e;if(r<=0)r=t.length-1;var n=null;for(var i=r,l=0;i<t.length;++i,++l){if(n==null||i<r+n){n=t[i]<t[n]?n:i}else{for(l=(n=i-r+1)+1;l<=i;++l){if(t[l]>t[n])n=l}}e[i]=t[n]}}return e};this.LLV=function(t,r){var e=[];if(Array.isArray(r)){for(var n=0;n<t.length;++n){e[n]=null;if(n>=r.length)continue;var i=null;var l=r[n];if(l>0&&l<=n){for(var f=n-l;f<=n;++f){if(i==null||i>t[f])i=t[f]}}else{l=n;for(var f=0;f<=n;++f){if(i==null||i>t[f])i=t[f]}}e[n]=i}}else{if(r>t.length)return e;if(r<=0)r=t.length-1;var i=null;for(var n=r;n<t.length;++n,++f){if(i==null||n<r+i){i=t[n]>t[i]?i:n}else{for(var f=(i=n-r+1)+1;f<=n;++f){if(t[f]<t[i])i=f}}e[n]=t[i]}}return e};this.STD=function(t,r){var e=[];var n=0;var i=[];for(var l=r-1;l<t.length;++l){n=0;for(var f=0;f<r;++f){n+=t[l-f]}i[l]=n/r}for(var l=r-1;l<t.length;++l){n=0;for(var f=0;f<r;++f){n+=Math.pow(t[l-f]-i[l],2)}e[l]=Math.sqrt(n/r)}return e};this.AVEDEV=function(t,r){var e=[];var n=0;var i=[];for(var l=r-1;l<t.length;++l){n=0;for(var f=0;f<r;++f){n+=t[l-f]}i[l]=n/r}for(var l=r-1;l<t.length;++l){n=0;for(var f=0;f<r;++f){n+=Math.abs(t[l-f]-i[l])}e[l]=n/r}return e};this.CROSS=function(t,r){var e=[];if(Array.isArray(t)&&Array.isArray(r)){if(t.length!=r.length)return e=[];var n=0;for(;n<t.length;++n){if(this.IsNumber(t[n])&&this.IsNumber(r[n]))break}for(++n;n<t.length;++n){e[n]=t[n]>r[n]&&t[n-1]<r[n-1]?1:0}}else if(Array.isArray(t)&&typeof r=="number"){var n=0;for(;n<t.length;++n){if(this.IsNumber(t[n]))break}for(++n;n<t.length;++n){e[n]=t[n]>r&&t[n-1]<r?1:0}}else if(typeof t=="number"&&Array.isArray(r)){var n=0;for(;n<r.length;++n){if(this.IsNumber(r[n]))break}for(++n;n<r.length;++n){e[n]=r[n]>t&&r[n-1]<t?1:0}}return e};this.MULAR=function(t,r){var e=[];if(t.length<r)return e;var n=r;for(;n<t.length;++n){if(t[n]!=null&&!isNaN(t[n])){e[n]=t[n];break}}for(++n;n<t.length;++n){e[n]=e[n-1]*t[n]}return e};this.SUM=function(t,r){var e=[];if(r==0){e[0]=t[0];for(var n=1;n<t.length;++n){e[n]=e[n-1]+t[n]}}else{for(var n=r-1,i=0;n<t.length;++n,++i){for(var l=0;l<r;++l){if(l==0)e[n]=t[l+i];else e[n]+=t[l+i]}}}return e};this.BARSCOUNT=function(r){let e=[];let n=null;for(let t in r){e[t]=0;if(n==null){if(!this.IsNumber(r[t]))contnue;n=0}e[t]=n;++n}return e};this.DEVSQ=function(t,r){var e=[];if(typeof r!="number")r=parseInt(r);var n=r;var i=t.length;var l=0,f=0,u=0;var a=0,s=0;for(l=0;l<i&&!this.isNumber(t[l]);++l){e[l]=null}if(n<1||l+n>i)return e;for(a=0;l<i&&f<n;++l,++f)a+=t[l]/n;if(f==n){s=0;for(l--;u<n;u++)s+=(t[l-u]-a)*(t[l-u]-a);e[l]=s;l++}for(;l<i;++l){a+=(t[l]-t[l-n])/n;for(s=0,u=0;u<n;++u)s+=(t[l-u]-a)*(t[l-u]-a);e[l]=s}return e};this.NOT=function(r){let t=typeof r=="number";if(t)return r?0:1;let e=[];for(let t in r){e[t]=null;if(this.IsNumber(r[t]))e[t]=r[t]?0:1}return e};this.FORCAST=function(t,r){var e=[];if(typeof r!="number")r=parseInt(r);var n=r;var i=t.length;if(n<1||n>=i)return e;var l=0,f=0,u=0,h=0,o,N;var a,s;for(s=0;s<i&&!this.isNumber(t[s]);++s){e[s]=null}for(a=s+n-1;a<i;++a){l=f=u=h=0;for(s=0;s<n&&s<=a;++s){l+=a-s;f+=t[a-s]}l/=n;f/=n;for(s=0;s<n&&s<=a;++s){u+=(a-s-l)*(t[a-s]-f);h+=(a-s-l)*(a-s-l)}N=u/h;o=(f-l*N)/n;e[a]=N*n+o}};this.SLOPE=function(r,e){let n=[];if(typeof e!="number")e=parseInt(e);if(e<1||!r.length)return n;if(e>=r.length)return n;let i=0;for(let t=0;t<r.length;++t,++i){n[t]=null;if(this.IsNumber(r[t]))break}let l,f,u,a;for(let t=i+e-1;t<r.length;++t){n[t]=null;l=f=u=a=0;for(var s=0;s<e&&s<=t;++s){l+=t-s;f+=r[t-s]}l=l/e;f=f/e;for(s=0;s<e&&s<=t;++s){u+=(t-s-l)*(r[t-s]-f);a+=(t-s-l)*(t-s-l)}if(a)n[t]=u/a;else if(t)n[t]=n[t-1]}return n};this.STDP=function(t,r){var e=[];if(typeof r!="number")r=parseInt(r);var n=r;var i=t.length;if(n<1||n>=i)return e;var l=0,f=0;for(l=0;l<i&&!this.isNumber(t[l]);++l){e[l]=null}var u=0,a=0,s;for(;l<i&&f<n;++l,++f){u+=t[l]*t[l];a+=t[l]}if(f==n){s=n*u-a*a;e[l-1]=Math.sqrt(s)/n}for(;l<i;++l){u+=t[l]*t[l]-t[l-n]*t[l-n];a+=t[l]-t[l-n];s=n*u-a*a;e[l]=Math.sqrt(s)/n}};this.VAR=function(t,r){var e=[];if(typeof r!="number")r=parseInt(r);var n=r;var i=t.length;if(n<=1||n>=i)return e;var l,f;for(l=0;l<i&&!this.IsNumber(t[l]);++l){e[l]=null}var u,a;for(f=0,l=l+n-1;l<i;++l){u=a=0;for(f=0;f<n&&f<=l;++f){u+=t[l-f]*t[l-f];a+=t[l-f]}e[l]=(n*u-a*a)/n*(n-1)}return e};this.VARP=function(t,r){var e=[];if(typeof r!="number")r=parseInt(r);var n=r;var i=t.length;if(n<1||n>=i)return e;var l=0,f=0;for(l=0;l<i&&!this.IsNumber(t[l]);++l){e[l]=null}var u=0,a=0;for(;l<i&&f<n;++l,++f){u+=t[l]*t[l];a+=t[l]}if(f==n)e[l-1]=(n*u-a*a)/(n*n);for(;l<i;++l){u+=t[l]*t[l]-t[l-n]*t[l-n];a+=t[l]-t[l-n];e[l]=(n*u-a*a)/(n*n)}return e};this.RANGE=function(t,e,n){let r=typeof t=="number";let i=typeof e=="number";let l=typeof n=="number";if(r&&i&&l){if(t>Math.min(e,n)&&t<Math.max(e,n))return 1;else return 0}let f=[];let u,a,s;for(let r=0;r<t.length;++r){f[r]=null;u=t[r];if(!this.IsNumber(u))continue;if(!i){if(r>=e.length)continue;a=e[r]}else{a=e}if(!this.IsNumber(a))continue;if(!l){if(r>=n.length)continue;let t=n[r]}else{let t=n}if(!this.IsNumber(rangeValue2))continue;f[r]=u>Math.min(a,rangeValue2)&&u<Math.max(a,rangeValue2)?1:0}return f};this.EXIST=function(r,e){e=parseInt(e);if(typeof r=="number")return 0;var n;var i=[];var l;for(let t=0;t<r.length;++t){i[t]=null;l=r[t];if(this.IsNumber(l)&&l>0)n==t;if(t-n<e)i[t]=1;else i[t]=0}return i};this.TFILTER=function(t,r,e){e=parseInt(e);var n=[];let i=typeof t=="number";let l=typeof range=="number";let f=Math.max(t.length,r.length);for(let t=0;t<f;++t){}return n};this.FILTER=function(e,n){var i=[];for(let t=0,r=0;t<e.length;++t){if(e[t]){i[t]=1;for(r=0;r<n&&r+t+1<e.length;++r){i[r+t+1]=0}t+=n}else{i[t]=0}}return i};this.BARSLAST=function(r){var e=[];if(!r)return e;let n=null;for(let t=0;t<r.length;++t){e[t]=null;if(r[t]>0)n=0;else if(n!=null)++n;if(n!=null)e[t]=n}return e};this.BARSSINCEN=function(r,e){var n=[];var i=null;for(let t=0;t<r.length;++t){n[t]=null;if(i==null){if(r[t])i=0}else{if(r[t]){if(i+1<e)++i}else{i=null}}if(i)n[t]=i}return n};this.BARSSINCE=function(r){var e=[];var n=null;for(let t=0;t<r.length;++t){e[t]=null;if(n==null){if(r[t])n=0}else{++n}if(n)e[t]=n}return e};this.Trigonometric=function(r,e){if(!Array.isArray(r)){if(this.IsNumber(r))return e(r);return null}else{var n=[];for(let t in r){var i=r[t];if(this.IsNumber(i))n[t]=e(i);else n[t]=null}return n}};this.LAST=function(e,n,i){var l=[];if(i<=0)i=e.length-1;if(i>n)return l;var f=0;for(let t=0,r=0;t<e.length;++t){l[t]=0;f=0;var u=t-n;var a=t-i;if(u<0||a<0)continue;for(r=u;r<e.length&&r<=a;++r,++f){if(!e[r])break}if(f==a-u+1)l[t]=1}return l};this.EVERY=function(t,r){var e=[];if(r<1)return e;var n=0;for(;n<t.length;++n){e[n]=null;if(this.IsNumber(t[n]))break}var i=0;for(;n<t.length;++n){if(t[n])i+=1;else i=0;if(i==r){e[n]=1;--i}else{e[n]=0}}return e};this.UPNDAY=function(r,e){var n=[];if(e<1)return n;if(r==null||e>r.length)return n;var i=0;for(let t=0;t<r.length;++t){n[t]=0;if(t-1<0)continue;if(!this.IsNumber(r[t])||!this.IsNumber(r[t-1])){i=0;continue}if(r[t]>r[t-1])++i;else i=0;if(i==e){n[t]=1;--i}}return n};this.DOWNNDAY=function(r,e){var n=[];if(e<1)return n;if(r==null||e>r.length)return n;var i=0;for(let t=0;t<r.length;++t){n[t]=0;if(t-1<0)continue;if(!this.IsNumber(r[t])||!this.IsNumber(r[t-1])){i=0;continue}if(r[t]<r[t-1])++i;else i=0;if(i==e){n[t]=1;--i}}return n};this.NDAY=function(r,e,n){var i=[];if(n<1)return i;if(!Array.isArray(r)&&!Array.isArray(e))return i;if(r==null||e==null)return i;if(Array.isArray(r)&&Array.isArray(e)){if(n>=r.length||n>=e.length)return i;var l=Math.max(r.length,e.length);var f=0;for(let t=0;t<l;++t){i[t]=0;if(t>=r.length||t>=e.length)continue;if(!this.IsNumber(r[t])||!this.IsNumber(e[t])){f=0;continue}if(r[t]>e[t])++f;else f=0;if(f==n){i[t]=1;--f}}}else if(Array.isArray(r)&&!Array.isArray(e)){if(n>=r.length||!this.IsNumber(e))return;var f=0;for(let t in r){i[t]=0;if(!this.IsNumber(r[t])){f=0;continue}if(r[t]>e)++f;else f=0;if(f==n){i[t]=1;--f}}}else if(!Array.isArray(r)&&Array.isArray(e)){if(n>=e.length||!this.IsNumber(r))return;var f=0;for(let t in e){i[t]=0;if(!this.IsNumber(e[t])){f=0;continue}if(r>e[t])++f;else f=0;if(f==n){i[t]=1;--f}}}return i};this.LONGCROSS=function(e,n,i){var l=[];var f=Math.max(e.length,n.length);for(let t=0;t<f;++t){l[t]=0;if(t-1<0)continue;if(t>=e.length||t>=n.length)continue;if(!this.IsNumber(e[t])||!this.IsNumber(n[t])||!this.IsNumber(e[t-1])||!this.IsNumber(n[t-1]))continue;if(e[t]>n[t]&&e[t-1]<n[t-1])l[t]=1}for(let t=0,r=0;t<f;++t){if(!l[t])continue;for(r=1;r<=i&&t-r>=0;++r){if(e[t-r]>=n[t-r]){l[t]=0;break}}}return l};this.EXISTR=function(e,n,i){var l=[];if(!Array.isArray(e))return l;n=parseInt(n);i=parseInt(i);if(n<=0)n=e.length;if(i<=0)i=1;if(i>n)return l;var l=[];var f;for(let t=0,r=0;t<e.length;++t){l[t]=null;if(t-n<0||t-i<0)continue;l[t]=0;for(r=n;r>=i;--r){var f=e[t-r];if(this.IsNumber(f)&&f){l[t]=1;break}}}return l};this.RELATE=function(e,n,i){var l=[];if(i<1)i=1;if(!Array.isArray(e)||!Array.isArray(n))return l;var f=this.CalculateAverage(e,i);var u=this.CalculateAverage(n,i);var N=Math.max(e.length,n.length);for(let t=0,r=0;t<N;++t){l[t]=null;if(t>=e.length||t>=n.length||t>=f.length||t>=u.length)continue;var a=f[t];var s=u[t];var h=0,o=0,g=0;for(r=t-i+1;r<=t;++r){h+=(e[r]-a)*(n[r]-s);o+=Math.pow(e[r]-a,2);g+=Math.pow(n[r]-s,2)}l[t]=h/i/(Math.sqrt(o/i)*Math.sqrt(g/i))}return l};this.CalculateAverage=function(t,r){var e=[];if(r<1)return e;var n=0;for(var i=0;i<t.length;++i){if(this.IsNumber(t[i]))break}for(;i<t.length&&i<r;++i){e[i]=null;var l=t[i];if(!this.IsNumber(l))continue;n+=l}e[i-1]=n/r;for(;i<t.length;++i){var l=t[i];var f=t[i-r];if(!this.IsNumber(l))l=0;if(!this.IsNumber(f))f=0;n=n-f+l;e[i]=n/r}return e};this.COVAR=function(e,n,i){var l=[];if(i<1)i=1;if(!Array.isArray(e)||!Array.isArray(n))return l;var f=this.CalculateAverage(e,i);var u=this.CalculateAverage(n,i);var a=Math.max(e.length,n.length);var a=Math.max(e.length,n.length);for(let t=0,r=0;t<a;++t){l[t]=null;if(t>=e.length||t>=n.length||t>=f.length||t>=u.length)continue;var s=f[t];var h=u[t];var o=0;for(r=t-i+1;r<=t;++r){o+=(e[r]-s)*(n[r]-h)}l[t]=o/i}return l};this.HHVBARS=function(t,r){var e=[];if(!Array.isArray(t))return e;if(r<1)r=t.length;var n=null;for(var i=0;i<t.length;++i){e[i]=null;if(this.IsNumber(t[i])){n=i;break}}var l=0;for(i=n+1;i<t.length&&l<r;++i,++l){if(t[i]>=t[n])n=i;if(r==t.length)e[i]=i-n}for(;i<t.length;++i){if(i-n<r){if(t[i]>=t[n])n=i}else{n=i-r+1;for(l=n;l<=i;++l){if(t[l]>=t[n])n=l}}e[i]=i-n}return e};this.LLVBARS=function(t,r){var e=[];if(!Array.isArray(t))return e;if(r<1)r=t.length;var n=null;for(var i=0;i<t.length;++i){e[i]=null;if(this.IsNumber(t[i])){n=i;break}}var l=0;for(i=n+1;i<t.length&&l<r;++i,++l){if(t[i]<=t[n])n=i;if(r==t.length)e[i]=i-n}for(;i<t.length;++i){if(i-n<r){if(t[i]<=t[n])n=i}else{n=i-r+1;for(l=n;l<=i;++l){if(t[l]<=t[n])n=l}}e[i]=i-n}return e};this.ATAN=function(t){return this.Trigonometric(t,Math.atan)};this.ACOS=function(t){return this.Trigonometric(t,Math.acos)};this.ASIN=function(t){return this.Trigonometric(t,Math.asin)};this.COS=function(t){return this.Trigonometric(t,Math.cos)};this.SIN=function(t){return this.Trigonometric(t,Math.sin)};this.TAN=function(t){return this.Trigonometric(t,Math.tan)};this.LN=function(t){return this.Trigonometric(t,Math.log)};this.LOG=function(t){return this.Trigonometric(t,Math.log)};this.EXP=function(t){return this.Trigonometric(t,Math.exp)};this.SQRT=function(t){return this.Trigonometric(t,Math.sqrt)};this.IsNumber=function(t){if(t==null)return false;if(isNaN(t))return false;return true};this.IsDivideNumber=function(t){if(t==null)return false;if(isNaN(t))return false;if(t==0)return false;return true};return this};