st-comp 0.0.148 → 0.0.149

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/components.d.ts +3 -0
  2. package/es/ChartLayout.cjs +1 -1
  3. package/es/ChartLayout.js +2 -2
  4. package/es/Dialog.cjs +1 -1
  5. package/es/Dialog.js +16 -14
  6. package/es/FactorWarning.cjs +1 -1
  7. package/es/FactorWarning.js +576 -632
  8. package/es/Kline.cjs +1 -0
  9. package/es/Kline.js +1901 -0
  10. package/es/KlineBasic.cjs +1 -1
  11. package/es/KlineBasic.js +675 -1428
  12. package/es/KlineNew.cjs +1 -3
  13. package/es/KlineNew.js +314 -2740
  14. package/es/Pagination.cjs +1 -1
  15. package/es/Pagination.js +85 -85
  16. package/es/Table.cjs +1 -1
  17. package/es/Table.js +57 -55
  18. package/es/User.cjs +1 -1
  19. package/es/User.js +89 -87
  20. package/es/VarietySearch.cjs +1 -1
  21. package/es/VarietySearch.js +2393 -1
  22. package/es/VirtualTable.cjs +5 -5
  23. package/es/VirtualTable.js +59 -58
  24. package/es/{_initCloneObject-ec5c9523.js → _initCloneObject-14b53c6f.js} +24 -24
  25. package/es/_initCloneObject-441db749.cjs +1 -0
  26. package/es/{base-950bac7e.js → base-437d17f3.js} +65 -65
  27. package/es/{base-6ccc8fc2.cjs → base-ec05f348.cjs} +1 -1
  28. package/es/{castArray-c770910d.js → castArray-4251bbe4.js} +1 -1
  29. package/es/castArray-a45823fe.cjs +1 -0
  30. package/es/{config-provider-feed0e8a.js → config-provider-55482a43.js} +3 -3
  31. package/es/{config-provider-c87e277f.cjs → config-provider-7cdfca4d.cjs} +1 -1
  32. package/es/{debounce-c64fb3b5.js → debounce-ac30be50.js} +20 -20
  33. package/es/debounce-b2ff12bd.cjs +1 -0
  34. package/es/{dropdown-c9272ca3.js → dropdown-634b5e27.js} +4 -4
  35. package/es/{dropdown-6bdb3cf4.cjs → dropdown-d7c59a21.cjs} +1 -1
  36. package/es/el-button-196807af.cjs +1 -0
  37. package/es/el-button-e1665717.js +235 -0
  38. package/es/el-checkbox-group-492b95cc.cjs +1 -0
  39. package/es/el-checkbox-group-e8fece80.js +67 -0
  40. package/es/{el-empty-12eece57.cjs → el-empty-19ea04f4.cjs} +1 -1
  41. package/es/{el-empty-89a523ed.js → el-empty-bacc6613.js} +1 -1
  42. package/es/{el-form-item-ebbf096d.cjs → el-form-item-5bdffd07.cjs} +2 -2
  43. package/es/{el-form-item-55d36086.js → el-form-item-af1855f0.js} +81 -81
  44. package/es/el-input-23e2bac3.cjs +1 -0
  45. package/es/{el-input-cb528574.js → el-input-4961b99f.js} +80 -80
  46. package/es/el-input-number-40a81eb5.cjs +1 -0
  47. package/es/{el-input-number-ce30bfa8.js → el-input-number-610fc8ba.js} +26 -26
  48. package/es/el-menu-item-78b858f2.cjs +1 -0
  49. package/es/el-menu-item-7d04c11a.js +771 -0
  50. package/es/{el-message-d51d032b.js → el-message-c3b3ac96.js} +18 -18
  51. package/es/{el-message-612c2346.cjs → el-message-d4df8136.cjs} +1 -1
  52. package/es/el-overlay-12dd9b35.js +519 -0
  53. package/es/el-overlay-bc0790a2.cjs +1 -0
  54. package/es/el-popover-0aa071f2.js +138 -0
  55. package/es/el-popover-8a77e015.cjs +1 -0
  56. package/es/{el-popper-f4b01f85.js → el-popper-50100766.js} +31 -31
  57. package/es/el-popper-746070ba.cjs +1 -0
  58. package/es/{el-scrollbar-e8e93751.js → el-scrollbar-562d0595.js} +19 -19
  59. package/es/el-scrollbar-d1c3e7f7.cjs +1 -0
  60. package/es/{el-select-e71af2e6.js → el-select-9381b156.js} +11 -11
  61. package/es/el-select-b162dffc.cjs +1 -0
  62. package/es/el-table-column-55bffba5.js +3802 -0
  63. package/es/el-table-column-6d761fce.cjs +14 -0
  64. package/es/{el-tag-d65768f4.js → el-tag-985d9aff.js} +72 -72
  65. package/es/el-tag-c51a6490.cjs +1 -0
  66. package/es/index-09e01b1d.js +81 -0
  67. package/es/{index-121e2861.js → index-0cb48e01.js} +3 -3
  68. package/es/{index-92ba4292.js → index-39ec9741.js} +17 -17
  69. package/es/{index-18416440.cjs → index-3bf8d597.cjs} +1 -1
  70. package/es/index-657047bb.js +513 -0
  71. package/es/{index-0ed86daf.cjs → index-8a0b1c53.cjs} +1 -1
  72. package/es/{index-674d2fd7.cjs → index-a387515d.cjs} +1 -1
  73. package/es/{index-709675d5.js → index-a902a0d9.js} +18 -18
  74. package/es/{index-da646183.cjs → index-deb8de52.cjs} +1 -1
  75. package/es/index-eea0bcb3.cjs +1 -0
  76. package/es/index.esm-8d9a2abe.js +2432 -0
  77. package/es/index.esm-94a95a2a.cjs +3 -0
  78. package/es/{raf-2d77cbbe.cjs → raf-8fc301fd.cjs} +1 -1
  79. package/es/{raf-f55e0daa.js → raf-b128c7b7.js} +1 -1
  80. package/es/{scroll-ca84f80a.js → scroll-387fcfdb.js} +1 -1
  81. package/es/{scroll-c8ac196e.cjs → scroll-41224831.cjs} +1 -1
  82. package/es/style.css +1 -1
  83. package/es/{use-form-common-props-c1960844.cjs → use-form-common-props-1b84d8f4.cjs} +2 -2
  84. package/es/{use-form-common-props-4d37077d.js → use-form-common-props-f377e500.js} +64 -63
  85. package/es/vnode-7dfd4ed5.js +14 -0
  86. package/es/vnode-7fbc61e1.cjs +1 -0
  87. package/es/{zh-cn-414d7f0c.cjs → zh-cn-ab9a583d.cjs} +1 -1
  88. package/es/{zh-cn-23c8e0d1.js → zh-cn-eb9c2820.js} +2 -2
  89. package/lib/bundle.js +1 -1
  90. package/lib/bundle.umd.cjs +206 -206
  91. package/lib/{index-ffeb163e.js → index-d2de454d.js} +33249 -31372
  92. package/lib/{python-0ec8f68c.js → python-22975586.js} +1 -1
  93. package/lib/style.css +1 -1
  94. package/package.json +1 -1
  95. package/packages/Kline/components/Contextmenu/index.vue +110 -0
  96. package/packages/Kline/components/Tips/index.vue +40 -0
  97. package/packages/Kline/componentsNew/KlineSlide/index.vue +155 -0
  98. package/packages/Kline/componentsNew/KlineSub/index.vue +297 -0
  99. package/packages/Kline/componentsNew/KlineTips/index.vue +66 -0
  100. package/packages/Kline/componentsNew/KlineUtils/index.vue +84 -0
  101. package/packages/Kline/componentsNew/Tips/index.vue +33 -0
  102. package/packages/Kline/formatKlineData.ts +109 -0
  103. package/packages/Kline/images/buy.svg +1 -0
  104. package/packages/Kline/images/pen.png +0 -0
  105. package/packages/Kline/images/sell.svg +1 -0
  106. package/packages/Kline/images/t.svg +1 -0
  107. package/packages/Kline/index.ts +16 -0
  108. package/packages/Kline/index.vue +891 -0
  109. package/packages/Kline/option.ts +539 -0
  110. package/packages/Kline/type.d.ts +219 -0
  111. package/packages/Kline/utils.ts +682 -0
  112. package/packages/index.ts +2 -0
  113. package/src/pages/Kline/index.vue +12 -0
  114. package/src/router/routes.ts +5 -0
  115. package/es/_initCloneObject-476b02ce.cjs +0 -1
  116. package/es/castArray-374558a5.cjs +0 -1
  117. package/es/debounce-a6b4f91b.cjs +0 -1
  118. package/es/el-button-b8f71c7d.cjs +0 -1
  119. package/es/el-button-d7b6eebd.js +0 -745
  120. package/es/el-input-2c7e70a3.cjs +0 -1
  121. package/es/el-input-number-8e168e83.cjs +0 -1
  122. package/es/el-overlay-07414277.js +0 -526
  123. package/es/el-overlay-fb255b83.cjs +0 -1
  124. package/es/el-popper-8360bd91.cjs +0 -1
  125. package/es/el-scrollbar-271142ad.cjs +0 -1
  126. package/es/el-select-2e71d4af.cjs +0 -1
  127. package/es/el-table-column-9fe79f05.cjs +0 -14
  128. package/es/el-table-column-dc562f14.js +0 -3933
  129. package/es/el-tag-930e7b32.cjs +0 -1
  130. package/es/index-aece600c.js +0 -81
package/es/KlineNew.js CHANGED
@@ -1,2499 +1,73 @@
1
- import { defineComponent as Ae, openBlock as Q, createElementBlock as oe, Fragment as _n, renderList as An, normalizeStyle as oi, toDisplayString as sn, computed as Ce, createVNode as ge, ref as Dn, onMounted as dn, onUnmounted as In, nextTick as ii, createElementVNode as mn, withCtx as ri, createBlock as ui, createCommentVNode as li, watch as pi } from "vue";
2
- import { _ as Ne } from "./_plugin-vue_export-helper-dad06003.js";
3
- import { x as Tn } from "./index-8542fe24.js";
4
- import "./base-950bac7e.js";
5
- import "./el-tag-d65768f4.js";
6
- import { E as si, a as mi } from "./el-select-e71af2e6.js";
7
- import "./el-scrollbar-e8e93751.js";
8
- import "./el-popper-f4b01f85.js";
9
- import * as Ue from "echarts";
10
- import "./index-92ba4292.js";
11
- import "./use-form-common-props-4d37077d.js";
12
- import "./castArray-c770910d.js";
13
- import "./index-709675d5.js";
14
- import "./index-121e2861.js";
15
- import "./scroll-ca84f80a.js";
16
- import "./debounce-c64fb3b5.js";
17
- var Fe = function() {
18
- var n = typeof document < "u" && document.currentScript ? document.currentScript.src : void 0;
19
- return typeof __filename < "u" && (n = n || __filename), function(N) {
20
- N = N || {};
21
- var e = typeof N < "u" ? N : {}, b, w;
22
- e.ready = new Promise(function(t, i) {
23
- b = t, w = i;
24
- });
25
- var h = {}, y;
26
- for (y in e)
27
- e.hasOwnProperty(y) && (h[y] = e[y]);
28
- var f = function(t, i) {
29
- throw i;
30
- }, _ = !1, A = !1, E = !1, L = !1;
31
- _ = typeof window == "object", A = typeof importScripts == "function", E = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string", L = !_ && !E && !A;
32
- var u = "";
33
- function l(t) {
34
- return e.locateFile ? e.locateFile(t, u) : u + t;
35
- }
36
- var p, s, I, H;
37
- E ? (A ? u = require("path").dirname(u) + "/" : u = __dirname + "/", p = function(i, r) {
38
- return I || (I = require("fs")), H || (H = require("path")), i = H.normalize(i), I.readFileSync(i, r ? null : "utf8");
39
- }, s = function(i) {
40
- var r = p(i, !0);
41
- return r.buffer || (r = new Uint8Array(r)), P(r.buffer), r;
42
- }, process.argv.length > 1 && process.argv[1].replace(/\\/g, "/"), process.argv.slice(2), process.on("uncaughtException", function(t) {
43
- if (!(t instanceof Me))
44
- throw t;
45
- }), process.on("unhandledRejection", se), f = function(t) {
46
- process.exit(t);
47
- }, e.inspect = function() {
48
- return "[Emscripten Module object]";
49
- }) : L ? (typeof read < "u" && (p = function(i) {
50
- return read(i);
51
- }), s = function(i) {
52
- var r;
53
- return typeof readbuffer == "function" ? new Uint8Array(readbuffer(i)) : (r = read(i, "binary"), P(typeof r == "object"), r);
54
- }, typeof scriptArgs < "u" && scriptArgs, typeof quit == "function" && (f = function(t) {
55
- quit(t);
56
- }), typeof print < "u" && (typeof console > "u" && (console = {}), console.log = print, console.warn = console.error = typeof printErr < "u" ? printErr : print)) : (_ || A) && (A ? u = self.location.href : document.currentScript && (u = document.currentScript.src), n && (u = n), u.indexOf("blob:") !== 0 ? u = u.substr(
57
- 0,
58
- u.lastIndexOf("/") + 1
59
- ) : u = "", p = function(i) {
60
- var r = new XMLHttpRequest();
61
- return r.open("GET", i, !1), r.send(null), r.responseText;
62
- }, A && (s = function(i) {
63
- var r = new XMLHttpRequest();
64
- return r.open("GET", i, !1), r.responseType = "arraybuffer", r.send(null), new Uint8Array(r.response);
65
- })), e.print || console.log.bind(console);
66
- var V = e.printErr || console.warn.bind(console);
67
- for (y in h)
68
- h.hasOwnProperty(y) && (e[y] = h[y]);
69
- h = null, e.arguments && e.arguments, e.thisProgram && e.thisProgram, e.quit && (f = e.quit);
70
- var O = 16;
71
- function x(t, i) {
72
- return i || (i = O), Math.ceil(t / i) * i;
73
- }
74
- function Y(t, i) {
75
- if (typeof WebAssembly.Function == "function") {
76
- for (var r = { i: "i32", j: "i64", f: "f32", d: "f64" }, m = {
77
- parameters: [],
78
- results: i[0] == "v" ? [] : [r[i[0]]]
79
- }, R = 1; R < i.length; ++R)
80
- m.parameters.push(r[i[R]]);
81
- return new WebAssembly.Function(m, t);
82
- }
83
- var D = [1, 0, 1, 96], c = i.slice(0, 1), d = i.slice(1), G = { i: 127, j: 126, f: 125, d: 124 };
84
- D.push(d.length);
85
- for (var R = 0; R < d.length; ++R)
86
- D.push(G[d[R]]);
87
- c == "v" ? D.push(0) : D = D.concat([1, G[c]]), D[1] = D.length - 2;
88
- var S = new Uint8Array(
89
- [0, 97, 115, 109, 1, 0, 0, 0].concat(D, [
90
- 2,
91
- 7,
92
- 1,
93
- 1,
94
- 101,
95
- 1,
96
- 102,
97
- 0,
98
- 0,
99
- 7,
100
- 5,
101
- 1,
102
- 1,
103
- 102,
104
- 0,
105
- 0
106
- ])
107
- ), v = new WebAssembly.Module(S), z = new WebAssembly.Instance(v, { e: { f: t } }), ue = z.exports.f;
108
- return ue;
109
- }
110
- var U = [], C;
111
- function M(t, i) {
112
- var r = ie;
113
- if (!C) {
114
- C = /* @__PURE__ */ new WeakMap();
115
- for (var m = 0; m < r.length; m++) {
116
- var R = r.get(m);
117
- R && C.set(R, m);
118
- }
119
- }
120
- if (C.has(t))
121
- return C.get(t);
122
- var D;
123
- if (U.length)
124
- D = U.pop();
125
- else {
126
- D = r.length;
127
- try {
128
- r.grow(1);
129
- } catch (d) {
130
- throw d instanceof RangeError ? "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." : d;
131
- }
132
- }
133
- try {
134
- r.set(D, t);
135
- } catch (d) {
136
- if (!(d instanceof TypeError))
137
- throw d;
138
- var c = Y(t, i);
139
- r.set(D, c);
140
- }
141
- return C.set(t, D), D;
142
- }
143
- function B(t, i) {
144
- return M(t, i);
145
- }
146
- var j;
147
- e.wasmBinary && (j = e.wasmBinary);
148
- var J;
149
- e.noExitRuntime && (J = e.noExitRuntime), typeof WebAssembly != "object" && se("no native wasm support detected");
150
- var g, ie, T = !1;
151
- function P(t, i) {
152
- t || se("Assertion failed: " + i);
153
- }
154
- function $(t) {
155
- var i = e["_" + t];
156
- return P(
157
- i,
158
- "Cannot call unknown function " + t + ", make sure it is exported"
159
- ), i;
160
- }
161
- function fo(t, i, r, m, R) {
162
- var D = {
163
- string: function(W) {
164
- var Z = 0;
165
- if (W != null && W !== 0) {
166
- var k = (W.length << 2) + 1;
167
- Z = Te(k), Ro(W, Z, k);
168
- }
169
- return Z;
170
- },
171
- array: function(W) {
172
- var Z = Te(W.length);
173
- return Eo(W, Z), Z;
174
- }
175
- };
176
- function c(W) {
177
- return i === "string" ? No(W) : i === "boolean" ? !!W : W;
178
- }
179
- var d = $(t), G = [], S = 0;
180
- if (m)
181
- for (var v = 0; v < m.length; v++) {
182
- var z = D[r[v]];
183
- z ? (S === 0 && (S = he()), G[v] = z(m[v])) : G[v] = m[v];
184
- }
185
- var ue = d.apply(null, G);
186
- return ue = c(ue), S !== 0 && Oe(S), ue;
187
- }
188
- var Co = 1;
189
- function go(t, i) {
190
- var r;
191
- return i == Co ? r = Te(t.length) : r = Pe(t.length), t.subarray || t.slice ? pe.set(t, r) : pe.set(new Uint8Array(t), r), r;
192
- }
193
- var We = typeof TextDecoder < "u" ? new TextDecoder("utf8") : void 0;
194
- function ke(t, i, r) {
195
- for (var m = i + r, R = i; t[R] && !(R >= m); )
196
- ++R;
197
- if (R - i > 16 && t.subarray && We)
198
- return We.decode(t.subarray(i, R));
199
- for (var D = ""; i < R; ) {
200
- var c = t[i++];
201
- if (!(c & 128)) {
202
- D += String.fromCharCode(c);
203
- continue;
204
- }
205
- var d = t[i++] & 63;
206
- if ((c & 224) == 192) {
207
- D += String.fromCharCode((c & 31) << 6 | d);
208
- continue;
209
- }
210
- var G = t[i++] & 63;
211
- if ((c & 240) == 224 ? c = (c & 15) << 12 | d << 6 | G : c = (c & 7) << 18 | d << 12 | G << 6 | t[i++] & 63, c < 65536)
212
- D += String.fromCharCode(c);
213
- else {
214
- var S = c - 65536;
215
- D += String.fromCharCode(55296 | S >> 10, 56320 | S & 1023);
216
- }
217
- }
218
- return D;
219
- }
220
- function No(t, i) {
221
- return t ? ke(pe, t, i) : "";
222
- }
223
- function Lo(t, i, r, m) {
224
- if (!(m > 0))
225
- return 0;
226
- for (var R = r, D = r + m - 1, c = 0; c < t.length; ++c) {
227
- var d = t.charCodeAt(c);
228
- if (d >= 55296 && d <= 57343) {
229
- var G = t.charCodeAt(++c);
230
- d = 65536 + ((d & 1023) << 10) | G & 1023;
231
- }
232
- if (d <= 127) {
233
- if (r >= D)
234
- break;
235
- i[r++] = d;
236
- } else if (d <= 2047) {
237
- if (r + 1 >= D)
238
- break;
239
- i[r++] = 192 | d >> 6, i[r++] = 128 | d & 63;
240
- } else if (d <= 65535) {
241
- if (r + 2 >= D)
242
- break;
243
- i[r++] = 224 | d >> 12, i[r++] = 128 | d >> 6 & 63, i[r++] = 128 | d & 63;
244
- } else {
245
- if (r + 3 >= D)
246
- break;
247
- i[r++] = 240 | d >> 18, i[r++] = 128 | d >> 12 & 63, i[r++] = 128 | d >> 6 & 63, i[r++] = 128 | d & 63;
248
- }
249
- }
250
- return i[r] = 0, r - R;
251
- }
252
- function Ro(t, i, r) {
253
- return Lo(t, pe, i, r);
254
- }
255
- function Eo(t, i) {
256
- Le.set(t, i);
257
- }
258
- var Xe = 65536, De, Le, pe;
259
- function bo(t) {
260
- De = t, e.HEAP8 = Le = new Int8Array(t), e.HEAP16 = new Int16Array(t), e.HEAP32 = new Int32Array(t), e.HEAPU8 = pe = new Uint8Array(t), e.HEAPU16 = new Uint16Array(t), e.HEAPU32 = new Uint32Array(t), e.HEAPF32 = new Float32Array(t), e.HEAPF64 = new Float64Array(t);
261
- }
262
- var So = 5247776;
263
- e.___heap_base = 5247776;
264
- var Re = e.INITIAL_MEMORY || 16777216;
265
- e.wasmMemory ? g = e.wasmMemory : g = new WebAssembly.Memory({
266
- initial: Re / Xe,
267
- maximum: Re / Xe
268
- }), g && (De = g.buffer), Re = De.byteLength, bo(De);
269
- var ie = new WebAssembly.Table({ initial: 1, element: "anyfunc" }), Je = [], Ee = [], Po = [], Ye = [], be = !1;
270
- function ho() {
271
- if (e.preRun)
272
- for (typeof e.preRun == "function" && (e.preRun = [e.preRun]); e.preRun.length; )
273
- je(e.preRun.shift());
274
- de(Je);
275
- }
276
- function Oo() {
277
- be = !0, de(Ee);
278
- }
279
- function Mo() {
280
- de(Po);
281
- }
282
- function Ho() {
283
- if (e.postRun)
284
- for (typeof e.postRun == "function" && (e.postRun = [e.postRun]); e.postRun.length; )
285
- vo(e.postRun.shift());
286
- de(Ye);
287
- }
288
- function je(t) {
289
- Je.unshift(t);
290
- }
291
- function vo(t) {
292
- Ye.unshift(t);
293
- }
294
- var re = 0, ce = null;
295
- function qe(t) {
296
- re++, e.monitorRunDependencies && e.monitorRunDependencies(re);
297
- }
298
- function ze(t) {
299
- if (re--, e.monitorRunDependencies && e.monitorRunDependencies(re), re == 0 && ce) {
300
- var i = ce;
301
- ce = null, i();
302
- }
303
- }
304
- e.preloadedImages = {}, e.preloadedAudios = {}, e.preloadedWasm = {}, je(Xo);
305
- function se(t) {
306
- e.onAbort && e.onAbort(t), t += "", V(t), T = !0, t = "abort(" + t + "). Build with -s ASSERTIONS=1 for more info.";
307
- var i = new WebAssembly.RuntimeError(t);
308
- throw w(i), i;
309
- }
310
- function $e(t, i) {
311
- return String.prototype.startsWith ? t.startsWith(i) : t.indexOf(i) === 0;
312
- }
313
- var wo = "data:application/octet-stream;base64,";
314
- function Ze(t) {
315
- return $e(t, wo);
316
- }
317
- var Go = "file://";
318
- function Qe(t) {
319
- return $e(t, Go);
320
- }
321
- var q = "talib.wasm";
322
- Ze(q) || (q = l(q));
323
- function en() {
324
- try {
325
- if (j)
326
- return new Uint8Array(j);
327
- if (s)
328
- return s(q);
329
- throw "both async and sync fetching of the wasm failed";
330
- } catch (t) {
331
- se(t);
332
- }
333
- }
334
- function Vo() {
335
- return !j && (_ || A) && typeof fetch == "function" && !Qe(q) ? fetch(q, { credentials: "same-origin" }).then(function(t) {
336
- if (!t.ok)
337
- throw "failed to load wasm binary file at '" + q + "'";
338
- return t.arrayBuffer();
339
- }).catch(function() {
340
- return en();
341
- }) : Promise.resolve().then(en);
342
- }
343
- function xo() {
344
- var t = { env: Se, wasi_snapshot_preview1: Se };
345
- function i(c, d) {
346
- var G = c.exports;
347
- G = nn(G, 1024), e.asm = G, ze();
348
- }
349
- qe();
350
- function r(c) {
351
- i(c.instance);
352
- }
353
- function m(c) {
354
- return Vo().then(function(d) {
355
- return WebAssembly.instantiate(d, t);
356
- }).then(c, function(d) {
357
- V("failed to asynchronously prepare wasm: " + d), se(d);
358
- });
359
- }
360
- function R() {
361
- if (!j && typeof WebAssembly.instantiateStreaming == "function" && !Ze(q) && !Qe(q) && typeof fetch == "function")
362
- fetch(q, { credentials: "same-origin" }).then(function(c) {
363
- var d = WebAssembly.instantiateStreaming(c, t);
364
- return d.then(r, function(G) {
365
- return V("wasm streaming compile failed: " + G), V("falling back to ArrayBuffer instantiation"), m(r);
366
- });
367
- });
368
- else
369
- return m(r);
370
- }
371
- if (e.instantiateWasm)
372
- try {
373
- var D = e.instantiateWasm(t, i);
374
- return D;
375
- } catch (c) {
376
- return V("Module.instantiateWasm callback failed with error: " + c), !1;
377
- }
378
- return R(), {};
379
- }
380
- function de(t) {
381
- for (; t.length > 0; ) {
382
- var i = t.shift();
383
- if (typeof i == "function") {
384
- i(e);
385
- continue;
386
- }
387
- var r = i.func;
388
- typeof r == "number" ? i.arg === void 0 ? ie.get(r)() : ie.get(r)(i.arg) : r(i.arg === void 0 ? null : i.arg);
389
- }
390
- }
391
- function Uo(t, i, r) {
392
- return r && r.length ? e["dynCall_" + t].apply(null, [i].concat(r)) : e["dynCall_" + t].call(null, i);
393
- }
394
- function Bo(t, i, r) {
395
- return t.indexOf("j") != -1 ? Uo(t, i, r) : ie.get(i).apply(null, r);
396
- }
397
- var ee = { nextHandle: 1, loadedLibs: {}, loadedLibNames: {} };
398
- function Ko(t) {
399
- return function() {
400
- var i = he();
401
- try {
402
- return Bo(
403
- t,
404
- arguments[0],
405
- Array.prototype.slice.call(arguments, 1)
406
- );
407
- } catch (r) {
408
- if (Oe(i), r !== r + 0 && r !== "longjmp")
409
- throw r;
410
- _setThrew(1, 0);
411
- }
412
- };
413
- }
414
- function Fo(t) {
415
- if (be)
416
- return Pe(t);
417
- var i = e.___heap_base, r = i + t + 15 & -16;
418
- return e.___heap_base = r, i;
419
- }
420
- function nn(t, i, r) {
421
- var m = {};
422
- for (var R in t) {
423
- var D = t[R];
424
- typeof D == "object" && (D = D.value), typeof D == "number" && (D += i), m[R] = D, r && (r["_" + R] = D);
425
- }
426
- return m;
427
- }
428
- function tn(t) {
429
- var i = [
430
- "setTempRet0",
431
- "getTempRet0",
432
- "stackAlloc",
433
- "stackSave",
434
- "stackRestore"
435
- ];
436
- return t.indexOf("dynCall_") == 0 || i.indexOf(t) != -1 ? t : "_" + t;
437
- }
438
- function Wo(t, i) {
439
- var r = new Uint32Array(
440
- new Uint8Array(t.subarray(0, 24)).buffer
441
- );
442
- P(r[0] == 1836278016, "need to see wasm magic number"), P(t[8] === 0, "need the dylink section to be first");
443
- var m = 9;
444
- function R() {
445
- for (var k = 0, me = 1; ; ) {
446
- var ne = t[m++];
447
- if (k += (ne & 127) * me, me *= 128, !(ne & 128))
448
- break;
449
- }
450
- return k;
451
- }
452
- R(), P(t[m] === 6), m++, P(t[m] === "d".charCodeAt(0)), m++, P(t[m] === "y".charCodeAt(0)), m++, P(t[m] === "l".charCodeAt(0)), m++, P(t[m] === "i".charCodeAt(0)), m++, P(t[m] === "n".charCodeAt(0)), m++, P(t[m] === "k".charCodeAt(0)), m++;
453
- var D = R(), c = R(), d = R();
454
- R();
455
- for (var G = R(), S = [], v = 0; v < G; ++v) {
456
- var z = R(), ue = t.subarray(m, m + z);
457
- m += z;
458
- var W = ke(ue, 0);
459
- S.push(W);
460
- }
461
- function Z() {
462
- c = Math.pow(2, c), c = Math.max(c, O);
463
- var k = x(
464
- Fo(D + c),
465
- c
466
- ), me = Se, ne = ie, ve = ne.length, Qo = ne;
467
- ne.grow(d), P(ne === Qo);
468
- for (var le = k; le < k + D; le++)
469
- Le[le] = 0;
470
- for (var le = ve; le < ve + d; le++)
471
- ne.set(le, null);
472
- var we = {}, Ge = function(K, X, te) {
473
- te && (K = "orig$" + K);
474
- var F = e.asm[K];
475
- if (!F) {
476
- var _e = tn(K);
477
- F = e[_e], F || (F = we[_e]), !F && K.startsWith("invoke_") && (F = Ko(K.split("_")[1]));
478
- }
479
- return F;
480
- };
481
- for (var Ve in e)
482
- Ve in me || (me[Ve] = e[Ve]);
483
- var ei = {
484
- get: function(K, X) {
485
- switch (X) {
486
- case "__memory_base":
487
- return k;
488
- case "__table_base":
489
- return ve;
490
- }
491
- if (X in K)
492
- return K[X];
493
- if (X.startsWith("g$")) {
494
- var te = X.substr(2);
495
- return K[X] = function() {
496
- return Ge(te);
497
- };
498
- }
499
- if (X.startsWith("fp$")) {
500
- var F = X.split("$");
501
- P(F.length == 3);
502
- var te = F[1], _e = F[2], ti = _e.indexOf("j") >= 0, xe = 0;
503
- return K[X] = function() {
504
- if (!xe) {
505
- var ai = Ge(te, "function", ti);
506
- xe = B(ai, _e);
507
- }
508
- return xe;
509
- };
510
- }
511
- return K[X] = function() {
512
- return Ge(X).apply(null, arguments);
513
- };
514
- }
515
- }, un = new Proxy(me, ei), ln = {
516
- global: { NaN: NaN, Infinity: 1 / 0 },
517
- "global.Math": Math,
518
- env: un,
519
- wasi_snapshot_preview1: un
520
- };
521
- function pn(K, X) {
522
- var te = nn(
523
- K.exports,
524
- k,
525
- X
526
- ), F = te.__post_instantiate;
527
- return F && (be ? F() : Ee.push(F)), te;
528
- }
529
- if (i.loadAsync)
530
- return WebAssembly.instantiate(t, ln).then(function(K) {
531
- return pn(K.instance, we);
532
- });
533
- var ni = new WebAssembly.Instance(
534
- new WebAssembly.Module(t),
535
- ln
536
- );
537
- return pn(ni, we);
538
- }
539
- return i.loadAsync ? Promise.all(
540
- S.map(function(k) {
541
- return Ie(k, i);
542
- })
543
- ).then(function() {
544
- return Z();
545
- }) : (S.forEach(function(k) {
546
- Ie(k, i);
547
- }), Z());
548
- }
549
- function ko(t) {
550
- return fetch(t, { credentials: "same-origin" }).then(function(i) {
551
- if (!i.ok)
552
- throw "failed to load binary file at '" + t + "'";
553
- return i.arrayBuffer();
554
- }).then(function(i) {
555
- return new Uint8Array(i);
556
- });
557
- }
558
- function Ie(t, i) {
559
- t == "__self__" && !ee.loadedLibNames[t] && (ee.loadedLibs[-1] = {
560
- refcount: 1 / 0,
561
- name: "__self__",
562
- module: e.asm,
563
- global: !0
564
- }, ee.loadedLibNames.__self__ = -1), i = i || { global: !0, nodelete: !0 };
565
- var r = ee.loadedLibNames[t], m;
566
- if (r)
567
- return m = ee.loadedLibs[r], i.global && !m.global && (m.global = !0, m.module !== "loading" && d(m.module)), i.nodelete && m.refcount !== 1 / 0 && (m.refcount = 1 / 0), m.refcount++, i.loadAsync ? Promise.resolve(r) : r;
568
- r = ee.nextHandle++, m = {
569
- refcount: i.nodelete ? 1 / 0 : 1,
570
- name: t,
571
- module: "loading",
572
- global: i.global
573
- }, ee.loadedLibNames[t] = r, ee.loadedLibs[r] = m;
574
- function R(S) {
575
- if (i.fs) {
576
- var v = i.fs.readFile(S, { encoding: "binary" });
577
- return v instanceof Uint8Array || (v = new Uint8Array(lib_data)), i.loadAsync ? Promise.resolve(v) : v;
578
- }
579
- return i.loadAsync ? ko(S) : s(S);
580
- }
581
- function D(S) {
582
- return Wo(S, i);
583
- }
584
- function c() {
585
- if (e.preloadedWasm !== void 0 && e.preloadedWasm[t] !== void 0) {
586
- var S = e.preloadedWasm[t];
587
- return i.loadAsync ? Promise.resolve(S) : S;
588
- }
589
- return i.loadAsync ? R(t).then(function(v) {
590
- return D(v);
591
- }) : D(R(t));
592
- }
593
- function d(S) {
594
- for (var v in S)
595
- if (S.hasOwnProperty(v)) {
596
- var z = tn(v);
597
- e.hasOwnProperty(z) || (e[z] = S[v]);
598
- }
599
- }
600
- function G(S) {
601
- m.global && d(S), m.module = S;
602
- }
603
- return i.loadAsync ? c().then(function(S) {
604
- return G(S), r;
605
- }) : (G(c()), r);
606
- }
607
- function Xo() {
608
- var t = [];
609
- if (e.dynamicLibraries && (t = t.concat(e.dynamicLibraries)), !!t.length) {
610
- if (!s) {
611
- qe(), Promise.all(
612
- t.map(function(i) {
613
- return Ie(i, {
614
- loadAsync: !0,
615
- global: !0,
616
- nodelete: !0
617
- });
618
- })
619
- ).then(function() {
620
- ze();
621
- });
622
- return;
623
- }
624
- t.forEach(function(i) {
625
- Ie(i, { global: !0, nodelete: !0 });
626
- });
627
- }
628
- }
629
- function Jo(t, i, r) {
630
- pe.copyWithin(t, i, i + r);
631
- }
632
- function Yo(t) {
633
- se("OOM");
634
- }
635
- function jo(t) {
636
- Yo();
637
- }
638
- function qo() {
639
- return e.___heap_base;
640
- }
641
- Ee.push(
642
- {
643
- func: function() {
644
- on();
645
- }
646
- },
647
- {
648
- func: function() {
649
- an();
650
- }
651
- }
652
- );
653
- var Se = {
654
- __indirect_function_table: ie,
655
- __memory_base: 1024,
656
- __stack_pointer: So,
657
- __table_base: 1,
658
- emscripten_memcpy_big: Jo,
659
- emscripten_resize_heap: jo,
660
- g$__heap_base: qo,
661
- memory: g
662
- };
663
- xo();
664
- var an = e.___wasm_call_ctors = function() {
665
- return (an = e.___wasm_call_ctors = e.asm.__wasm_call_ctors).apply(null, arguments);
666
- };
667
- e._TA_ACCBANDS = function() {
668
- return (e._TA_ACCBANDS = e.asm.TA_ACCBANDS).apply(null, arguments);
669
- };
670
- var Pe = e._malloc = function() {
671
- return (Pe = e._malloc = e.asm.malloc).apply(
672
- null,
673
- arguments
674
- );
675
- };
676
- e._free = function() {
677
- return (e._free = e.asm.free).apply(
678
- null,
679
- arguments
680
- );
681
- }, e._TA_SMA = function() {
682
- return (e._TA_SMA = e.asm.TA_SMA).apply(
683
- null,
684
- arguments
685
- );
686
- }, e._TA_ACOS = function() {
687
- return (e._TA_ACOS = e.asm.TA_ACOS).apply(
688
- null,
689
- arguments
690
- );
691
- }, e._TA_AD = function() {
692
- return (e._TA_AD = e.asm.TA_AD).apply(
693
- null,
694
- arguments
695
- );
696
- }, e._TA_ADD = function() {
697
- return (e._TA_ADD = e.asm.TA_ADD).apply(
698
- null,
699
- arguments
700
- );
701
- }, e._TA_ADOSC = function() {
702
- return (e._TA_ADOSC = e.asm.TA_ADOSC).apply(null, arguments);
703
- }, e._TA_ADX = function() {
704
- return (e._TA_ADX = e.asm.TA_ADX).apply(
705
- null,
706
- arguments
707
- );
708
- }, e._TA_ADXR = function() {
709
- return (e._TA_ADXR = e.asm.TA_ADXR).apply(
710
- null,
711
- arguments
712
- );
713
- }, e._TA_APO = function() {
714
- return (e._TA_APO = e.asm.TA_APO).apply(
715
- null,
716
- arguments
717
- );
718
- }, e._TA_MA = function() {
719
- return (e._TA_MA = e.asm.TA_MA).apply(
720
- null,
721
- arguments
722
- );
723
- }, e._TA_AROON = function() {
724
- return (e._TA_AROON = e.asm.TA_AROON).apply(null, arguments);
725
- }, e._TA_AROONOSC = function() {
726
- return (e._TA_AROONOSC = e.asm.TA_AROONOSC).apply(null, arguments);
727
- }, e._TA_ASIN = function() {
728
- return (e._TA_ASIN = e.asm.TA_ASIN).apply(
729
- null,
730
- arguments
731
- );
732
- }, e._TA_ATAN = function() {
733
- return (e._TA_ATAN = e.asm.TA_ATAN).apply(
734
- null,
735
- arguments
736
- );
737
- }, e._TA_ATR = function() {
738
- return (e._TA_ATR = e.asm.TA_ATR).apply(
739
- null,
740
- arguments
741
- );
742
- }, e._TA_TRANGE = function() {
743
- return (e._TA_TRANGE = e.asm.TA_TRANGE).apply(null, arguments);
744
- }, e._TA_AVGDEV = function() {
745
- return (e._TA_AVGDEV = e.asm.TA_AVGDEV).apply(null, arguments);
746
- }, e._TA_AVGPRICE = function() {
747
- return (e._TA_AVGPRICE = e.asm.TA_AVGPRICE).apply(null, arguments);
748
- }, e._TA_BBANDS = function() {
749
- return (e._TA_BBANDS = e.asm.TA_BBANDS).apply(null, arguments);
750
- }, e._TA_STDDEV = function() {
751
- return (e._TA_STDDEV = e.asm.TA_STDDEV).apply(null, arguments);
752
- }, e._TA_BETA = function() {
753
- return (e._TA_BETA = e.asm.TA_BETA).apply(
754
- null,
755
- arguments
756
- );
757
- }, e._TA_BOP = function() {
758
- return (e._TA_BOP = e.asm.TA_BOP).apply(
759
- null,
760
- arguments
761
- );
762
- }, e._TA_CCI = function() {
763
- return (e._TA_CCI = e.asm.TA_CCI).apply(
764
- null,
765
- arguments
766
- );
767
- }, e._TA_CDL2CROWS = function() {
768
- return (e._TA_CDL2CROWS = e.asm.TA_CDL2CROWS).apply(null, arguments);
769
- }, e._TA_CDL3BLACKCROWS = function() {
770
- return (e._TA_CDL3BLACKCROWS = e.asm.TA_CDL3BLACKCROWS).apply(null, arguments);
771
- }, e._TA_CDL3INSIDE = function() {
772
- return (e._TA_CDL3INSIDE = e.asm.TA_CDL3INSIDE).apply(null, arguments);
773
- }, e._TA_CDL3LINESTRIKE = function() {
774
- return (e._TA_CDL3LINESTRIKE = e.asm.TA_CDL3LINESTRIKE).apply(null, arguments);
775
- }, e._TA_CDL3OUTSIDE = function() {
776
- return (e._TA_CDL3OUTSIDE = e.asm.TA_CDL3OUTSIDE).apply(null, arguments);
777
- }, e._TA_CDL3STARSINSOUTH = function() {
778
- return (e._TA_CDL3STARSINSOUTH = e.asm.TA_CDL3STARSINSOUTH).apply(null, arguments);
779
- }, e._TA_CDL3WHITESOLDIERS = function() {
780
- return (e._TA_CDL3WHITESOLDIERS = e.asm.TA_CDL3WHITESOLDIERS).apply(null, arguments);
781
- }, e._TA_CDLABANDONEDBABY = function() {
782
- return (e._TA_CDLABANDONEDBABY = e.asm.TA_CDLABANDONEDBABY).apply(null, arguments);
783
- }, e._TA_CDLADVANCEBLOCK = function() {
784
- return (e._TA_CDLADVANCEBLOCK = e.asm.TA_CDLADVANCEBLOCK).apply(null, arguments);
785
- }, e._TA_CDLBELTHOLD = function() {
786
- return (e._TA_CDLBELTHOLD = e.asm.TA_CDLBELTHOLD).apply(null, arguments);
787
- }, e._TA_CDLBREAKAWAY = function() {
788
- return (e._TA_CDLBREAKAWAY = e.asm.TA_CDLBREAKAWAY).apply(null, arguments);
789
- }, e._TA_CDLCLOSINGMARUBOZU = function() {
790
- return (e._TA_CDLCLOSINGMARUBOZU = e.asm.TA_CDLCLOSINGMARUBOZU).apply(null, arguments);
791
- }, e._TA_CDLCONCEALBABYSWALL = function() {
792
- return (e._TA_CDLCONCEALBABYSWALL = e.asm.TA_CDLCONCEALBABYSWALL).apply(null, arguments);
793
- }, e._TA_CDLCOUNTERATTACK = function() {
794
- return (e._TA_CDLCOUNTERATTACK = e.asm.TA_CDLCOUNTERATTACK).apply(null, arguments);
795
- }, e._TA_CDLDARKCLOUDCOVER = function() {
796
- return (e._TA_CDLDARKCLOUDCOVER = e.asm.TA_CDLDARKCLOUDCOVER).apply(null, arguments);
797
- }, e._TA_CDLDOJI = function() {
798
- return (e._TA_CDLDOJI = e.asm.TA_CDLDOJI).apply(null, arguments);
799
- }, e._TA_CDLDOJISTAR = function() {
800
- return (e._TA_CDLDOJISTAR = e.asm.TA_CDLDOJISTAR).apply(null, arguments);
801
- }, e._TA_CDLDRAGONFLYDOJI = function() {
802
- return (e._TA_CDLDRAGONFLYDOJI = e.asm.TA_CDLDRAGONFLYDOJI).apply(null, arguments);
803
- }, e._TA_CDLENGULFING = function() {
804
- return (e._TA_CDLENGULFING = e.asm.TA_CDLENGULFING).apply(null, arguments);
805
- }, e._TA_CDLEVENINGDOJISTAR = function() {
806
- return (e._TA_CDLEVENINGDOJISTAR = e.asm.TA_CDLEVENINGDOJISTAR).apply(null, arguments);
807
- }, e._TA_CDLEVENINGSTAR = function() {
808
- return (e._TA_CDLEVENINGSTAR = e.asm.TA_CDLEVENINGSTAR).apply(null, arguments);
809
- }, e._TA_CDLGAPSIDESIDEWHITE = function() {
810
- return (e._TA_CDLGAPSIDESIDEWHITE = e.asm.TA_CDLGAPSIDESIDEWHITE).apply(null, arguments);
811
- }, e._TA_CDLGRAVESTONEDOJI = function() {
812
- return (e._TA_CDLGRAVESTONEDOJI = e.asm.TA_CDLGRAVESTONEDOJI).apply(null, arguments);
813
- }, e._TA_CDLHAMMER = function() {
814
- return (e._TA_CDLHAMMER = e.asm.TA_CDLHAMMER).apply(null, arguments);
815
- }, e._TA_CDLHANGINGMAN = function() {
816
- return (e._TA_CDLHANGINGMAN = e.asm.TA_CDLHANGINGMAN).apply(null, arguments);
817
- }, e._TA_CDLHARAMI = function() {
818
- return (e._TA_CDLHARAMI = e.asm.TA_CDLHARAMI).apply(null, arguments);
819
- }, e._TA_CDLHARAMICROSS = function() {
820
- return (e._TA_CDLHARAMICROSS = e.asm.TA_CDLHARAMICROSS).apply(null, arguments);
821
- }, e._TA_CDLHIGHWAVE = function() {
822
- return (e._TA_CDLHIGHWAVE = e.asm.TA_CDLHIGHWAVE).apply(null, arguments);
823
- }, e._TA_CDLHIKKAKE = function() {
824
- return (e._TA_CDLHIKKAKE = e.asm.TA_CDLHIKKAKE).apply(null, arguments);
825
- }, e._TA_CDLHIKKAKEMOD = function() {
826
- return (e._TA_CDLHIKKAKEMOD = e.asm.TA_CDLHIKKAKEMOD).apply(null, arguments);
827
- }, e._TA_CDLHOMINGPIGEON = function() {
828
- return (e._TA_CDLHOMINGPIGEON = e.asm.TA_CDLHOMINGPIGEON).apply(null, arguments);
829
- }, e._TA_CDLIDENTICAL3CROWS = function() {
830
- return (e._TA_CDLIDENTICAL3CROWS = e.asm.TA_CDLIDENTICAL3CROWS).apply(null, arguments);
831
- }, e._TA_CDLINNECK = function() {
832
- return (e._TA_CDLINNECK = e.asm.TA_CDLINNECK).apply(null, arguments);
833
- }, e._TA_CDLINVERTEDHAMMER = function() {
834
- return (e._TA_CDLINVERTEDHAMMER = e.asm.TA_CDLINVERTEDHAMMER).apply(null, arguments);
835
- }, e._TA_CDLKICKING = function() {
836
- return (e._TA_CDLKICKING = e.asm.TA_CDLKICKING).apply(null, arguments);
837
- }, e._TA_CDLKICKINGBYLENGTH = function() {
838
- return (e._TA_CDLKICKINGBYLENGTH = e.asm.TA_CDLKICKINGBYLENGTH).apply(null, arguments);
839
- }, e._TA_CDLLADDERBOTTOM = function() {
840
- return (e._TA_CDLLADDERBOTTOM = e.asm.TA_CDLLADDERBOTTOM).apply(null, arguments);
841
- }, e._TA_CDLLONGLEGGEDDOJI = function() {
842
- return (e._TA_CDLLONGLEGGEDDOJI = e.asm.TA_CDLLONGLEGGEDDOJI).apply(null, arguments);
843
- }, e._TA_CDLLONGLINE = function() {
844
- return (e._TA_CDLLONGLINE = e.asm.TA_CDLLONGLINE).apply(null, arguments);
845
- }, e._TA_CDLMARUBOZU = function() {
846
- return (e._TA_CDLMARUBOZU = e.asm.TA_CDLMARUBOZU).apply(null, arguments);
847
- }, e._TA_CDLMATCHINGLOW = function() {
848
- return (e._TA_CDLMATCHINGLOW = e.asm.TA_CDLMATCHINGLOW).apply(null, arguments);
849
- }, e._TA_CDLMATHOLD = function() {
850
- return (e._TA_CDLMATHOLD = e.asm.TA_CDLMATHOLD).apply(null, arguments);
851
- }, e._TA_CDLMORNINGDOJISTAR = function() {
852
- return (e._TA_CDLMORNINGDOJISTAR = e.asm.TA_CDLMORNINGDOJISTAR).apply(null, arguments);
853
- }, e._TA_CDLMORNINGSTAR = function() {
854
- return (e._TA_CDLMORNINGSTAR = e.asm.TA_CDLMORNINGSTAR).apply(null, arguments);
855
- }, e._TA_CDLONNECK = function() {
856
- return (e._TA_CDLONNECK = e.asm.TA_CDLONNECK).apply(null, arguments);
857
- }, e._TA_CDLPIERCING = function() {
858
- return (e._TA_CDLPIERCING = e.asm.TA_CDLPIERCING).apply(null, arguments);
859
- }, e._TA_CDLRICKSHAWMAN = function() {
860
- return (e._TA_CDLRICKSHAWMAN = e.asm.TA_CDLRICKSHAWMAN).apply(null, arguments);
861
- }, e._TA_CDLRISEFALL3METHODS = function() {
862
- return (e._TA_CDLRISEFALL3METHODS = e.asm.TA_CDLRISEFALL3METHODS).apply(null, arguments);
863
- }, e._TA_CDLSEPARATINGLINES = function() {
864
- return (e._TA_CDLSEPARATINGLINES = e.asm.TA_CDLSEPARATINGLINES).apply(null, arguments);
865
- }, e._TA_CDLSHOOTINGSTAR = function() {
866
- return (e._TA_CDLSHOOTINGSTAR = e.asm.TA_CDLSHOOTINGSTAR).apply(null, arguments);
867
- }, e._TA_CDLSHORTLINE = function() {
868
- return (e._TA_CDLSHORTLINE = e.asm.TA_CDLSHORTLINE).apply(null, arguments);
869
- }, e._TA_CDLSPINNINGTOP = function() {
870
- return (e._TA_CDLSPINNINGTOP = e.asm.TA_CDLSPINNINGTOP).apply(null, arguments);
871
- }, e._TA_CDLSTALLEDPATTERN = function() {
872
- return (e._TA_CDLSTALLEDPATTERN = e.asm.TA_CDLSTALLEDPATTERN).apply(null, arguments);
873
- }, e._TA_CDLSTICKSANDWICH = function() {
874
- return (e._TA_CDLSTICKSANDWICH = e.asm.TA_CDLSTICKSANDWICH).apply(null, arguments);
875
- }, e._TA_CDLTAKURI = function() {
876
- return (e._TA_CDLTAKURI = e.asm.TA_CDLTAKURI).apply(null, arguments);
877
- }, e._TA_CDLTASUKIGAP = function() {
878
- return (e._TA_CDLTASUKIGAP = e.asm.TA_CDLTASUKIGAP).apply(null, arguments);
879
- }, e._TA_CDLTHRUSTING = function() {
880
- return (e._TA_CDLTHRUSTING = e.asm.TA_CDLTHRUSTING).apply(null, arguments);
881
- }, e._TA_CDLTRISTAR = function() {
882
- return (e._TA_CDLTRISTAR = e.asm.TA_CDLTRISTAR).apply(null, arguments);
883
- }, e._TA_CDLUNIQUE3RIVER = function() {
884
- return (e._TA_CDLUNIQUE3RIVER = e.asm.TA_CDLUNIQUE3RIVER).apply(null, arguments);
885
- }, e._TA_CDLUPSIDEGAP2CROWS = function() {
886
- return (e._TA_CDLUPSIDEGAP2CROWS = e.asm.TA_CDLUPSIDEGAP2CROWS).apply(null, arguments);
887
- }, e._TA_CDLXSIDEGAP3METHODS = function() {
888
- return (e._TA_CDLXSIDEGAP3METHODS = e.asm.TA_CDLXSIDEGAP3METHODS).apply(null, arguments);
889
- }, e._TA_CEIL = function() {
890
- return (e._TA_CEIL = e.asm.TA_CEIL).apply(
891
- null,
892
- arguments
893
- );
894
- }, e._TA_CMO = function() {
895
- return (e._TA_CMO = e.asm.TA_CMO).apply(
896
- null,
897
- arguments
898
- );
899
- }, e._TA_CORREL = function() {
900
- return (e._TA_CORREL = e.asm.TA_CORREL).apply(null, arguments);
901
- }, e._TA_COS = function() {
902
- return (e._TA_COS = e.asm.TA_COS).apply(
903
- null,
904
- arguments
905
- );
906
- }, e._TA_COSH = function() {
907
- return (e._TA_COSH = e.asm.TA_COSH).apply(
908
- null,
909
- arguments
910
- );
911
- }, e._TA_DEMA = function() {
912
- return (e._TA_DEMA = e.asm.TA_DEMA).apply(
913
- null,
914
- arguments
915
- );
916
- }, e._TA_DIV = function() {
917
- return (e._TA_DIV = e.asm.TA_DIV).apply(
918
- null,
919
- arguments
920
- );
921
- }, e._TA_DX = function() {
922
- return (e._TA_DX = e.asm.TA_DX).apply(
923
- null,
924
- arguments
925
- );
926
- }, e._TA_EMA = function() {
927
- return (e._TA_EMA = e.asm.TA_EMA).apply(
928
- null,
929
- arguments
930
- );
931
- }, e._TA_EXP = function() {
932
- return (e._TA_EXP = e.asm.TA_EXP).apply(
933
- null,
934
- arguments
935
- );
936
- }, e._TA_FLOOR = function() {
937
- return (e._TA_FLOOR = e.asm.TA_FLOOR).apply(null, arguments);
938
- }, e._TA_HT_DCPERIOD = function() {
939
- return (e._TA_HT_DCPERIOD = e.asm.TA_HT_DCPERIOD).apply(null, arguments);
940
- }, e._TA_HT_DCPHASE = function() {
941
- return (e._TA_HT_DCPHASE = e.asm.TA_HT_DCPHASE).apply(null, arguments);
942
- }, e._TA_HT_PHASOR = function() {
943
- return (e._TA_HT_PHASOR = e.asm.TA_HT_PHASOR).apply(null, arguments);
944
- }, e._TA_HT_SINE = function() {
945
- return (e._TA_HT_SINE = e.asm.TA_HT_SINE).apply(null, arguments);
946
- }, e._TA_HT_TRENDLINE = function() {
947
- return (e._TA_HT_TRENDLINE = e.asm.TA_HT_TRENDLINE).apply(null, arguments);
948
- }, e._TA_HT_TRENDMODE = function() {
949
- return (e._TA_HT_TRENDMODE = e.asm.TA_HT_TRENDMODE).apply(null, arguments);
950
- }, e._TA_IMI = function() {
951
- return (e._TA_IMI = e.asm.TA_IMI).apply(
952
- null,
953
- arguments
954
- );
955
- }, e._TA_KAMA = function() {
956
- return (e._TA_KAMA = e.asm.TA_KAMA).apply(
957
- null,
958
- arguments
959
- );
960
- }, e._TA_LINEARREG = function() {
961
- return (e._TA_LINEARREG = e.asm.TA_LINEARREG).apply(null, arguments);
962
- }, e._TA_LINEARREG_ANGLE = function() {
963
- return (e._TA_LINEARREG_ANGLE = e.asm.TA_LINEARREG_ANGLE).apply(null, arguments);
964
- }, e._TA_LINEARREG_INTERCEPT = function() {
965
- return (e._TA_LINEARREG_INTERCEPT = e.asm.TA_LINEARREG_INTERCEPT).apply(null, arguments);
966
- }, e._TA_LINEARREG_SLOPE = function() {
967
- return (e._TA_LINEARREG_SLOPE = e.asm.TA_LINEARREG_SLOPE).apply(null, arguments);
968
- }, e._TA_LN = function() {
969
- return (e._TA_LN = e.asm.TA_LN).apply(
970
- null,
971
- arguments
972
- );
973
- }, e._TA_LOG10 = function() {
974
- return (e._TA_LOG10 = e.asm.TA_LOG10).apply(null, arguments);
975
- }, e._TA_WMA = function() {
976
- return (e._TA_WMA = e.asm.TA_WMA).apply(
977
- null,
978
- arguments
979
- );
980
- }, e._TA_TEMA = function() {
981
- return (e._TA_TEMA = e.asm.TA_TEMA).apply(
982
- null,
983
- arguments
984
- );
985
- }, e._TA_TRIMA = function() {
986
- return (e._TA_TRIMA = e.asm.TA_TRIMA).apply(null, arguments);
987
- }, e._TA_MAMA = function() {
988
- return (e._TA_MAMA = e.asm.TA_MAMA).apply(
989
- null,
990
- arguments
991
- );
992
- }, e._TA_T3 = function() {
993
- return (e._TA_T3 = e.asm.TA_T3).apply(
994
- null,
995
- arguments
996
- );
997
- }, e._TA_MACD = function() {
998
- return (e._TA_MACD = e.asm.TA_MACD).apply(
999
- null,
1000
- arguments
1001
- );
1002
- }, e._TA_MACDEXT = function() {
1003
- return (e._TA_MACDEXT = e.asm.TA_MACDEXT).apply(null, arguments);
1004
- }, e._TA_MACDFIX = function() {
1005
- return (e._TA_MACDFIX = e.asm.TA_MACDFIX).apply(null, arguments);
1006
- }, e._TA_MAVP = function() {
1007
- return (e._TA_MAVP = e.asm.TA_MAVP).apply(
1008
- null,
1009
- arguments
1010
- );
1011
- }, e._TA_MAX = function() {
1012
- return (e._TA_MAX = e.asm.TA_MAX).apply(
1013
- null,
1014
- arguments
1015
- );
1016
- }, e._TA_MAXINDEX = function() {
1017
- return (e._TA_MAXINDEX = e.asm.TA_MAXINDEX).apply(null, arguments);
1018
- }, e._TA_MEDPRICE = function() {
1019
- return (e._TA_MEDPRICE = e.asm.TA_MEDPRICE).apply(null, arguments);
1020
- }, e._TA_MFI = function() {
1021
- return (e._TA_MFI = e.asm.TA_MFI).apply(
1022
- null,
1023
- arguments
1024
- );
1025
- }, e._TA_MIDPOINT = function() {
1026
- return (e._TA_MIDPOINT = e.asm.TA_MIDPOINT).apply(null, arguments);
1027
- }, e._TA_MIDPRICE = function() {
1028
- return (e._TA_MIDPRICE = e.asm.TA_MIDPRICE).apply(null, arguments);
1029
- }, e._TA_MIN = function() {
1030
- return (e._TA_MIN = e.asm.TA_MIN).apply(
1031
- null,
1032
- arguments
1033
- );
1034
- }, e._TA_MININDEX = function() {
1035
- return (e._TA_MININDEX = e.asm.TA_MININDEX).apply(null, arguments);
1036
- }, e._TA_MINMAX = function() {
1037
- return (e._TA_MINMAX = e.asm.TA_MINMAX).apply(null, arguments);
1038
- }, e._TA_MINMAXINDEX = function() {
1039
- return (e._TA_MINMAXINDEX = e.asm.TA_MINMAXINDEX).apply(null, arguments);
1040
- }, e._TA_MINUS_DI = function() {
1041
- return (e._TA_MINUS_DI = e.asm.TA_MINUS_DI).apply(null, arguments);
1042
- }, e._TA_MINUS_DM = function() {
1043
- return (e._TA_MINUS_DM = e.asm.TA_MINUS_DM).apply(null, arguments);
1044
- }, e._TA_MOM = function() {
1045
- return (e._TA_MOM = e.asm.TA_MOM).apply(
1046
- null,
1047
- arguments
1048
- );
1049
- }, e._TA_MULT = function() {
1050
- return (e._TA_MULT = e.asm.TA_MULT).apply(
1051
- null,
1052
- arguments
1053
- );
1054
- }, e._TA_NATR = function() {
1055
- return (e._TA_NATR = e.asm.TA_NATR).apply(
1056
- null,
1057
- arguments
1058
- );
1059
- }, e._TA_OBV = function() {
1060
- return (e._TA_OBV = e.asm.TA_OBV).apply(
1061
- null,
1062
- arguments
1063
- );
1064
- }, e._TA_PLUS_DI = function() {
1065
- return (e._TA_PLUS_DI = e.asm.TA_PLUS_DI).apply(null, arguments);
1066
- }, e._TA_PLUS_DM = function() {
1067
- return (e._TA_PLUS_DM = e.asm.TA_PLUS_DM).apply(null, arguments);
1068
- }, e._TA_PPO = function() {
1069
- return (e._TA_PPO = e.asm.TA_PPO).apply(
1070
- null,
1071
- arguments
1072
- );
1073
- }, e._TA_ROC = function() {
1074
- return (e._TA_ROC = e.asm.TA_ROC).apply(
1075
- null,
1076
- arguments
1077
- );
1078
- }, e._TA_ROCP = function() {
1079
- return (e._TA_ROCP = e.asm.TA_ROCP).apply(
1080
- null,
1081
- arguments
1082
- );
1083
- }, e._TA_ROCR = function() {
1084
- return (e._TA_ROCR = e.asm.TA_ROCR).apply(
1085
- null,
1086
- arguments
1087
- );
1088
- }, e._TA_ROCR100 = function() {
1089
- return (e._TA_ROCR100 = e.asm.TA_ROCR100).apply(null, arguments);
1090
- }, e._TA_RSI = function() {
1091
- return (e._TA_RSI = e.asm.TA_RSI).apply(
1092
- null,
1093
- arguments
1094
- );
1095
- }, e._TA_SAR = function() {
1096
- return (e._TA_SAR = e.asm.TA_SAR).apply(
1097
- null,
1098
- arguments
1099
- );
1100
- }, e._TA_SAREXT = function() {
1101
- return (e._TA_SAREXT = e.asm.TA_SAREXT).apply(null, arguments);
1102
- }, e._TA_SIN = function() {
1103
- return (e._TA_SIN = e.asm.TA_SIN).apply(
1104
- null,
1105
- arguments
1106
- );
1107
- }, e._TA_SINH = function() {
1108
- return (e._TA_SINH = e.asm.TA_SINH).apply(
1109
- null,
1110
- arguments
1111
- );
1112
- }, e._TA_SQRT = function() {
1113
- return (e._TA_SQRT = e.asm.TA_SQRT).apply(
1114
- null,
1115
- arguments
1116
- );
1117
- }, e._TA_STOCH = function() {
1118
- return (e._TA_STOCH = e.asm.TA_STOCH).apply(null, arguments);
1119
- }, e._TA_STOCHF = function() {
1120
- return (e._TA_STOCHF = e.asm.TA_STOCHF).apply(null, arguments);
1121
- }, e._TA_STOCHRSI = function() {
1122
- return (e._TA_STOCHRSI = e.asm.TA_STOCHRSI).apply(null, arguments);
1123
- }, e._TA_SUB = function() {
1124
- return (e._TA_SUB = e.asm.TA_SUB).apply(
1125
- null,
1126
- arguments
1127
- );
1128
- }, e._TA_SUM = function() {
1129
- return (e._TA_SUM = e.asm.TA_SUM).apply(
1130
- null,
1131
- arguments
1132
- );
1133
- }, e._TA_TAN = function() {
1134
- return (e._TA_TAN = e.asm.TA_TAN).apply(
1135
- null,
1136
- arguments
1137
- );
1138
- }, e._TA_TANH = function() {
1139
- return (e._TA_TANH = e.asm.TA_TANH).apply(
1140
- null,
1141
- arguments
1142
- );
1143
- }, e._TA_TRIX = function() {
1144
- return (e._TA_TRIX = e.asm.TA_TRIX).apply(
1145
- null,
1146
- arguments
1147
- );
1148
- }, e._TA_TSF = function() {
1149
- return (e._TA_TSF = e.asm.TA_TSF).apply(
1150
- null,
1151
- arguments
1152
- );
1153
- }, e._TA_TYPPRICE = function() {
1154
- return (e._TA_TYPPRICE = e.asm.TA_TYPPRICE).apply(null, arguments);
1155
- }, e._TA_ULTOSC = function() {
1156
- return (e._TA_ULTOSC = e.asm.TA_ULTOSC).apply(null, arguments);
1157
- }, e._TA_VAR = function() {
1158
- return (e._TA_VAR = e.asm.TA_VAR).apply(
1159
- null,
1160
- arguments
1161
- );
1162
- }, e._TA_WCLPRICE = function() {
1163
- return (e._TA_WCLPRICE = e.asm.TA_WCLPRICE).apply(null, arguments);
1164
- }, e._TA_WILLR = function() {
1165
- return (e._TA_WILLR = e.asm.TA_WILLR).apply(null, arguments);
1166
- };
1167
- var he = e.stackSave = function() {
1168
- return (he = e.stackSave = e.asm.stackSave).apply(null, arguments);
1169
- }, Oe = e.stackRestore = function() {
1170
- return (Oe = e.stackRestore = e.asm.stackRestore).apply(null, arguments);
1171
- }, Te = e.stackAlloc = function() {
1172
- return (Te = e.stackAlloc = e.asm.stackAlloc).apply(null, arguments);
1173
- }, on = e.___assign_got_enties = function() {
1174
- return (on = e.___assign_got_enties = e.asm.__assign_got_enties).apply(null, arguments);
1175
- };
1176
- e._TA_Globals = 1448, e.___data_end = 4888;
1177
- for (var zo in ["TA_Globals", "__data_end"])
1178
- (function(t) {
1179
- e["g$" + t] = function() {
1180
- return e[t];
1181
- };
1182
- })(zo);
1183
- e.ccall = fo, e.allocate = go;
1184
- var ye;
1185
- function Me(t) {
1186
- this.name = "ExitStatus", this.message = "Program terminated with exit(" + t + ")", this.status = t;
1187
- }
1188
- ce = function t() {
1189
- ye || He(), ye || (ce = t);
1190
- };
1191
- function $o(t) {
1192
- var i = e._main;
1193
- if (i) {
1194
- var r = 0, m = 0;
1195
- try {
1196
- var R = i(r, m);
1197
- Zo(R, !0);
1198
- } catch (c) {
1199
- if (c instanceof Me)
1200
- return;
1201
- if (c == "unwind") {
1202
- J = !0;
1203
- return;
1204
- } else {
1205
- var D = c;
1206
- c && typeof c == "object" && c.stack && (D = [c, c.stack]), V("exception thrown: " + D), f(1, c);
1207
- }
1208
- } finally {
1209
- }
1210
- }
1211
- }
1212
- function He(t) {
1213
- if (re > 0 || (ho(), re > 0))
1214
- return;
1215
- function i() {
1216
- ye || (ye = !0, e.calledRun = !0, !T && (Oo(), Mo(), b(e), e.onRuntimeInitialized && e.onRuntimeInitialized(), rn && $o(), Ho()));
1217
- }
1218
- e.setStatus ? (e.setStatus("Running..."), setTimeout(function() {
1219
- setTimeout(function() {
1220
- e.setStatus("");
1221
- }, 1), i();
1222
- }, 1)) : i();
1223
- }
1224
- e.run = He;
1225
- function Zo(t, i) {
1226
- i && J && t === 0 || (J || (e.onExit && e.onExit(t), T = !0), f(t, new Me(t)));
1227
- }
1228
- if (e.preInit)
1229
- for (typeof e.preInit == "function" && (e.preInit = [e.preInit]); e.preInit.length > 0; )
1230
- e.preInit.pop()();
1231
- var rn = !0;
1232
- return e.noInitialRun && (rn = !1), J = !0, He(), N.ready;
1233
- };
1234
- }();
1235
- const a = { ACCBANDS: { name: "ACCBANDS", camelCaseName: "accBands", group: "Overlap Studies", description: "Acceleration Bands", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 20, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "upperBand", type: "Double[]", plotHint: "limit_upper" }, { name: "middleBand", type: "Double[]", plotHint: "line" }, { name: "lowerBand", type: "Double[]", plotHint: "limit_lower" }] }, ACOS: { name: "ACOS", camelCaseName: "acos", group: "Math Transform", description: "Vector Trigonometric ACos", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, AD: { name: "AD", camelCaseName: "ad", group: "Volume Indicators", description: "Chaikin A/D Line", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }, { name: "volume", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ADD: { name: "ADD", camelCaseName: "add", group: "Math Operators", description: "Vector Arithmetic Add", inputs: [{ name: "inReal0", type: "Double[]" }, { name: "inReal1", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ADOSC: { name: "ADOSC", camelCaseName: "adOsc", group: "Volume Indicators", description: "Chaikin A/D Oscillator", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }, { name: "volume", type: "Double[]" }], options: [{ name: "fastPeriod", displayName: "Fast Period", defaultValue: 3, hint: "Number of period for the fast MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "slowPeriod", displayName: "Slow Period", defaultValue: 10, hint: "Number of period for the slow MA", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ADX: { name: "ADX", camelCaseName: "adx", group: "Momentum Indicators", description: "Average Directional Movement Index", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ADXR: { name: "ADXR", camelCaseName: "adxr", group: "Momentum Indicators", description: "Average Directional Movement Index Rating", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, APO: { name: "APO", camelCaseName: "apo", group: "Momentum Indicators", description: "Absolute Price Oscillator", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "fastPeriod", displayName: "Fast Period", defaultValue: 12, hint: "Number of period for the fast MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "slowPeriod", displayName: "Slow Period", defaultValue: 26, hint: "Number of period for the slow MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "MAType", displayName: "MA Type", defaultValue: 0, hint: "Type of Moving Average", type: "MAType" }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, AROON: { name: "AROON", camelCaseName: "aroon", group: "Momentum Indicators", description: "Aroon", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "aroonDown", type: "Double[]", plotHint: "line_dash" }, { name: "aroonUp", type: "Double[]", plotHint: "line" }] }, AROONOSC: { name: "AROONOSC", camelCaseName: "aroonOsc", group: "Momentum Indicators", description: "Aroon Oscillator", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ASIN: { name: "ASIN", camelCaseName: "asin", group: "Math Transform", description: "Vector Trigonometric ASin", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ATAN: { name: "ATAN", camelCaseName: "atan", group: "Math Transform", description: "Vector Trigonometric ATan", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ATR: { name: "ATR", camelCaseName: "atr", group: "Volatility Indicators", description: "Average True Range", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, AVGDEV: { name: "AVGDEV", camelCaseName: "avgDev", group: "Price Transform", description: "Average Deviation", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, AVGPRICE: { name: "AVGPRICE", camelCaseName: "avgPrice", group: "Price Transform", description: "Average Price", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, BBANDS: { name: "BBANDS", camelCaseName: "bbands", group: "Overlap Studies", description: "Bollinger Bands", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 5, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "nbDevUp", displayName: "Deviations up", defaultValue: 2, hint: "Deviation multiplier for upper band", type: "Double", range: { min: -3e37, max: 3e37 } }, { name: "nbDevDn", displayName: "Deviations down", defaultValue: 2, hint: "Deviation multiplier for lower band", type: "Double", range: { min: -3e37, max: 3e37 } }, { name: "MAType", displayName: "MA Type", defaultValue: 0, hint: "Type of Moving Average", type: "MAType" }], outputs: [{ name: "upperBand", type: "Double[]", plotHint: "limit_upper" }, { name: "middleBand", type: "Double[]", plotHint: "line" }, { name: "lowerBand", type: "Double[]", plotHint: "limit_lower" }] }, BETA: { name: "BETA", camelCaseName: "beta", group: "Statistic Functions", description: "Beta", inputs: [{ name: "inReal0", type: "Double[]" }, { name: "inReal1", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 5, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, BOP: { name: "BOP", camelCaseName: "bop", group: "Momentum Indicators", description: "Balance Of Power", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, CCI: { name: "CCI", camelCaseName: "cci", group: "Momentum Indicators", description: "Commodity Channel Index", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, CDL2CROWS: { name: "CDL2CROWS", camelCaseName: "cdl2Crows", group: "Pattern Recognition", description: "Two Crows", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDL3BLACKCROWS: { name: "CDL3BLACKCROWS", camelCaseName: "cdl3BlackCrows", group: "Pattern Recognition", description: "Three Black Crows", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDL3INSIDE: { name: "CDL3INSIDE", camelCaseName: "cdl3Inside", group: "Pattern Recognition", description: "Three Inside Up/Down", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDL3LINESTRIKE: { name: "CDL3LINESTRIKE", camelCaseName: "cdl3LineStrike", group: "Pattern Recognition", description: "Three-Line Strike ", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDL3OUTSIDE: { name: "CDL3OUTSIDE", camelCaseName: "cdl3Outside", group: "Pattern Recognition", description: "Three Outside Up/Down", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDL3STARSINSOUTH: { name: "CDL3STARSINSOUTH", camelCaseName: "cdl3StarsInSouth", group: "Pattern Recognition", description: "Three Stars In The South", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDL3WHITESOLDIERS: { name: "CDL3WHITESOLDIERS", camelCaseName: "cdl3WhiteSoldiers", group: "Pattern Recognition", description: "Three Advancing White Soldiers", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLABANDONEDBABY: { name: "CDLABANDONEDBABY", camelCaseName: "cdlAbandonedBaby", group: "Pattern Recognition", description: "Abandoned Baby", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.3, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLADVANCEBLOCK: { name: "CDLADVANCEBLOCK", camelCaseName: "cdlAdvanceBlock", group: "Pattern Recognition", description: "Advance Block", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLBELTHOLD: { name: "CDLBELTHOLD", camelCaseName: "cdlBeltHold", group: "Pattern Recognition", description: "Belt-hold", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLBREAKAWAY: { name: "CDLBREAKAWAY", camelCaseName: "cdlBreakaway", group: "Pattern Recognition", description: "Breakaway", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLCLOSINGMARUBOZU: { name: "CDLCLOSINGMARUBOZU", camelCaseName: "cdlClosingMarubozu", group: "Pattern Recognition", description: "Closing Marubozu", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLCONCEALBABYSWALL: { name: "CDLCONCEALBABYSWALL", camelCaseName: "cdlConcealBabysWall", group: "Pattern Recognition", description: "Concealing Baby Swallow", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLCOUNTERATTACK: { name: "CDLCOUNTERATTACK", camelCaseName: "cdlCounterAttack", group: "Pattern Recognition", description: "Counterattack", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLDARKCLOUDCOVER: { name: "CDLDARKCLOUDCOVER", camelCaseName: "cdlDarkCloudCover", group: "Pattern Recognition", description: "Dark Cloud Cover", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.5, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLDOJI: { name: "CDLDOJI", camelCaseName: "cdlDoji", group: "Pattern Recognition", description: "Doji", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLDOJISTAR: { name: "CDLDOJISTAR", camelCaseName: "cdlDojiStar", group: "Pattern Recognition", description: "Doji Star", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLDRAGONFLYDOJI: { name: "CDLDRAGONFLYDOJI", camelCaseName: "cdlDragonflyDoji", group: "Pattern Recognition", description: "Dragonfly Doji", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLENGULFING: { name: "CDLENGULFING", camelCaseName: "cdlEngulfing", group: "Pattern Recognition", description: "Engulfing Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLEVENINGDOJISTAR: { name: "CDLEVENINGDOJISTAR", camelCaseName: "cdlEveningDojiStar", group: "Pattern Recognition", description: "Evening Doji Star", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.3, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLEVENINGSTAR: { name: "CDLEVENINGSTAR", camelCaseName: "cdlEveningStar", group: "Pattern Recognition", description: "Evening Star", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.3, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLGAPSIDESIDEWHITE: { name: "CDLGAPSIDESIDEWHITE", camelCaseName: "cdlGapSideSideWhite", group: "Pattern Recognition", description: "Up/Down-gap side-by-side white lines", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLGRAVESTONEDOJI: { name: "CDLGRAVESTONEDOJI", camelCaseName: "cdlGravestoneDoji", group: "Pattern Recognition", description: "Gravestone Doji", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHAMMER: { name: "CDLHAMMER", camelCaseName: "cdlHammer", group: "Pattern Recognition", description: "Hammer", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHANGINGMAN: { name: "CDLHANGINGMAN", camelCaseName: "cdlHangingMan", group: "Pattern Recognition", description: "Hanging Man", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHARAMI: { name: "CDLHARAMI", camelCaseName: "cdlHarami", group: "Pattern Recognition", description: "Harami Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHARAMICROSS: { name: "CDLHARAMICROSS", camelCaseName: "cdlHaramiCross", group: "Pattern Recognition", description: "Harami Cross Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHIGHWAVE: { name: "CDLHIGHWAVE", camelCaseName: "cdlHignWave", group: "Pattern Recognition", description: "High-Wave Candle", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHIKKAKE: { name: "CDLHIKKAKE", camelCaseName: "cdlHikkake", group: "Pattern Recognition", description: "Hikkake Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHIKKAKEMOD: { name: "CDLHIKKAKEMOD", camelCaseName: "cdlHikkakeMod", group: "Pattern Recognition", description: "Modified Hikkake Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLHOMINGPIGEON: { name: "CDLHOMINGPIGEON", camelCaseName: "cdlHomingPigeon", group: "Pattern Recognition", description: "Homing Pigeon", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLIDENTICAL3CROWS: { name: "CDLIDENTICAL3CROWS", camelCaseName: "cdlIdentical3Crows", group: "Pattern Recognition", description: "Identical Three Crows", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLINNECK: { name: "CDLINNECK", camelCaseName: "cdlInNeck", group: "Pattern Recognition", description: "In-Neck Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLINVERTEDHAMMER: { name: "CDLINVERTEDHAMMER", camelCaseName: "cdlInvertedHammer", group: "Pattern Recognition", description: "Inverted Hammer", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLKICKING: { name: "CDLKICKING", camelCaseName: "cdlKicking", group: "Pattern Recognition", description: "Kicking", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLKICKINGBYLENGTH: { name: "CDLKICKINGBYLENGTH", camelCaseName: "cdlKickingByLength", group: "Pattern Recognition", description: "Kicking - bull/bear determined by the longer marubozu", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLLADDERBOTTOM: { name: "CDLLADDERBOTTOM", camelCaseName: "cdlLadderBottom", group: "Pattern Recognition", description: "Ladder Bottom", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLLONGLEGGEDDOJI: { name: "CDLLONGLEGGEDDOJI", camelCaseName: "cdlLongLeggedDoji", group: "Pattern Recognition", description: "Long Legged Doji", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLLONGLINE: { name: "CDLLONGLINE", camelCaseName: "cdlLongLine", group: "Pattern Recognition", description: "Long Line Candle", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLMARUBOZU: { name: "CDLMARUBOZU", camelCaseName: "cdlMarubozu", group: "Pattern Recognition", description: "Marubozu", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLMATCHINGLOW: { name: "CDLMATCHINGLOW", camelCaseName: "cdlMatchingLow", group: "Pattern Recognition", description: "Matching Low", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLMATHOLD: { name: "CDLMATHOLD", camelCaseName: "cdlMatHold", group: "Pattern Recognition", description: "Mat Hold", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.5, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLMORNINGDOJISTAR: { name: "CDLMORNINGDOJISTAR", camelCaseName: "cdlMorningDojiStar", group: "Pattern Recognition", description: "Morning Doji Star", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.3, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLMORNINGSTAR: { name: "CDLMORNINGSTAR", camelCaseName: "cdlMorningStar", group: "Pattern Recognition", description: "Morning Star", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "penetration", displayName: "Penetration", defaultValue: 0.3, hint: "Percentage of penetration of a candle within another candle", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLONNECK: { name: "CDLONNECK", camelCaseName: "cdlOnNeck", group: "Pattern Recognition", description: "On-Neck Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLPIERCING: { name: "CDLPIERCING", camelCaseName: "cdlPiercing", group: "Pattern Recognition", description: "Piercing Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLRICKSHAWMAN: { name: "CDLRICKSHAWMAN", camelCaseName: "cdlRickshawMan", group: "Pattern Recognition", description: "Rickshaw Man", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLRISEFALL3METHODS: { name: "CDLRISEFALL3METHODS", camelCaseName: "cdlRiseFall3Methods", group: "Pattern Recognition", description: "Rising/Falling Three Methods", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLSEPARATINGLINES: { name: "CDLSEPARATINGLINES", camelCaseName: "cdlSeperatingLines", group: "Pattern Recognition", description: "Separating Lines", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLSHOOTINGSTAR: { name: "CDLSHOOTINGSTAR", camelCaseName: "cdlShootingStar", group: "Pattern Recognition", description: "Shooting Star", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLSHORTLINE: { name: "CDLSHORTLINE", camelCaseName: "cdlShortLine", group: "Pattern Recognition", description: "Short Line Candle", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLSPINNINGTOP: { name: "CDLSPINNINGTOP", camelCaseName: "cdlSpinningTop", group: "Pattern Recognition", description: "Spinning Top", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLSTALLEDPATTERN: { name: "CDLSTALLEDPATTERN", camelCaseName: "cdlStalledPattern", group: "Pattern Recognition", description: "Stalled Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLSTICKSANDWICH: { name: "CDLSTICKSANDWICH", camelCaseName: "cdlStickSandwhich", group: "Pattern Recognition", description: "Stick Sandwich", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLTAKURI: { name: "CDLTAKURI", camelCaseName: "cdlTakuri", group: "Pattern Recognition", description: "Takuri (Dragonfly Doji with very long lower shadow)", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLTASUKIGAP: { name: "CDLTASUKIGAP", camelCaseName: "cdlTasukiGap", group: "Pattern Recognition", description: "Tasuki Gap", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLTHRUSTING: { name: "CDLTHRUSTING", camelCaseName: "cdlThrusting", group: "Pattern Recognition", description: "Thrusting Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLTRISTAR: { name: "CDLTRISTAR", camelCaseName: "cdlTristar", group: "Pattern Recognition", description: "Tristar Pattern", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLUNIQUE3RIVER: { name: "CDLUNIQUE3RIVER", camelCaseName: "cdlUnique3River", group: "Pattern Recognition", description: "Unique 3 River", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLUPSIDEGAP2CROWS: { name: "CDLUPSIDEGAP2CROWS", camelCaseName: "cdlUpsideGap2Crows", group: "Pattern Recognition", description: "Upside Gap Two Crows", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CDLXSIDEGAP3METHODS: { name: "CDLXSIDEGAP3METHODS", camelCaseName: "cdlXSideGap3Methods", group: "Pattern Recognition", description: "Upside/Downside Gap Three Methods", inputs: [{ name: "open", type: "Double[]" }, { name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, CEIL: { name: "CEIL", camelCaseName: "ceil", group: "Math Transform", description: "Vector Ceil", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, CMO: { name: "CMO", camelCaseName: "cmo", group: "Momentum Indicators", description: "Chande Momentum Oscillator", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, CORREL: { name: "CORREL", camelCaseName: "correl", group: "Statistic Functions", description: "Pearson's Correlation Coefficient (r)", inputs: [{ name: "inReal0", type: "Double[]" }, { name: "inReal1", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, COS: { name: "COS", camelCaseName: "cos", group: "Math Transform", description: "Vector Trigonometric Cos", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, COSH: { name: "COSH", camelCaseName: "cosh", group: "Math Transform", description: "Vector Trigonometric Cosh", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, DEMA: { name: "DEMA", camelCaseName: "dema", group: "Overlap Studies", description: "Double Exponential Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, DIV: { name: "DIV", camelCaseName: "div", group: "Math Operators", description: "Vector Arithmetic Div", inputs: [{ name: "inReal0", type: "Double[]" }, { name: "inReal1", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, DX: { name: "DX", camelCaseName: "dx", group: "Momentum Indicators", description: "Directional Movement Index", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, EMA: { name: "EMA", camelCaseName: "ema", group: "Overlap Studies", description: "Exponential Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, EXP: { name: "EXP", camelCaseName: "exp", group: "Math Transform", description: "Vector Arithmetic Exp", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, FLOOR: { name: "FLOOR", camelCaseName: "floor", group: "Math Transform", description: "Vector Floor", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, HT_DCPERIOD: { name: "HT_DCPERIOD", camelCaseName: "htDcPeriod", group: "Cycle Indicators", description: "Hilbert Transform - Dominant Cycle Period", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, HT_DCPHASE: { name: "HT_DCPHASE", camelCaseName: "htDcPhase", group: "Cycle Indicators", description: "Hilbert Transform - Dominant Cycle Phase", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, HT_PHASOR: { name: "HT_PHASOR", camelCaseName: "htPhasor", group: "Cycle Indicators", description: "Hilbert Transform - Phasor Components", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "inPhase", type: "Double[]", plotHint: "line" }, { name: "quadrature", type: "Double[]", plotHint: "line_dash" }] }, HT_SINE: { name: "HT_SINE", camelCaseName: "htSine", group: "Cycle Indicators", description: "Hilbert Transform - SineWave", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "sine", type: "Double[]", plotHint: "line" }, { name: "leadSine", type: "Double[]", plotHint: "line_dash" }] }, HT_TRENDLINE: { name: "HT_TRENDLINE", camelCaseName: "htTrendline", group: "Overlap Studies", description: "Hilbert Transform - Instantaneous Trendline", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, HT_TRENDMODE: { name: "HT_TRENDMODE", camelCaseName: "htTrendMode", group: "Cycle Indicators", description: "Hilbert Transform - Trend vs Cycle Mode", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, IMI: { name: "IMI", camelCaseName: "imi", group: "Momentum Indicators", description: "Intraday Momentum Index", inputs: [{ name: "open", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, KAMA: { name: "KAMA", camelCaseName: "kama", group: "Overlap Studies", description: "Kaufman Adaptive Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, LINEARREG: { name: "LINEARREG", camelCaseName: "linearReg", group: "Statistic Functions", description: "Linear Regression", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, LINEARREG_ANGLE: { name: "LINEARREG_ANGLE", camelCaseName: "linearRegAngle", group: "Statistic Functions", description: "Linear Regression Angle", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, LINEARREG_INTERCEPT: { name: "LINEARREG_INTERCEPT", camelCaseName: "linearRegIntercept", group: "Statistic Functions", description: "Linear Regression Intercept", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, LINEARREG_SLOPE: { name: "LINEARREG_SLOPE", camelCaseName: "linearRegSlope", group: "Statistic Functions", description: "Linear Regression Slope", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, LN: { name: "LN", camelCaseName: "ln", group: "Math Transform", description: "Vector Log Natural", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, LOG10: { name: "LOG10", camelCaseName: "log10", group: "Math Transform", description: "Vector Log10", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MA: { name: "MA", camelCaseName: "movingAverage", group: "Overlap Studies", description: "Moving average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "MAType", displayName: "MA Type", defaultValue: 0, hint: "Type of Moving Average", type: "MAType" }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MACD: { name: "MACD", camelCaseName: "macd", group: "Momentum Indicators", description: "Moving Average Convergence/Divergence", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "fastPeriod", displayName: "Fast Period", defaultValue: 12, hint: "Number of period for the fast MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "slowPeriod", displayName: "Slow Period", defaultValue: 26, hint: "Number of period for the slow MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "signalPeriod", displayName: "Signal Period", defaultValue: 9, hint: "Smoothing for the signal line (nb of period)", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "MACD", type: "Double[]", plotHint: "line" }, { name: "MACDSignal", type: "Double[]", plotHint: "line_dash" }, { name: "MACDHist", type: "Double[]", plotHint: "histogram" }] }, MACDEXT: { name: "MACDEXT", camelCaseName: "macdExt", group: "Momentum Indicators", description: "MACD with controllable MA type", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "fastPeriod", displayName: "Fast Period", defaultValue: 12, hint: "Number of period for the fast MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "fastMAType", displayName: "Fast MA", defaultValue: 0, hint: "Type of Moving Average for fast MA", type: "MAType" }, { name: "slowPeriod", displayName: "Slow Period", defaultValue: 26, hint: "Number of period for the slow MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "slowMAType", displayName: "Slow MA", defaultValue: 0, hint: "Type of Moving Average for slow MA", type: "MAType" }, { name: "signalPeriod", displayName: "Signal Period", defaultValue: 9, hint: "Smoothing for the signal line (nb of period)", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "signalMAType", displayName: "Signal MA", defaultValue: 0, hint: "Type of Moving Average for signal line", type: "MAType" }], outputs: [{ name: "MACD", type: "Double[]", plotHint: "line" }, { name: "MACDSignal", type: "Double[]", plotHint: "line_dash" }, { name: "MACDHist", type: "Double[]", plotHint: "histogram" }] }, MACDFIX: { name: "MACDFIX", camelCaseName: "macdFix", group: "Momentum Indicators", description: "Moving Average Convergence/Divergence Fix 12/26", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "signalPeriod", displayName: "Signal Period", defaultValue: 9, hint: "Smoothing for the signal line (nb of period)", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "MACD", type: "Double[]", plotHint: "line" }, { name: "MACDSignal", type: "Double[]", plotHint: "line_dash" }, { name: "MACDHist", type: "Double[]", plotHint: "histogram" }] }, MAMA: { name: "MAMA", camelCaseName: "mama", group: "Overlap Studies", description: "MESA Adaptive Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "fastLimit", displayName: "Fast Limit", defaultValue: 0.5, hint: "Upper limit use in the adaptive algorithm", type: "Double", range: { min: 0.01, max: 0.99 } }, { name: "slowLimit", displayName: "Slow Limit", defaultValue: 0.05, hint: "Lower limit use in the adaptive algorithm", type: "Double", range: { min: 0.01, max: 0.99 } }], outputs: [{ name: "MAMA", type: "Double[]", plotHint: "line" }, { name: "FAMA", type: "Double[]", plotHint: "line_dash" }] }, MAVP: { name: "MAVP", camelCaseName: "movingAverageVariablePeriod", group: "Overlap Studies", description: "Moving average with variable period", inputs: [{ name: "inReal", type: "Double[]" }, { name: "inPeriods", type: "Double[]" }], options: [{ name: "minPeriod", displayName: "Minimum Period", defaultValue: 2, hint: "Value less than minimum will be changed to Minimum period", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "maxPeriod", displayName: "Maximum Period", defaultValue: 30, hint: "Value higher than maximum will be changed to Maximum period", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "MAType", displayName: "MA Type", defaultValue: 0, hint: "Type of Moving Average", type: "MAType" }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MAX: { name: "MAX", camelCaseName: "max", group: "Math Operators", description: "Highest value over a specified period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MAXINDEX: { name: "MAXINDEX", camelCaseName: "maxIndex", group: "Math Operators", description: "Index of highest value over a specified period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, MEDPRICE: { name: "MEDPRICE", camelCaseName: "medPrice", group: "Price Transform", description: "Median Price", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MFI: { name: "MFI", camelCaseName: "mfi", group: "Momentum Indicators", description: "Money Flow Index", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }, { name: "volume", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MIDPOINT: { name: "MIDPOINT", camelCaseName: "midPoint", group: "Overlap Studies", description: "MidPoint over period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MIDPRICE: { name: "MIDPRICE", camelCaseName: "midPrice", group: "Overlap Studies", description: "Midpoint Price over period", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MIN: { name: "MIN", camelCaseName: "min", group: "Math Operators", description: "Lowest value over a specified period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MININDEX: { name: "MININDEX", camelCaseName: "minIndex", group: "Math Operators", description: "Index of lowest value over a specified period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Integer[]", plotHint: "line" }] }, MINMAX: { name: "MINMAX", camelCaseName: "minMax", group: "Math Operators", description: "Lowest and highest values over a specified period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "min", type: "Double[]", plotHint: "line" }, { name: "max", type: "Double[]", plotHint: "line" }] }, MINMAXINDEX: { name: "MINMAXINDEX", camelCaseName: "minMaxIndex", group: "Math Operators", description: "Indexes of lowest and highest values over a specified period", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "minIdx", type: "Integer[]", plotHint: "line" }, { name: "maxIdx", type: "Integer[]", plotHint: "line" }] }, MINUS_DI: { name: "MINUS_DI", camelCaseName: "minusDI", group: "Momentum Indicators", description: "Minus Directional Indicator", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MINUS_DM: { name: "MINUS_DM", camelCaseName: "minusDM", group: "Momentum Indicators", description: "Minus Directional Movement", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MOM: { name: "MOM", camelCaseName: "mom", group: "Momentum Indicators", description: "Momentum", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 10, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, MULT: { name: "MULT", camelCaseName: "mult", group: "Math Operators", description: "Vector Arithmetic Mult", inputs: [{ name: "inReal0", type: "Double[]" }, { name: "inReal1", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, NATR: { name: "NATR", camelCaseName: "natr", group: "Volatility Indicators", description: "Normalized Average True Range", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, OBV: { name: "OBV", camelCaseName: "obv", group: "Volume Indicators", description: "On Balance Volume", inputs: [{ name: "inReal", type: "Double[]" }, { name: "volume", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, PLUS_DI: { name: "PLUS_DI", camelCaseName: "plusDI", group: "Momentum Indicators", description: "Plus Directional Indicator", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, PLUS_DM: { name: "PLUS_DM", camelCaseName: "plusDM", group: "Momentum Indicators", description: "Plus Directional Movement", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, PPO: { name: "PPO", camelCaseName: "ppo", group: "Momentum Indicators", description: "Percentage Price Oscillator", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "fastPeriod", displayName: "Fast Period", defaultValue: 12, hint: "Number of period for the fast MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "slowPeriod", displayName: "Slow Period", defaultValue: 26, hint: "Number of period for the slow MA", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "MAType", displayName: "MA Type", defaultValue: 0, hint: "Type of Moving Average", type: "MAType" }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ROC: { name: "ROC", camelCaseName: "roc", group: "Momentum Indicators", description: "Rate of change : ((price/prevPrice)-1)*100", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 10, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ROCP: { name: "ROCP", camelCaseName: "rocP", group: "Momentum Indicators", description: "Rate of change Percentage: (price-prevPrice)/prevPrice", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 10, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ROCR: { name: "ROCR", camelCaseName: "rocR", group: "Momentum Indicators", description: "Rate of change ratio: (price/prevPrice)", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 10, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ROCR100: { name: "ROCR100", camelCaseName: "rocR100", group: "Momentum Indicators", description: "Rate of change ratio 100 scale: (price/prevPrice)*100", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 10, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, RSI: { name: "RSI", camelCaseName: "rsi", group: "Momentum Indicators", description: "Relative Strength Index", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SAR: { name: "SAR", camelCaseName: "sar", group: "Overlap Studies", description: "Parabolic SAR", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "acceleration", displayName: "Acceleration Factor", defaultValue: 0.02, hint: "Acceleration Factor used up to the Maximum value", type: "Double", range: { min: 0, max: 3e37 } }, { name: "maximum", displayName: "AF Maximum", defaultValue: 0.2, hint: "Acceleration Factor Maximum value", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SAREXT: { name: "SAREXT", camelCaseName: "sarExt", group: "Overlap Studies", description: "Parabolic SAR - Extended", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }], options: [{ name: "startValue", displayName: "Start Value", defaultValue: 0, hint: "Start value and direction. 0 for Auto, >0 for Long, <0 for Short", type: "Double", range: { min: -3e37, max: 3e37 } }, { name: "offsetOnReverse", displayName: "Offset on Reverse", defaultValue: 0, hint: "Percent offset added/removed to initial stop on short/long reversal", type: "Double", range: { min: 0, max: 3e37 } }, { name: "accelerationInitLong", displayName: "AF Init Long", defaultValue: 0.02, hint: "Acceleration Factor initial value for the Long direction", type: "Double", range: { min: 0, max: 3e37 } }, { name: "accelerationLong", displayName: "AF Long", defaultValue: 0.02, hint: "Acceleration Factor for the Long direction", type: "Double", range: { min: 0, max: 3e37 } }, { name: "accelerationMaxLong", displayName: "AF Max Long", defaultValue: 0.2, hint: "Acceleration Factor maximum value for the Long direction", type: "Double", range: { min: 0, max: 3e37 } }, { name: "accelerationInitShort", displayName: "AF Init Short", defaultValue: 0.02, hint: "Acceleration Factor initial value for the Short direction", type: "Double", range: { min: 0, max: 3e37 } }, { name: "accelerationShort", displayName: "AF Short", defaultValue: 0.02, hint: "Acceleration Factor for the Short direction", type: "Double", range: { min: 0, max: 3e37 } }, { name: "accelerationMaxShort", displayName: "AF Max Short", defaultValue: 0.2, hint: "Acceleration Factor maximum value for the Short direction", type: "Double", range: { min: 0, max: 3e37 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SIN: { name: "SIN", camelCaseName: "sin", group: "Math Transform", description: "Vector Trigonometric Sin", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SINH: { name: "SINH", camelCaseName: "sinh", group: "Math Transform", description: "Vector Trigonometric Sinh", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SMA: { name: "SMA", camelCaseName: "sma", group: "Overlap Studies", description: "Simple Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SQRT: { name: "SQRT", camelCaseName: "sqrt", group: "Math Transform", description: "Vector Square Root", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, STDDEV: { name: "STDDEV", camelCaseName: "stdDev", group: "Statistic Functions", description: "Standard Deviation", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 5, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "nbDev", displayName: "Deviations", defaultValue: 1, hint: "Nb of deviations", type: "Double", range: { min: -3e37, max: 3e37 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, STOCH: { name: "STOCH", camelCaseName: "stoch", group: "Momentum Indicators", description: "Stochastic", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "fastK_Period", displayName: "Fast-K Period", defaultValue: 5, hint: "Time period for building the Fast-K line", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "slowK_Period", displayName: "Slow-K Period", defaultValue: 3, hint: "Smoothing for making the Slow-K line. Usually set to 3", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "slowK_MAType", displayName: "Slow-K MA", defaultValue: 0, hint: "Type of Moving Average for Slow-K", type: "MAType" }, { name: "slowD_Period", displayName: "Slow-D Period", defaultValue: 3, hint: "Smoothing for making the Slow-D line", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "slowD_MAType", displayName: "Slow-D MA", defaultValue: 0, hint: "Type of Moving Average for Slow-D", type: "MAType" }], outputs: [{ name: "slowK", type: "Double[]", plotHint: "line_dash" }, { name: "slowD", type: "Double[]", plotHint: "line_dash" }] }, STOCHF: { name: "STOCHF", camelCaseName: "stochF", group: "Momentum Indicators", description: "Stochastic Fast", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "fastK_Period", displayName: "Fast-K Period", defaultValue: 5, hint: "Time period for building the Fast-K line", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "fastD_Period", displayName: "Fast-D Period", defaultValue: 3, hint: "Smoothing for making the Fast-D line. Usually set to 3", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "fastD_MAType", displayName: "Fast-D MA", defaultValue: 0, hint: "Type of Moving Average for Fast-D", type: "MAType" }], outputs: [{ name: "fastK", type: "Double[]", plotHint: "line" }, { name: "fastD", type: "Double[]", plotHint: "line" }] }, STOCHRSI: { name: "STOCHRSI", camelCaseName: "stochRsi", group: "Momentum Indicators", description: "Stochastic Relative Strength Index", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "fastK_Period", displayName: "Fast-K Period", defaultValue: 5, hint: "Time period for building the Fast-K line", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "fastD_Period", displayName: "Fast-D Period", defaultValue: 3, hint: "Smoothing for making the Fast-D line. Usually set to 3", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "fastD_MAType", displayName: "Fast-D MA", defaultValue: 0, hint: "Type of Moving Average for Fast-D", type: "MAType" }], outputs: [{ name: "fastK", type: "Double[]", plotHint: "line" }, { name: "fastD", type: "Double[]", plotHint: "line" }] }, SUB: { name: "SUB", camelCaseName: "sub", group: "Math Operators", description: "Vector Arithmetic Substraction", inputs: [{ name: "inReal0", type: "Double[]" }, { name: "inReal1", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, SUM: { name: "SUM", camelCaseName: "sum", group: "Math Operators", description: "Summation", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, T3: { name: "T3", camelCaseName: "t3", group: "Overlap Studies", description: "Triple Exponential Moving Average (T3)", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 5, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }, { name: "VFactor", displayName: "Volume Factor", defaultValue: 0.7, hint: "Volume Factor", type: "Double", range: { min: 0, max: 1 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TAN: { name: "TAN", camelCaseName: "tan", group: "Math Transform", description: "Vector Trigonometric Tan", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TANH: { name: "TANH", camelCaseName: "tanh", group: "Math Transform", description: "Vector Trigonometric Tanh", inputs: [{ name: "inReal", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TEMA: { name: "TEMA", camelCaseName: "tema", group: "Overlap Studies", description: "Triple Exponential Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TRANGE: { name: "TRANGE", camelCaseName: "trueRange", group: "Volatility Indicators", description: "True Range", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TRIMA: { name: "TRIMA", camelCaseName: "trima", group: "Overlap Studies", description: "Triangular Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TRIX: { name: "TRIX", camelCaseName: "trix", group: "Momentum Indicators", description: "1-day Rate-Of-Change (ROC) of a Triple Smooth EMA", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TSF: { name: "TSF", camelCaseName: "tsf", group: "Statistic Functions", description: "Time Series Forecast", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, TYPPRICE: { name: "TYPPRICE", camelCaseName: "typPrice", group: "Price Transform", description: "Typical Price", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, ULTOSC: { name: "ULTOSC", camelCaseName: "ultOsc", group: "Momentum Indicators", description: "Ultimate Oscillator", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod1", displayName: "First Period", defaultValue: 7, hint: "Number of bars for 1st period.", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "timePeriod2", displayName: "Second Period", defaultValue: 14, hint: "Number of bars fro 2nd period", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "timePeriod3", displayName: "Third Period", defaultValue: 28, hint: "Number of bars for 3rd period", type: "Integer", range: { min: 1, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, VAR: { name: "VAR", camelCaseName: "variance", group: "Statistic Functions", description: "Variance", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 5, hint: "Number of period", type: "Integer", range: { min: 1, max: 1e5 } }, { name: "nbDev", displayName: "Deviations", defaultValue: 1, hint: "Nb of deviations", type: "Double", range: { min: -3e37, max: 3e37 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, WCLPRICE: { name: "WCLPRICE", camelCaseName: "wclPrice", group: "Price Transform", description: "Weighted Close Price", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, WILLR: { name: "WILLR", camelCaseName: "willR", group: "Momentum Indicators", description: "Williams' %R", inputs: [{ name: "high", type: "Double[]" }, { name: "low", type: "Double[]" }, { name: "close", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 14, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] }, WMA: { name: "WMA", camelCaseName: "wma", group: "Overlap Studies", description: "Weighted Moving Average", inputs: [{ name: "inReal", type: "Double[]" }], options: [{ name: "timePeriod", displayName: "Time Period", defaultValue: 30, hint: "Number of period", type: "Integer", range: { min: 2, max: 1e5 } }], outputs: [{ name: "output", type: "Double[]", plotHint: "line" }] } };
1236
- var Fe = Fe;
1237
- let ae;
1238
- function cn(n, N) {
1239
- const e = n._malloc(N * 8);
1240
- return n.HEAPF64.set(new Float64Array(N), e / 8), {
1241
- data: n.HEAPF64.subarray(e / 8, e / 8 + N),
1242
- offset: e
1243
- };
1244
- }
1245
- const ci = {
1246
- 0: "TA_SUCCESS",
1247
- 1: "TA_LIB_NOT_INITIALIZE",
1248
- 2: "TA_BAD_PARAM",
1249
- 3: "TA_ALLOC_ERR",
1250
- 4: "TA_GROUP_NOT_FOUND",
1251
- 5: "TA_FUNC_NOT_FOUND",
1252
- 6: "TA_INVALID_HANDLE",
1253
- 7: "TA_INVALID_PARAM_HOLDER",
1254
- 8: "TA_INVALID_PARAM_HOLDER_TYPE",
1255
- 9: "TA_INVALID_PARAM_FUNCTION",
1256
- 10: "TA_INPUT_NOT_ALL_INITIALIZE",
1257
- 11: "TA_OUTPUT_NOT_ALL_INITIALIZE",
1258
- 12: "TA_OUT_OF_RANGE_START_INDEX",
1259
- 13: "TA_OUT_OF_RANGE_END_INDEX",
1260
- 14: "TA_INVALID_LIST_TYPE",
1261
- 15: "TA_BAD_OBJECT",
1262
- 16: "TA_NOT_SUPPORTED",
1263
- 5e3: "TA_INTERNAL_ERROR",
1264
- 65535: "TA_UNKNOWN_ERR"
1265
- };
1266
- function o(n, N) {
1267
- const e = `TA_${n.name}`;
1268
- if (!ae)
1269
- throw Error(`${n.name}() called before initialization.`);
1270
- const b = 2 + n.inputs.length + n.options.length + 2 + n.outputs.length, w = new Array(b).fill("number");
1271
- for (const { name: l } of n.inputs)
1272
- if (!Array.isArray(N[l]))
1273
- throw N[l] === void 0 ? Error(`Bad Param: "${l}" is required`) : Error(`Bad Param: "${l}" should be array of number`);
1274
- for (const { name: l, defaultValue: p, range: s } of n.options)
1275
- if (N[l] === void 0)
1276
- N[l] = p;
1277
- else if (s && (N[l] < s.min || N[l] > s.max))
1278
- throw Error(`Bad Param: "${l}" out of range (min: ${s.min}, max: ${s.max})`);
1279
- let { startIdx: h, endIdx: y } = N;
1280
- h === void 0 && (h = 0);
1281
- const f = n.inputs.map(({ name: l }) => N[l].length);
1282
- y === void 0 && (y = Math.min(...f));
1283
- const _ = [h, y], A = [];
1284
- n.inputs.forEach(({ name: l }) => {
1285
- const p = cn(ae, y - h), s = N[l];
1286
- for (const I in s)
1287
- p.data[I] = s[I];
1288
- A.push(p), _.push(p.offset);
1289
- }), n.options.forEach(({ name: l }) => _.push(N[l])), _.push(0), _.push(0);
1290
- const E = n.outputs.map(({ name: l }) => {
1291
- const p = cn(ae, y - h);
1292
- return A.push(p), _.push(p.offset), { name: l, array: p };
1293
- }), L = ae.ccall(e, "number", w, _);
1294
- A.forEach((l) => ae._free(l.offset));
1295
- const u = E.reduce((l, p) => (l[p.name] = Array.from(p.array.data), l), {});
1296
- if (L === 0)
1297
- return u;
1298
- throw Error("[C_ERROR] " + ci[L]);
1299
- }
1300
- var Be;
1301
- (function(n) {
1302
- n[n.SMA = 0] = "SMA", n[n.EMA = 1] = "EMA", n[n.WMA = 2] = "WMA", n[n.DEMA = 3] = "DEMA", n[n.TEMA = 4] = "TEMA", n[n.TRIMA = 5] = "TRIMA", n[n.KAMA = 6] = "KAMA", n[n.MAMA = 7] = "MAMA", n[n.T3 = 8] = "T3";
1303
- })(Be || (Be = {}));
1304
- function yn(n) {
1305
- return ae ? Promise.resolve(ae) : n && typeof n != "string" ? Promise.reject(new Error('Invalid argument, "init(wasmBinaryFilePath)" expects a string that specifies the location of wasm binary file')) : Fe({ locateFile: n ? () => n : void 0 }).then((e) => ae = e).catch((e) => {
1306
- let b = "TA-Lib WASM runtime init fail.";
1307
- throw e && e.message ? b += `
1308
- Error:
1309
- ` + e.message : b += "Unknown reason. Perhaps you specify the wrong file path to wasm binary?", new Error(b);
1310
- });
1311
- }
1312
- let _i = a.ACCBANDS;
1313
- function fn(n) {
1314
- return o(_i, n);
1315
- }
1316
- const Ai = fn;
1317
- let Di = a.ACOS;
1318
- function Cn(n) {
1319
- return o(Di, n);
1320
- }
1321
- const di = Cn;
1322
- let Ii = a.AD;
1323
- function gn(n) {
1324
- return o(Ii, n);
1325
- }
1326
- const Ti = gn;
1327
- let yi = a.ADD;
1328
- function Nn(n) {
1329
- return o(yi, n);
1330
- }
1331
- const fi = Nn;
1332
- let Ci = a.ADOSC;
1333
- function Ln(n) {
1334
- return o(Ci, n);
1335
- }
1336
- const gi = Ln;
1337
- let Ni = a.ADX;
1338
- function Rn(n) {
1339
- return o(Ni, n);
1340
- }
1341
- const Li = Rn;
1342
- let Ri = a.ADXR;
1343
- function En(n) {
1344
- return o(Ri, n);
1345
- }
1346
- const Ei = En;
1347
- let bi = a.APO;
1348
- function bn(n) {
1349
- return o(bi, n);
1350
- }
1351
- const Si = bn;
1352
- let Pi = a.AROON;
1353
- function Sn(n) {
1354
- return o(Pi, n);
1355
- }
1356
- const hi = Sn;
1357
- let Oi = a.AROONOSC;
1358
- function Pn(n) {
1359
- return o(Oi, n);
1360
- }
1361
- const Mi = Pn;
1362
- let Hi = a.ASIN;
1363
- function hn(n) {
1364
- return o(Hi, n);
1365
- }
1366
- const vi = hn;
1367
- let wi = a.ATAN;
1368
- function On(n) {
1369
- return o(wi, n);
1370
- }
1371
- const Gi = On;
1372
- let Vi = a.ATR;
1373
- function Mn(n) {
1374
- return o(Vi, n);
1375
- }
1376
- const xi = Mn;
1377
- let Ui = a.AVGDEV;
1378
- function Hn(n) {
1379
- return o(Ui, n);
1380
- }
1381
- const Bi = Hn;
1382
- let Ki = a.AVGPRICE;
1383
- function vn(n) {
1384
- return o(Ki, n);
1385
- }
1386
- const Fi = vn;
1387
- let Wi = a.BBANDS;
1388
- function wn(n) {
1389
- return o(Wi, n);
1390
- }
1391
- const ki = wn;
1392
- let Xi = a.BETA;
1393
- function Gn(n) {
1394
- return o(Xi, n);
1395
- }
1396
- const Ji = Gn;
1397
- let Yi = a.BOP;
1398
- function Vn(n) {
1399
- return o(Yi, n);
1400
- }
1401
- const ji = Vn;
1402
- let qi = a.CCI;
1403
- function xn(n) {
1404
- return o(qi, n);
1405
- }
1406
- const zi = xn;
1407
- let $i = a.CDL2CROWS;
1408
- function Un(n) {
1409
- return o($i, n);
1410
- }
1411
- const Zi = Un;
1412
- let Qi = a.CDL3BLACKCROWS;
1413
- function Bn(n) {
1414
- return o(Qi, n);
1415
- }
1416
- const er = Bn;
1417
- let nr = a.CDL3INSIDE;
1418
- function Kn(n) {
1419
- return o(nr, n);
1420
- }
1421
- const tr = Kn;
1422
- let ar = a.CDL3LINESTRIKE;
1423
- function Fn(n) {
1424
- return o(ar, n);
1425
- }
1426
- const or = Fn;
1427
- let ir = a.CDL3OUTSIDE;
1428
- function Wn(n) {
1429
- return o(ir, n);
1430
- }
1431
- const rr = Wn;
1432
- let ur = a.CDL3STARSINSOUTH;
1433
- function kn(n) {
1434
- return o(ur, n);
1435
- }
1436
- const lr = kn;
1437
- let pr = a.CDL3WHITESOLDIERS;
1438
- function Xn(n) {
1439
- return o(pr, n);
1440
- }
1441
- const sr = Xn;
1442
- let mr = a.CDLABANDONEDBABY;
1443
- function Jn(n) {
1444
- return o(mr, n);
1445
- }
1446
- const cr = Jn;
1447
- let _r = a.CDLADVANCEBLOCK;
1448
- function Yn(n) {
1449
- return o(_r, n);
1450
- }
1451
- const Ar = Yn;
1452
- let Dr = a.CDLBELTHOLD;
1453
- function jn(n) {
1454
- return o(Dr, n);
1455
- }
1456
- const dr = jn;
1457
- let Ir = a.CDLBREAKAWAY;
1458
- function qn(n) {
1459
- return o(Ir, n);
1460
- }
1461
- const Tr = qn;
1462
- let yr = a.CDLCLOSINGMARUBOZU;
1463
- function zn(n) {
1464
- return o(yr, n);
1465
- }
1466
- const fr = zn;
1467
- let Cr = a.CDLCONCEALBABYSWALL;
1468
- function $n(n) {
1469
- return o(Cr, n);
1470
- }
1471
- const gr = $n;
1472
- let Nr = a.CDLCOUNTERATTACK;
1473
- function Zn(n) {
1474
- return o(Nr, n);
1475
- }
1476
- const Lr = Zn;
1477
- let Rr = a.CDLDARKCLOUDCOVER;
1478
- function Qn(n) {
1479
- return o(Rr, n);
1480
- }
1481
- const Er = Qn;
1482
- let br = a.CDLDOJI;
1483
- function et(n) {
1484
- return o(br, n);
1485
- }
1486
- const Sr = et;
1487
- let Pr = a.CDLDOJISTAR;
1488
- function nt(n) {
1489
- return o(Pr, n);
1490
- }
1491
- const hr = nt;
1492
- let Or = a.CDLDRAGONFLYDOJI;
1493
- function tt(n) {
1494
- return o(Or, n);
1495
- }
1496
- const Mr = tt;
1497
- let Hr = a.CDLENGULFING;
1498
- function at(n) {
1499
- return o(Hr, n);
1500
- }
1501
- const vr = at;
1502
- let wr = a.CDLEVENINGDOJISTAR;
1503
- function ot(n) {
1504
- return o(wr, n);
1505
- }
1506
- const Gr = ot;
1507
- let Vr = a.CDLEVENINGSTAR;
1508
- function it(n) {
1509
- return o(Vr, n);
1510
- }
1511
- const xr = it;
1512
- let Ur = a.CDLGAPSIDESIDEWHITE;
1513
- function rt(n) {
1514
- return o(Ur, n);
1515
- }
1516
- const Br = rt;
1517
- let Kr = a.CDLGRAVESTONEDOJI;
1518
- function ut(n) {
1519
- return o(Kr, n);
1520
- }
1521
- const Fr = ut;
1522
- let Wr = a.CDLHAMMER;
1523
- function lt(n) {
1524
- return o(Wr, n);
1525
- }
1526
- const kr = lt;
1527
- let Xr = a.CDLHANGINGMAN;
1528
- function pt(n) {
1529
- return o(Xr, n);
1530
- }
1531
- const Jr = pt;
1532
- let Yr = a.CDLHARAMI;
1533
- function st(n) {
1534
- return o(Yr, n);
1535
- }
1536
- const jr = st;
1537
- let qr = a.CDLHARAMICROSS;
1538
- function mt(n) {
1539
- return o(qr, n);
1540
- }
1541
- const zr = mt;
1542
- let $r = a.CDLHIGHWAVE;
1543
- function ct(n) {
1544
- return o($r, n);
1545
- }
1546
- const Zr = ct;
1547
- let Qr = a.CDLHIKKAKE;
1548
- function _t(n) {
1549
- return o(Qr, n);
1550
- }
1551
- const eu = _t;
1552
- let nu = a.CDLHIKKAKEMOD;
1553
- function At(n) {
1554
- return o(nu, n);
1555
- }
1556
- const tu = At;
1557
- let au = a.CDLHOMINGPIGEON;
1558
- function Dt(n) {
1559
- return o(au, n);
1560
- }
1561
- const ou = Dt;
1562
- let iu = a.CDLIDENTICAL3CROWS;
1563
- function dt(n) {
1564
- return o(iu, n);
1565
- }
1566
- const ru = dt;
1567
- let uu = a.CDLINNECK;
1568
- function It(n) {
1569
- return o(uu, n);
1570
- }
1571
- const lu = It;
1572
- let pu = a.CDLINVERTEDHAMMER;
1573
- function Tt(n) {
1574
- return o(pu, n);
1575
- }
1576
- const su = Tt;
1577
- let mu = a.CDLKICKING;
1578
- function yt(n) {
1579
- return o(mu, n);
1580
- }
1581
- const cu = yt;
1582
- let _u = a.CDLKICKINGBYLENGTH;
1583
- function ft(n) {
1584
- return o(_u, n);
1585
- }
1586
- const Au = ft;
1587
- let Du = a.CDLLADDERBOTTOM;
1588
- function Ct(n) {
1589
- return o(Du, n);
1590
- }
1591
- const du = Ct;
1592
- let Iu = a.CDLLONGLEGGEDDOJI;
1593
- function gt(n) {
1594
- return o(Iu, n);
1595
- }
1596
- const Tu = gt;
1597
- let yu = a.CDLLONGLINE;
1598
- function Nt(n) {
1599
- return o(yu, n);
1600
- }
1601
- const fu = Nt;
1602
- let Cu = a.CDLMARUBOZU;
1603
- function Lt(n) {
1604
- return o(Cu, n);
1605
- }
1606
- const gu = Lt;
1607
- let Nu = a.CDLMATCHINGLOW;
1608
- function Rt(n) {
1609
- return o(Nu, n);
1610
- }
1611
- const Lu = Rt;
1612
- let Ru = a.CDLMATHOLD;
1613
- function Et(n) {
1614
- return o(Ru, n);
1615
- }
1616
- const Eu = Et;
1617
- let bu = a.CDLMORNINGDOJISTAR;
1618
- function bt(n) {
1619
- return o(bu, n);
1620
- }
1621
- const Su = bt;
1622
- let Pu = a.CDLMORNINGSTAR;
1623
- function St(n) {
1624
- return o(Pu, n);
1625
- }
1626
- const hu = St;
1627
- let Ou = a.CDLONNECK;
1628
- function Pt(n) {
1629
- return o(Ou, n);
1630
- }
1631
- const Mu = Pt;
1632
- let Hu = a.CDLPIERCING;
1633
- function ht(n) {
1634
- return o(Hu, n);
1635
- }
1636
- const vu = ht;
1637
- let wu = a.CDLRICKSHAWMAN;
1638
- function Ot(n) {
1639
- return o(wu, n);
1640
- }
1641
- const Gu = Ot;
1642
- let Vu = a.CDLRISEFALL3METHODS;
1643
- function Mt(n) {
1644
- return o(Vu, n);
1645
- }
1646
- const xu = Mt;
1647
- let Uu = a.CDLSEPARATINGLINES;
1648
- function Ht(n) {
1649
- return o(Uu, n);
1650
- }
1651
- const Bu = Ht;
1652
- let Ku = a.CDLSHOOTINGSTAR;
1653
- function vt(n) {
1654
- return o(Ku, n);
1655
- }
1656
- const Fu = vt;
1657
- let Wu = a.CDLSHORTLINE;
1658
- function wt(n) {
1659
- return o(Wu, n);
1660
- }
1661
- const ku = wt;
1662
- let Xu = a.CDLSPINNINGTOP;
1663
- function Gt(n) {
1664
- return o(Xu, n);
1665
- }
1666
- const Ju = Gt;
1667
- let Yu = a.CDLSTALLEDPATTERN;
1668
- function Vt(n) {
1669
- return o(Yu, n);
1670
- }
1671
- const ju = Vt;
1672
- let qu = a.CDLSTICKSANDWICH;
1673
- function xt(n) {
1674
- return o(qu, n);
1675
- }
1676
- const zu = xt;
1677
- let $u = a.CDLTAKURI;
1678
- function Ut(n) {
1679
- return o($u, n);
1680
- }
1681
- const Zu = Ut;
1682
- let Qu = a.CDLTASUKIGAP;
1683
- function Bt(n) {
1684
- return o(Qu, n);
1685
- }
1686
- const el = Bt;
1687
- let nl = a.CDLTHRUSTING;
1688
- function Kt(n) {
1689
- return o(nl, n);
1690
- }
1691
- const tl = Kt;
1692
- let al = a.CDLTRISTAR;
1693
- function Ft(n) {
1694
- return o(al, n);
1695
- }
1696
- const ol = Ft;
1697
- let il = a.CDLUNIQUE3RIVER;
1698
- function Wt(n) {
1699
- return o(il, n);
1700
- }
1701
- const rl = Wt;
1702
- let ul = a.CDLUPSIDEGAP2CROWS;
1703
- function kt(n) {
1704
- return o(ul, n);
1705
- }
1706
- const ll = kt;
1707
- let pl = a.CDLXSIDEGAP3METHODS;
1708
- function Xt(n) {
1709
- return o(pl, n);
1710
- }
1711
- const sl = Xt;
1712
- let ml = a.CEIL;
1713
- function Jt(n) {
1714
- return o(ml, n);
1715
- }
1716
- const cl = Jt;
1717
- let _l = a.CMO;
1718
- function Yt(n) {
1719
- return o(_l, n);
1720
- }
1721
- const Al = Yt;
1722
- let Dl = a.CORREL;
1723
- function jt(n) {
1724
- return o(Dl, n);
1725
- }
1726
- const dl = jt;
1727
- let Il = a.COS;
1728
- function qt(n) {
1729
- return o(Il, n);
1730
- }
1731
- const Tl = qt;
1732
- let yl = a.COSH;
1733
- function zt(n) {
1734
- return o(yl, n);
1735
- }
1736
- const fl = zt;
1737
- let Cl = a.DEMA;
1738
- function $t(n) {
1739
- return o(Cl, n);
1740
- }
1741
- const gl = $t;
1742
- let Nl = a.DIV;
1743
- function Zt(n) {
1744
- return o(Nl, n);
1745
- }
1746
- const Ll = Zt;
1747
- let Rl = a.DX;
1748
- function Qt(n) {
1749
- return o(Rl, n);
1750
- }
1751
- const El = Qt;
1752
- let bl = a.EMA;
1753
- function ea(n) {
1754
- return o(bl, n);
1755
- }
1756
- const Sl = ea;
1757
- let Pl = a.EXP;
1758
- function na(n) {
1759
- return o(Pl, n);
1760
- }
1761
- const hl = na;
1762
- let Ol = a.FLOOR;
1763
- function ta(n) {
1764
- return o(Ol, n);
1765
- }
1766
- const Ml = ta;
1767
- let Hl = a.HT_DCPERIOD;
1768
- function aa(n) {
1769
- return o(Hl, n);
1770
- }
1771
- const vl = aa;
1772
- let wl = a.HT_DCPHASE;
1773
- function oa(n) {
1774
- return o(wl, n);
1775
- }
1776
- const Gl = oa;
1777
- let Vl = a.HT_PHASOR;
1778
- function ia(n) {
1779
- return o(Vl, n);
1780
- }
1781
- const xl = ia;
1782
- let Ul = a.HT_SINE;
1783
- function ra(n) {
1784
- return o(Ul, n);
1785
- }
1786
- const Bl = ra;
1787
- let Kl = a.HT_TRENDLINE;
1788
- function ua(n) {
1789
- return o(Kl, n);
1790
- }
1791
- const Fl = ua;
1792
- let Wl = a.HT_TRENDMODE;
1793
- function la(n) {
1794
- return o(Wl, n);
1795
- }
1796
- const kl = la;
1797
- let Xl = a.IMI;
1798
- function pa(n) {
1799
- return o(Xl, n);
1800
- }
1801
- const Jl = pa;
1802
- let Yl = a.KAMA;
1803
- function sa(n) {
1804
- return o(Yl, n);
1805
- }
1806
- const jl = sa;
1807
- let ql = a.LINEARREG;
1808
- function ma(n) {
1809
- return o(ql, n);
1810
- }
1811
- const zl = ma;
1812
- let $l = a.LINEARREG_ANGLE;
1813
- function ca(n) {
1814
- return o($l, n);
1815
- }
1816
- const Zl = ca;
1817
- let Ql = a.LINEARREG_INTERCEPT;
1818
- function _a(n) {
1819
- return o(Ql, n);
1820
- }
1821
- const ep = _a;
1822
- let np = a.LINEARREG_SLOPE;
1823
- function Aa(n) {
1824
- return o(np, n);
1825
- }
1826
- const tp = Aa;
1827
- let ap = a.LN;
1828
- function Da(n) {
1829
- return o(ap, n);
1830
- }
1831
- const op = Da;
1832
- let ip = a.LOG10;
1833
- function da(n) {
1834
- return o(ip, n);
1835
- }
1836
- const rp = da;
1837
- let up = a.MA;
1838
- function Ia(n) {
1839
- return o(up, n);
1840
- }
1841
- const lp = Ia;
1842
- let pp = a.MACD;
1843
- function Ta(n) {
1844
- return o(pp, n);
1845
- }
1846
- const sp = Ta;
1847
- let mp = a.MACDEXT;
1848
- function ya(n) {
1849
- return o(mp, n);
1850
- }
1851
- const cp = ya;
1852
- let _p = a.MACDFIX;
1853
- function fa(n) {
1854
- return o(_p, n);
1855
- }
1856
- const Ap = fa;
1857
- let Dp = a.MAMA;
1858
- function Ca(n) {
1859
- return o(Dp, n);
1860
- }
1861
- const dp = Ca;
1862
- let Ip = a.MAVP;
1863
- function ga(n) {
1864
- return o(Ip, n);
1865
- }
1866
- const Tp = ga;
1867
- let yp = a.MAX;
1868
- function Na(n) {
1869
- return o(yp, n);
1870
- }
1871
- const fp = Na;
1872
- let Cp = a.MAXINDEX;
1873
- function La(n) {
1874
- return o(Cp, n);
1875
- }
1876
- const gp = La;
1877
- let Np = a.MEDPRICE;
1878
- function Ra(n) {
1879
- return o(Np, n);
1880
- }
1881
- const Lp = Ra;
1882
- let Rp = a.MFI;
1883
- function Ea(n) {
1884
- return o(Rp, n);
1885
- }
1886
- const Ep = Ea;
1887
- let bp = a.MIDPOINT;
1888
- function ba(n) {
1889
- return o(bp, n);
1890
- }
1891
- const Sp = ba;
1892
- let Pp = a.MIDPRICE;
1893
- function Sa(n) {
1894
- return o(Pp, n);
1895
- }
1896
- const hp = Sa;
1897
- let Op = a.MIN;
1898
- function Pa(n) {
1899
- return o(Op, n);
1900
- }
1901
- const Mp = Pa;
1902
- let Hp = a.MININDEX;
1903
- function ha(n) {
1904
- return o(Hp, n);
1905
- }
1906
- const vp = ha;
1907
- let wp = a.MINMAX;
1908
- function Oa(n) {
1909
- return o(wp, n);
1910
- }
1911
- const Gp = Oa;
1912
- let Vp = a.MINMAXINDEX;
1913
- function Ma(n) {
1914
- return o(Vp, n);
1915
- }
1916
- const xp = Ma;
1917
- let Up = a.MINUS_DI;
1918
- function Ha(n) {
1919
- return o(Up, n);
1920
- }
1921
- const Bp = Ha;
1922
- let Kp = a.MINUS_DM;
1923
- function va(n) {
1924
- return o(Kp, n);
1925
- }
1926
- const Fp = va;
1927
- let Wp = a.MOM;
1928
- function wa(n) {
1929
- return o(Wp, n);
1930
- }
1931
- const kp = wa;
1932
- let Xp = a.MULT;
1933
- function Ga(n) {
1934
- return o(Xp, n);
1935
- }
1936
- const Jp = Ga;
1937
- let Yp = a.NATR;
1938
- function Va(n) {
1939
- return o(Yp, n);
1940
- }
1941
- const jp = Va;
1942
- let qp = a.OBV;
1943
- function xa(n) {
1944
- return o(qp, n);
1945
- }
1946
- const zp = xa;
1947
- let $p = a.PLUS_DI;
1948
- function Ua(n) {
1949
- return o($p, n);
1950
- }
1951
- const Zp = Ua;
1952
- let Qp = a.PLUS_DM;
1953
- function Ba(n) {
1954
- return o(Qp, n);
1955
- }
1956
- const es = Ba;
1957
- let ns = a.PPO;
1958
- function Ka(n) {
1959
- return o(ns, n);
1960
- }
1961
- const ts = Ka;
1962
- let as = a.ROC;
1963
- function Fa(n) {
1964
- return o(as, n);
1965
- }
1966
- const os = Fa;
1967
- let is = a.ROCP;
1968
- function Wa(n) {
1969
- return o(is, n);
1970
- }
1971
- const rs = Wa;
1972
- let us = a.ROCR;
1973
- function ka(n) {
1974
- return o(us, n);
1975
- }
1976
- const ls = ka;
1977
- let ps = a.ROCR100;
1978
- function Xa(n) {
1979
- return o(ps, n);
1980
- }
1981
- const ss = Xa;
1982
- let ms = a.RSI;
1983
- function Ja(n) {
1984
- return o(ms, n);
1985
- }
1986
- const cs = Ja;
1987
- let _s = a.SAR;
1988
- function Ya(n) {
1989
- return o(_s, n);
1990
- }
1991
- const As = Ya;
1992
- let Ds = a.SAREXT;
1993
- function ja(n) {
1994
- return o(Ds, n);
1995
- }
1996
- const ds = ja;
1997
- let Is = a.SIN;
1998
- function qa(n) {
1999
- return o(Is, n);
2000
- }
2001
- const Ts = qa;
2002
- let ys = a.SINH;
2003
- function za(n) {
2004
- return o(ys, n);
2005
- }
2006
- const fs = za;
2007
- let Cs = a.SMA;
2008
- function $a(n) {
2009
- return o(Cs, n);
2010
- }
2011
- const gs = $a;
2012
- let Ns = a.SQRT;
2013
- function Za(n) {
2014
- return o(Ns, n);
2015
- }
2016
- const Ls = Za;
2017
- let Rs = a.STDDEV;
2018
- function Qa(n) {
2019
- return o(Rs, n);
2020
- }
2021
- const Es = Qa;
2022
- let bs = a.STOCH;
2023
- function eo(n) {
2024
- return o(bs, n);
2025
- }
2026
- const Ss = eo;
2027
- let Ps = a.STOCHF;
2028
- function no(n) {
2029
- return o(Ps, n);
2030
- }
2031
- const hs = no;
2032
- let Os = a.STOCHRSI;
2033
- function to(n) {
2034
- return o(Os, n);
2035
- }
2036
- const Ms = to;
2037
- let Hs = a.SUB;
2038
- function ao(n) {
2039
- return o(Hs, n);
2040
- }
2041
- const vs = ao;
2042
- let ws = a.SUM;
2043
- function oo(n) {
2044
- return o(ws, n);
2045
- }
2046
- const Gs = oo;
2047
- let Vs = a.T3;
2048
- function io(n) {
2049
- return o(Vs, n);
2050
- }
2051
- const xs = io;
2052
- let Us = a.TAN;
2053
- function ro(n) {
2054
- return o(Us, n);
2055
- }
2056
- const Bs = ro;
2057
- let Ks = a.TANH;
2058
- function uo(n) {
2059
- return o(Ks, n);
2060
- }
2061
- const Fs = uo;
2062
- let Ws = a.TEMA;
2063
- function lo(n) {
2064
- return o(Ws, n);
2065
- }
2066
- const ks = lo;
2067
- let Xs = a.TRANGE;
2068
- function po(n) {
2069
- return o(Xs, n);
2070
- }
2071
- const Js = po;
2072
- let Ys = a.TRIMA;
2073
- function so(n) {
2074
- return o(Ys, n);
2075
- }
2076
- const js = so;
2077
- let qs = a.TRIX;
2078
- function mo(n) {
2079
- return o(qs, n);
2080
- }
2081
- const zs = mo;
2082
- let $s = a.TSF;
2083
- function co(n) {
2084
- return o($s, n);
2085
- }
2086
- const Zs = co;
2087
- let Qs = a.TYPPRICE;
2088
- function _o(n) {
2089
- return o(Qs, n);
2090
- }
2091
- const em = _o;
2092
- let nm = a.ULTOSC;
2093
- function Ao(n) {
2094
- return o(nm, n);
2095
- }
2096
- const tm = Ao;
2097
- let am = a.VAR;
2098
- function Do(n) {
2099
- return o(am, n);
2100
- }
2101
- const om = Do;
2102
- let im = a.WCLPRICE;
2103
- function Io(n) {
2104
- return o(im, n);
2105
- }
2106
- const rm = Io;
2107
- let um = a.WILLR;
2108
- function To(n) {
2109
- return o(um, n);
2110
- }
2111
- const lm = To;
2112
- let pm = a.WMA;
2113
- function yo(n) {
2114
- return o(pm, n);
2115
- }
2116
- const sm = yo, fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2117
- __proto__: null,
2118
- ACCBANDS: fn,
2119
- ACOS: Cn,
2120
- AD: gn,
2121
- ADD: Nn,
2122
- ADOSC: Ln,
2123
- ADX: Rn,
2124
- ADXR: En,
2125
- APO: bn,
2126
- AROON: Sn,
2127
- AROONOSC: Pn,
2128
- ASIN: hn,
2129
- ATAN: On,
2130
- ATR: Mn,
2131
- AVGDEV: Hn,
2132
- AVGPRICE: vn,
2133
- BBANDS: wn,
2134
- BETA: Gn,
2135
- BOP: Vn,
2136
- CCI: xn,
2137
- CDL2CROWS: Un,
2138
- CDL3BLACKCROWS: Bn,
2139
- CDL3INSIDE: Kn,
2140
- CDL3LINESTRIKE: Fn,
2141
- CDL3OUTSIDE: Wn,
2142
- CDL3STARSINSOUTH: kn,
2143
- CDL3WHITESOLDIERS: Xn,
2144
- CDLABANDONEDBABY: Jn,
2145
- CDLADVANCEBLOCK: Yn,
2146
- CDLBELTHOLD: jn,
2147
- CDLBREAKAWAY: qn,
2148
- CDLCLOSINGMARUBOZU: zn,
2149
- CDLCONCEALBABYSWALL: $n,
2150
- CDLCOUNTERATTACK: Zn,
2151
- CDLDARKCLOUDCOVER: Qn,
2152
- CDLDOJI: et,
2153
- CDLDOJISTAR: nt,
2154
- CDLDRAGONFLYDOJI: tt,
2155
- CDLENGULFING: at,
2156
- CDLEVENINGDOJISTAR: ot,
2157
- CDLEVENINGSTAR: it,
2158
- CDLGAPSIDESIDEWHITE: rt,
2159
- CDLGRAVESTONEDOJI: ut,
2160
- CDLHAMMER: lt,
2161
- CDLHANGINGMAN: pt,
2162
- CDLHARAMI: st,
2163
- CDLHARAMICROSS: mt,
2164
- CDLHIGHWAVE: ct,
2165
- CDLHIKKAKE: _t,
2166
- CDLHIKKAKEMOD: At,
2167
- CDLHOMINGPIGEON: Dt,
2168
- CDLIDENTICAL3CROWS: dt,
2169
- CDLINNECK: It,
2170
- CDLINVERTEDHAMMER: Tt,
2171
- CDLKICKING: yt,
2172
- CDLKICKINGBYLENGTH: ft,
2173
- CDLLADDERBOTTOM: Ct,
2174
- CDLLONGLEGGEDDOJI: gt,
2175
- CDLLONGLINE: Nt,
2176
- CDLMARUBOZU: Lt,
2177
- CDLMATCHINGLOW: Rt,
2178
- CDLMATHOLD: Et,
2179
- CDLMORNINGDOJISTAR: bt,
2180
- CDLMORNINGSTAR: St,
2181
- CDLONNECK: Pt,
2182
- CDLPIERCING: ht,
2183
- CDLRICKSHAWMAN: Ot,
2184
- CDLRISEFALL3METHODS: Mt,
2185
- CDLSEPARATINGLINES: Ht,
2186
- CDLSHOOTINGSTAR: vt,
2187
- CDLSHORTLINE: wt,
2188
- CDLSPINNINGTOP: Gt,
2189
- CDLSTALLEDPATTERN: Vt,
2190
- CDLSTICKSANDWICH: xt,
2191
- CDLTAKURI: Ut,
2192
- CDLTASUKIGAP: Bt,
2193
- CDLTHRUSTING: Kt,
2194
- CDLTRISTAR: Ft,
2195
- CDLUNIQUE3RIVER: Wt,
2196
- CDLUPSIDEGAP2CROWS: kt,
2197
- CDLXSIDEGAP3METHODS: Xt,
2198
- CEIL: Jt,
2199
- CMO: Yt,
2200
- CORREL: jt,
2201
- COS: qt,
2202
- COSH: zt,
2203
- DEMA: $t,
2204
- DIV: Zt,
2205
- DX: Qt,
2206
- EMA: ea,
2207
- EXP: na,
2208
- FLOOR: ta,
2209
- HT_DCPERIOD: aa,
2210
- HT_DCPHASE: oa,
2211
- HT_PHASOR: ia,
2212
- HT_SINE: ra,
2213
- HT_TRENDLINE: ua,
2214
- HT_TRENDMODE: la,
2215
- IMI: pa,
2216
- KAMA: sa,
2217
- LINEARREG: ma,
2218
- LINEARREG_ANGLE: ca,
2219
- LINEARREG_INTERCEPT: _a,
2220
- LINEARREG_SLOPE: Aa,
2221
- LN: Da,
2222
- LOG10: da,
2223
- MA: Ia,
2224
- MACD: Ta,
2225
- MACDEXT: ya,
2226
- MACDFIX: fa,
2227
- MAMA: Ca,
2228
- get MAType() {
2229
- return Be;
2230
- },
2231
- MAVP: ga,
2232
- MAX: Na,
2233
- MAXINDEX: La,
2234
- MEDPRICE: Ra,
2235
- MFI: Ea,
2236
- MIDPOINT: ba,
2237
- MIDPRICE: Sa,
2238
- MIN: Pa,
2239
- MININDEX: ha,
2240
- MINMAX: Oa,
2241
- MINMAXINDEX: Ma,
2242
- MINUS_DI: Ha,
2243
- MINUS_DM: va,
2244
- MOM: wa,
2245
- MULT: Ga,
2246
- NATR: Va,
2247
- OBV: xa,
2248
- PLUS_DI: Ua,
2249
- PLUS_DM: Ba,
2250
- PPO: Ka,
2251
- ROC: Fa,
2252
- ROCP: Wa,
2253
- ROCR: ka,
2254
- ROCR100: Xa,
2255
- RSI: Ja,
2256
- SAR: Ya,
2257
- SAREXT: ja,
2258
- SIN: qa,
2259
- SINH: za,
2260
- SMA: $a,
2261
- SQRT: Za,
2262
- STDDEV: Qa,
2263
- STOCH: eo,
2264
- STOCHF: no,
2265
- STOCHRSI: to,
2266
- SUB: ao,
2267
- SUM: oo,
2268
- T3: io,
2269
- TAN: ro,
2270
- TANH: uo,
2271
- TEMA: lo,
2272
- TRANGE: po,
2273
- TRIMA: so,
2274
- TRIX: mo,
2275
- TSF: co,
2276
- TYPPRICE: _o,
2277
- ULTOSC: Ao,
2278
- VAR: Do,
2279
- WCLPRICE: Io,
2280
- WILLR: To,
2281
- WMA: yo,
2282
- accBands: Ai,
2283
- acos: di,
2284
- ad: Ti,
2285
- adOsc: gi,
2286
- add: fi,
2287
- adx: Li,
2288
- adxr: Ei,
2289
- apo: Si,
2290
- aroon: hi,
2291
- aroonOsc: Mi,
2292
- asin: vi,
2293
- atan: Gi,
2294
- atr: xi,
2295
- avgDev: Bi,
2296
- avgPrice: Fi,
2297
- bbands: ki,
2298
- beta: Ji,
2299
- bop: ji,
2300
- cci: zi,
2301
- cdl2Crows: Zi,
2302
- cdl3BlackCrows: er,
2303
- cdl3Inside: tr,
2304
- cdl3LineStrike: or,
2305
- cdl3Outside: rr,
2306
- cdl3StarsInSouth: lr,
2307
- cdl3WhiteSoldiers: sr,
2308
- cdlAbandonedBaby: cr,
2309
- cdlAdvanceBlock: Ar,
2310
- cdlBeltHold: dr,
2311
- cdlBreakaway: Tr,
2312
- cdlClosingMarubozu: fr,
2313
- cdlConcealBabysWall: gr,
2314
- cdlCounterAttack: Lr,
2315
- cdlDarkCloudCover: Er,
2316
- cdlDoji: Sr,
2317
- cdlDojiStar: hr,
2318
- cdlDragonflyDoji: Mr,
2319
- cdlEngulfing: vr,
2320
- cdlEveningDojiStar: Gr,
2321
- cdlEveningStar: xr,
2322
- cdlGapSideSideWhite: Br,
2323
- cdlGravestoneDoji: Fr,
2324
- cdlHammer: kr,
2325
- cdlHangingMan: Jr,
2326
- cdlHarami: jr,
2327
- cdlHaramiCross: zr,
2328
- cdlHignWave: Zr,
2329
- cdlHikkake: eu,
2330
- cdlHikkakeMod: tu,
2331
- cdlHomingPigeon: ou,
2332
- cdlIdentical3Crows: ru,
2333
- cdlInNeck: lu,
2334
- cdlInvertedHammer: su,
2335
- cdlKicking: cu,
2336
- cdlKickingByLength: Au,
2337
- cdlLadderBottom: du,
2338
- cdlLongLeggedDoji: Tu,
2339
- cdlLongLine: fu,
2340
- cdlMarubozu: gu,
2341
- cdlMatHold: Eu,
2342
- cdlMatchingLow: Lu,
2343
- cdlMorningDojiStar: Su,
2344
- cdlMorningStar: hu,
2345
- cdlOnNeck: Mu,
2346
- cdlPiercing: vu,
2347
- cdlRickshawMan: Gu,
2348
- cdlRiseFall3Methods: xu,
2349
- cdlSeperatingLines: Bu,
2350
- cdlShootingStar: Fu,
2351
- cdlShortLine: ku,
2352
- cdlSpinningTop: Ju,
2353
- cdlStalledPattern: ju,
2354
- cdlStickSandwhich: zu,
2355
- cdlTakuri: Zu,
2356
- cdlTasukiGap: el,
2357
- cdlThrusting: tl,
2358
- cdlTristar: ol,
2359
- cdlUnique3River: rl,
2360
- cdlUpsideGap2Crows: ll,
2361
- cdlXSideGap3Methods: sl,
2362
- ceil: cl,
2363
- cmo: Al,
2364
- correl: dl,
2365
- cos: Tl,
2366
- cosh: fl,
2367
- dema: gl,
2368
- div: Ll,
2369
- dx: El,
2370
- ema: Sl,
2371
- exp: hl,
2372
- floor: Ml,
2373
- htDcPeriod: vl,
2374
- htDcPhase: Gl,
2375
- htPhasor: xl,
2376
- htSine: Bl,
2377
- htTrendMode: kl,
2378
- htTrendline: Fl,
2379
- imi: Jl,
2380
- init: yn,
2381
- kama: jl,
2382
- linearReg: zl,
2383
- linearRegAngle: Zl,
2384
- linearRegIntercept: ep,
2385
- linearRegSlope: tp,
2386
- ln: op,
2387
- log10: rp,
2388
- macd: sp,
2389
- macdExt: cp,
2390
- macdFix: Ap,
2391
- mama: dp,
2392
- max: fp,
2393
- maxIndex: gp,
2394
- medPrice: Lp,
2395
- mfi: Ep,
2396
- midPoint: Sp,
2397
- midPrice: hp,
2398
- min: Mp,
2399
- minIndex: vp,
2400
- minMax: Gp,
2401
- minMaxIndex: xp,
2402
- minusDI: Bp,
2403
- minusDM: Fp,
2404
- mom: kp,
2405
- movingAverage: lp,
2406
- movingAverageVariablePeriod: Tp,
2407
- mult: Jp,
2408
- natr: jp,
2409
- obv: zp,
2410
- plusDI: Zp,
2411
- plusDM: es,
2412
- ppo: ts,
2413
- roc: os,
2414
- rocP: rs,
2415
- rocR: ls,
2416
- rocR100: ss,
2417
- rsi: cs,
2418
- sar: As,
2419
- sarExt: ds,
2420
- sin: Ts,
2421
- sinh: fs,
2422
- sma: gs,
2423
- sqrt: Ls,
2424
- stdDev: Es,
2425
- stoch: Ss,
2426
- stochF: hs,
2427
- stochRsi: Ms,
2428
- sub: vs,
2429
- sum: Gs,
2430
- t3: xs,
2431
- tan: Bs,
2432
- tanh: Fs,
2433
- tema: ks,
2434
- trima: js,
2435
- trix: zs,
2436
- trueRange: Js,
2437
- tsf: Zs,
2438
- typPrice: em,
2439
- ultOsc: tm,
2440
- variance: om,
2441
- wclPrice: rm,
2442
- willR: lm,
2443
- wma: sm
2444
- }, Symbol.toStringTag, { value: "Module" })), mm = /* @__PURE__ */ Ae({
1
+ import { defineComponent as R, openBlock as T, createElementBlock as L, Fragment as K, renderList as Z, normalizeStyle as H, toDisplayString as N, computed as $, createVNode as O, ref as j, onMounted as U, onUnmounted as Y, nextTick as J, createElementVNode as P, withCtx as Q, createBlock as W, createCommentVNode as X, watch as ee } from "vue";
2
+ import { i as te, t as z } from "./index.esm-8d9a2abe.js";
3
+ import { _ as q } from "./_plugin-vue_export-helper-dad06003.js";
4
+ import { x as G } from "./index-8542fe24.js";
5
+ import "./base-437d17f3.js";
6
+ import "./el-tag-985d9aff.js";
7
+ import { E as ae, a as ne } from "./el-select-9381b156.js";
8
+ import "./el-scrollbar-562d0595.js";
9
+ import "./el-popper-50100766.js";
10
+ import * as B from "echarts";
11
+ import "./index-39ec9741.js";
12
+ import "./use-form-common-props-f377e500.js";
13
+ import "./castArray-4251bbe4.js";
14
+ import "./index-a902a0d9.js";
15
+ import "./index-0cb48e01.js";
16
+ import "./scroll-387fcfdb.js";
17
+ import "./debounce-ac30be50.js";
18
+ const oe = /* @__PURE__ */ R({
2445
19
  __name: "index",
2446
- setup(n, { expose: N }) {
2447
- let e = !1, b = !0, w = [];
2448
- const h = (y, f) => y.length > f ? y.slice(y.length - f) : y;
2449
- return N({
20
+ setup(k, { expose: D }) {
21
+ let S = !1, h = !0, v = [];
22
+ const y = (f, c) => f.length > c ? f.slice(f.length - c) : f;
23
+ return D({
2450
24
  // 注册计算指标线方法
2451
25
  initTalib: async () => {
2452
- if (!e)
2453
- e = !0, await yn("./talib.wasm"), b = !1, w.forEach((y) => {
2454
- y();
26
+ if (!S)
27
+ S = !0, await te("./talib.wasm"), h = !1, v.forEach((f) => {
28
+ f();
2455
29
  });
2456
- else if (b)
2457
- return new Promise((y) => {
2458
- w.push(y);
30
+ else if (h)
31
+ return new Promise((f) => {
32
+ v.push(f);
2459
33
  });
2460
34
  },
2461
35
  // 键盘事件处理
2462
- handleKeyDown: (y, f) => {
2463
- let { startValue: _, endValue: A, maxIndex: E } = f;
2464
- if (y.code === "ArrowLeft") {
2465
- if (_ === 0)
36
+ handleKeyDown: (f, c) => {
37
+ let { startValue: o, endValue: u, maxIndex: p } = c;
38
+ if (f.code === "ArrowLeft") {
39
+ if (o === 0)
2466
40
  return;
2467
- _ = _ - 1, A = A - 1;
2468
- } else if (y.code === "ArrowRight") {
2469
- if (A === E)
41
+ o = o - 1, u = u - 1;
42
+ } else if (f.code === "ArrowRight") {
43
+ if (u === p)
2470
44
  return;
2471
- _ = _ + 1, A = A + 1;
2472
- } else if (y.code === "ArrowUp") {
2473
- if (A - _ < 5)
45
+ o = o + 1, u = u + 1;
46
+ } else if (f.code === "ArrowUp") {
47
+ if (u - o < 5)
2474
48
  return;
2475
- const L = Math.floor((A - _) / 2) + 1;
2476
- _ = _ + L, A - _ < 5 && (_ = A - 4);
2477
- } else if (y.code === "ArrowDown") {
2478
- const L = Math.min(500, A - _);
2479
- _ = _ - L - 1;
49
+ const d = Math.floor((u - o) / 2) + 1;
50
+ o = o + d, u - o < 5 && (o = u - 4);
51
+ } else if (f.code === "ArrowDown") {
52
+ const d = Math.min(500, u - o);
53
+ o = o - d - 1;
2480
54
  }
2481
55
  return {
2482
- startValue: _,
2483
- endValue: A
56
+ startValue: o,
57
+ endValue: u
2484
58
  };
2485
59
  },
2486
60
  // 根据时间解析dataZoom
2487
- getDataZoomInfoByTime: (y) => {
2488
- const { showStartTime: f, showEndTime: _, xAxisData: A, maxShowDays: E } = y;
2489
- let L = -1, u = -1, l = {};
2490
- return A.forEach((p, s) => {
2491
- const I = p.split(" ")[0];
2492
- l[I] = l[I] || 0, l[I] += 1, new Date(p) >= new Date(f) && L === -1 && (L = s), new Date(p) <= new Date(_) && (u = s);
61
+ getDataZoomInfoByTime: (f) => {
62
+ const { showStartTime: c, showEndTime: o, xAxisData: u, maxShowDays: p } = f;
63
+ let d = -1, e = -1, i = {};
64
+ return u.forEach((t, a) => {
65
+ const r = t.split(" ")[0];
66
+ i[r] = i[r] || 0, i[r] += 1, new Date(t) >= new Date(c) && d === -1 && (d = a), new Date(t) <= new Date(o) && (e = a);
2493
67
  }), {
2494
- startValue: L,
2495
- endValue: u,
2496
- maxValueSpan: Math.max(...Object.values(l)) * E
68
+ startValue: d,
69
+ endValue: e,
70
+ maxValueSpan: Math.max(...Object.values(i)) * p
2497
71
  };
2498
72
  },
2499
73
  /**
@@ -2509,68 +83,68 @@ const sm = yo, fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
2509
83
  * length, // 便捷数据 - K线长度
2510
84
  * }
2511
85
  */
2512
- formatDataBySlide: (y) => {
2513
- const { originDrawData: f, addData: _, startTime: A, endTime: E } = y, { mainIndicator: L, mainIndicatorList: u, subIndicator: l, subIndicatorList: p, config: s, timeRange: I } = y, { loadAddCount: H, preLoadCount: V } = s;
2514
- let O = [], x = [], Y = [], U = [];
2515
- A && E ? (O = _.filter((g) => new Date(g[0]) >= new Date(A) && new Date(g[0]) <= new Date(E)), U = [..._]) : E ? (O = [
2516
- ..._.filter((g, T) => T >= _.length - H && new Date(I[0]) <= new Date(g[0]) && new Date(g[0]) <= new Date(I[1])),
2517
- ...f.originData
2518
- ], U = [..._, ...f.originData]) : A && (O = [
2519
- ...f.originData,
2520
- ..._.filter((g, T) => T >= V && new Date(I[0]) <= new Date(g[0]) && new Date(g[0]) <= new Date(I[1]))
2521
- ], U = O), O.forEach((g, T) => {
2522
- x.push([g[1], g[4], g[3], g[2], T === 0 ? 0 : O[T - 1][4], g[6]]), Y.push(g[0]);
86
+ formatDataBySlide: (f) => {
87
+ const { originDrawData: c, addData: o, startTime: u, endTime: p } = f, { mainIndicator: d, mainIndicatorList: e, subIndicator: i, subIndicatorList: t, config: a, timeRange: r } = f, { loadAddCount: x, preLoadCount: A } = a;
88
+ let g = [], _ = [], F = [], I = [];
89
+ u && p ? (g = o.filter((l) => new Date(l[0]) >= new Date(u) && new Date(l[0]) <= new Date(p)), I = [...o]) : p ? (g = [
90
+ ...o.filter((l, n) => n >= o.length - x && new Date(r[0]) <= new Date(l[0]) && new Date(l[0]) <= new Date(r[1])),
91
+ ...c.originData
92
+ ], I = [...o, ...c.originData]) : u && (g = [
93
+ ...c.originData,
94
+ ...o.filter((l, n) => n >= A && new Date(r[0]) <= new Date(l[0]) && new Date(l[0]) <= new Date(r[1]))
95
+ ], I = g), g.forEach((l, n) => {
96
+ _.push([l[1], l[4], l[3], l[2], n === 0 ? 0 : g[n - 1][4], l[6]]), F.push(l[0]);
2523
97
  });
2524
- let C = [], M = [];
2525
- const B = {
98
+ let s = [], m = [];
99
+ const b = {
2526
100
  time: [],
2527
101
  open: [],
2528
102
  close: [],
2529
103
  high: [],
2530
104
  low: [],
2531
- originData: U
105
+ originData: I
2532
106
  };
2533
- let j = null, J = null;
2534
- return U.forEach((g, T) => {
2535
- B.time.push(g[0]), B.open.push(g[1]), B.close.push(g[4]), B.high.push(g[2]), B.low.push(g[3]), g[0] === O[0][0] && (j = T), g[0] === O[O.length - 1][0] && (J = T + 1);
2536
- }), C = u.find(({ value: g }) => g === L).config.map((g) => {
2537
- const { calculationFn: T } = g;
107
+ let E = null, C = null;
108
+ return I.forEach((l, n) => {
109
+ b.time.push(l[0]), b.open.push(l[1]), b.close.push(l[4]), b.high.push(l[2]), b.low.push(l[3]), l[0] === g[0][0] && (E = n), l[0] === g[g.length - 1][0] && (C = n + 1);
110
+ }), s = e.find(({ value: l }) => l === d).config.map((l) => {
111
+ const { calculationFn: n } = l;
2538
112
  return {
2539
- ...g,
2540
- data: T ? T(fe, B, { time: [], open: [], close: [], high: [], low: [], originData: [] }).slice(j, J) : []
113
+ ...l,
114
+ data: n ? n(z, b, { time: [], open: [], close: [], high: [], low: [], originData: [] }).slice(E, C) : []
2541
115
  };
2542
- }), M = p.find(({ value: g }) => g === l).config.reduce((g, T) => {
2543
- const { source: P, calculationFn: $ } = T;
2544
- return P === "calculation" ? [
2545
- ...g,
116
+ }), m = t.find(({ value: l }) => l === i).config.reduce((l, n) => {
117
+ const { source: w, calculationFn: V } = n;
118
+ return w === "calculation" ? [
119
+ ...l,
2546
120
  {
2547
- ...T,
2548
- data: $ ? $(fe, B).slice(j, J) : []
121
+ ...n,
122
+ data: V ? V(z, b).slice(E, C) : []
2549
123
  }
2550
- ] : g;
124
+ ] : l;
2551
125
  }, []), {
2552
- originData: O,
2553
- candlestickData: x,
2554
- mainIndicatorData: C,
2555
- subIndicatorData: M,
2556
- xAxisData: Y,
2557
- startTime: O[0][0],
2558
- endTime: O[O.length - 1][0],
2559
- length: O.length
126
+ originData: g,
127
+ candlestickData: _,
128
+ mainIndicatorData: s,
129
+ subIndicatorData: m,
130
+ xAxisData: F,
131
+ startTime: g[0][0],
132
+ endTime: g[g.length - 1][0],
133
+ length: g.length
2560
134
  };
2561
135
  },
2562
136
  // 计算绘图数据(根据长度使用)
2563
- formatDataByCount: (y) => {
2564
- const { originDrawData: f, addData: _, mainIndicator: A, mainIndicatorList: E, subIndicator: L, subIndicatorList: u, config: l } = y;
2565
- let p = {};
2566
- const { addCount: s, preLoadCount: I } = l, H = [], V = [], O = [], x = [], Y = [];
2567
- let U = [], C = [];
2568
- const M = _.filter((T, P) => (H.push(T[0]), V.push(T[1]), O.push(T[4]), x.push(T[2]), Y.push(T[3]), U.push(T[0]), C.push([T[1], T[4], T[3], T[2], P === 0 ? 0 : _[P - 1][4], T[6]]), _.length >= s + I - 1 ? P >= I : !0));
2569
- U = h(U, M.length), C = h(C, M.length);
2570
- const B = { time: H, open: V, close: O, high: x, low: Y, originData: _ }, J = E.find((T) => T.value === A).config.map((T) => ({
2571
- ...T,
2572
- data: h(
2573
- T.calculationFn ? T.calculationFn(fe, B, {
137
+ formatDataByCount: (f) => {
138
+ const { originDrawData: c, addData: o, mainIndicator: u, mainIndicatorList: p, subIndicator: d, subIndicatorList: e, config: i } = f;
139
+ let t = {};
140
+ const { addCount: a, preLoadCount: r } = i, x = [], A = [], g = [], _ = [], F = [];
141
+ let I = [], s = [];
142
+ const m = o.filter((n, w) => (x.push(n[0]), A.push(n[1]), g.push(n[4]), _.push(n[2]), F.push(n[3]), I.push(n[0]), s.push([n[1], n[4], n[3], n[2], w === 0 ? 0 : o[w - 1][4], n[6]]), o.length >= a + r - 1 ? w >= r : !0));
143
+ I = y(I, m.length), s = y(s, m.length);
144
+ const b = { time: x, open: A, close: g, high: _, low: F, originData: o }, C = p.find((n) => n.value === u).config.map((n) => ({
145
+ ...n,
146
+ data: y(
147
+ n.calculationFn ? n.calculationFn(z, b, {
2574
148
  time: [],
2575
149
  open: [],
2576
150
  close: [],
@@ -2578,54 +152,54 @@ const sm = yo, fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
2578
152
  low: [],
2579
153
  originData: []
2580
154
  }) : [],
2581
- U.length
155
+ I.length
2582
156
  )
2583
157
  }));
2584
- let g = [];
2585
- return L && u && (g = u.find((P) => P.value === L).config.reduce((P, $) => $.source === "calculation" ? [
2586
- ...P,
158
+ let l = [];
159
+ return d && e && (l = e.find((w) => w.value === d).config.reduce((w, V) => V.source === "calculation" ? [
160
+ ...w,
2587
161
  {
2588
- ...$,
2589
- data: h(
2590
- $.calculationFn ? $.calculationFn(fe, B) : [],
2591
- U.length
162
+ ...V,
163
+ data: y(
164
+ V.calculationFn ? V.calculationFn(z, b) : [],
165
+ I.length
2592
166
  )
2593
167
  }
2594
- ] : P, [])), f.length ? p = {
2595
- originData: [...M, ...f.originData],
168
+ ] : w, [])), c.length ? t = {
169
+ originData: [...m, ...c.originData],
2596
170
  // 原数据
2597
- xAxisData: [...U, ...f.xAxisData],
171
+ xAxisData: [...I, ...c.xAxisData],
2598
172
  // 时间数据
2599
- candlestickData: [...C, ...f.candlestickData],
173
+ candlestickData: [...s, ...c.candlestickData],
2600
174
  // k线数据
2601
- mainIndicatorData: f.mainIndicatorData.map((T, P) => ({
2602
- ...T,
2603
- data: [...J[P].data, ...T.data]
175
+ mainIndicatorData: c.mainIndicatorData.map((n, w) => ({
176
+ ...n,
177
+ data: [...C[w].data, ...n.data]
2604
178
  })),
2605
179
  // 主图指标线数据
2606
- subIndicatorData: f.subIndicatorData.map((T, P) => ({
2607
- ...T,
2608
- data: [...g[P].data, ...T.data]
180
+ subIndicatorData: c.subIndicatorData.map((n, w) => ({
181
+ ...n,
182
+ data: [...l[w].data, ...n.data]
2609
183
  }))
2610
184
  // 副图数据
2611
- } : p = {
2612
- originData: M,
185
+ } : t = {
186
+ originData: m,
2613
187
  // 原数据
2614
- xAxisData: U,
188
+ xAxisData: I,
2615
189
  // 时间数据
2616
- candlestickData: C,
190
+ candlestickData: s,
2617
191
  // k线数据
2618
- mainIndicatorData: J,
192
+ mainIndicatorData: C,
2619
193
  // 主图指标线数据
2620
- subIndicatorData: g
194
+ subIndicatorData: l
2621
195
  // 副图数据
2622
- }, p.length = p.xAxisData.length, p.startTime = p.xAxisData[0], p.endTime = p.xAxisData[p.length - 1], p;
196
+ }, t.length = t.xAxisData.length, t.startTime = t.xAxisData[0], t.endTime = t.xAxisData[t.length - 1], t;
2623
197
  },
2624
198
  fn: () => {
2625
199
  }
2626
- }), (y, f) => null;
200
+ }), (f, c) => null;
2627
201
  }
2628
- }), cm = { class: "kline-tips" }, _m = /* @__PURE__ */ Ae({
202
+ }), re = { class: "kline-tips" }, ie = /* @__PURE__ */ R({
2629
203
  __name: "index",
2630
204
  props: {
2631
205
  // 提示数据
@@ -2634,17 +208,17 @@ const sm = yo, fe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
2634
208
  require: !0
2635
209
  }
2636
210
  },
2637
- setup(n) {
2638
- return (N, e) => (Q(), oe("div", cm, [
2639
- (Q(!0), oe(_n, null, An(n.data, (b, w) => (Q(), oe("div", {
2640
- key: w,
211
+ setup(k) {
212
+ return (D, S) => (T(), L("div", re, [
213
+ (T(!0), L(K, null, Z(k.data, (h, v) => (T(), L("div", {
214
+ key: v,
2641
215
  class: "kline-tips-item",
2642
- style: oi({ color: b.color })
2643
- }, sn(b.label) + " " + sn(b.value), 5))), 128))
216
+ style: H({ color: h.color })
217
+ }, N(h.label) + " " + N(h.value), 5))), 128))
2644
218
  ]));
2645
219
  }
2646
220
  });
2647
- const Ke = /* @__PURE__ */ Ne(_m, [["__scopeId", "data-v-2a02e841"]]), Am = { class: "kline-tips" }, Dm = /* @__PURE__ */ Ae({
221
+ const M = /* @__PURE__ */ q(ie, [["__scopeId", "data-v-2a02e841"]]), le = { class: "kline-tips" }, se = /* @__PURE__ */ R({
2648
222
  __name: "index",
2649
223
  props: {
2650
224
  // 提示数据
@@ -2669,47 +243,47 @@ const Ke = /* @__PURE__ */ Ne(_m, [["__scopeId", "data-v-2a02e841"]]), Am = { cl
2669
243
  require: !0
2670
244
  }
2671
245
  },
2672
- setup(n) {
2673
- const { round: N, multiply: e, divide: b, subtract: w, formatValue: h } = Tn, y = n, f = Ce(() => {
2674
- const { drawData: A, activeIndex: E, candlestickData: L } = y;
2675
- if (L != null && L.length && L[E]) {
2676
- let u;
2677
- return L[E][6] > 0 ? u = "red" : L[E][6] < 0 && (u = "green"), [
2678
- { label: "开", value: N(L[E][0]) },
2679
- { label: "高", value: N(L[E][3]) },
2680
- { label: "低", value: N(L[E][2]) },
2681
- { label: "收", value: N(L[E][1]) },
2682
- { label: "额", value: h(L[E][4]) },
2683
- { label: "涨跌", value: `${N(L[E][6])}%`, color: u }
246
+ setup(k) {
247
+ const { round: D, multiply: S, divide: h, subtract: v, formatValue: y } = G, f = k, c = $(() => {
248
+ const { drawData: u, activeIndex: p, candlestickData: d } = f;
249
+ if (d != null && d.length && d[p]) {
250
+ let e;
251
+ return d[p][6] > 0 ? e = "red" : d[p][6] < 0 && (e = "green"), [
252
+ { label: "开", value: D(d[p][0]) },
253
+ { label: "高", value: D(d[p][3]) },
254
+ { label: "低", value: D(d[p][2]) },
255
+ { label: "收", value: D(d[p][1]) },
256
+ { label: "额", value: y(d[p][4]) },
257
+ { label: "涨跌", value: `${D(d[p][6])}%`, color: e }
2684
258
  ];
2685
- } else if (A.candlestickData && A.candlestickData[E]) {
2686
- const u = A.candlestickData[E], l = [
2687
- { label: "开", value: N(u[0]) },
2688
- { label: "高", value: N(u[3]) },
2689
- { label: "低", value: N(u[2]) },
2690
- { label: "收", value: N(u[1]) }
259
+ } else if (u.candlestickData && u.candlestickData[p]) {
260
+ const e = u.candlestickData[p], i = [
261
+ { label: "开", value: D(e[0]) },
262
+ { label: "高", value: D(e[3]) },
263
+ { label: "低", value: D(e[2]) },
264
+ { label: "收", value: D(e[1]) }
2691
265
  ];
2692
- u[5] !== void 0 && l.push({ label: "额", value: h(u[5]) });
2693
- const p = N(e(b(w(u[1], u[4]), Math.abs(u[4])), 100));
2694
- let s;
2695
- return p > 0 ? s = "red" : p < 0 && (s = "green"), l.push({ label: "涨跌", value: `${p}%`, color: s }), l;
266
+ e[5] !== void 0 && i.push({ label: "额", value: y(e[5]) });
267
+ const t = D(S(h(v(e[1], e[4]), Math.abs(e[4])), 100));
268
+ let a;
269
+ return t > 0 ? a = "red" : t < 0 && (a = "green"), i.push({ label: "涨跌", value: `${t}%`, color: a }), i;
2696
270
  }
2697
271
  return [];
2698
- }), _ = Ce(() => {
2699
- var L;
2700
- const { drawData: A, activeIndex: E } = y;
2701
- return ((L = A == null ? void 0 : A.mainIndicatorData) == null ? void 0 : L.map((u) => ({ label: u.key, value: N(u.data[E]), color: u.color }))) || [];
272
+ }), o = $(() => {
273
+ var d;
274
+ const { drawData: u, activeIndex: p } = f;
275
+ return ((d = u == null ? void 0 : u.mainIndicatorData) == null ? void 0 : d.map((e) => ({ label: e.key, value: D(e.data[p]), color: e.color }))) || [];
2702
276
  });
2703
- return (A, E) => (Q(), oe("div", Am, [
2704
- ge(Ke, { data: f.value }, null, 8, ["data"]),
2705
- ge(Ke, { data: _.value }, null, 8, ["data"])
277
+ return (u, p) => (T(), L("div", le, [
278
+ O(M, { data: c.value }, null, 8, ["data"]),
279
+ O(M, { data: o.value }, null, 8, ["data"])
2706
280
  ]));
2707
281
  }
2708
282
  });
2709
- const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { class: "klineSub" }, Tm = { class: "klineSub-tips" }, ym = {
283
+ const ce = /* @__PURE__ */ q(se, [["__scopeId", "data-v-234f3f41"]]), ue = { class: "klineSub" }, de = { class: "klineSub-tips" }, pe = {
2710
284
  key: 0,
2711
285
  class: "klineSub-tips-select"
2712
- }, fm = /* @__PURE__ */ Ae({
286
+ }, fe = /* @__PURE__ */ R({
2713
287
  __name: "index",
2714
288
  props: {
2715
289
  drawData: { type: Object, require: !0 },
@@ -2722,123 +296,123 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2722
296
  // 配置
2723
297
  },
2724
298
  emits: ["update:modelValue"],
2725
- setup(n, { expose: N, emit: e }) {
2726
- const { round: b } = Tn;
2727
- let w, h;
2728
- const y = e, f = n, _ = Dn(), A = Ce({
299
+ setup(k, { expose: D, emit: S }) {
300
+ const { round: h } = G;
301
+ let v, y;
302
+ const f = S, c = k, o = j(), u = $({
2729
303
  get() {
2730
- return f.modelValue;
304
+ return c.modelValue;
2731
305
  },
2732
- set(u) {
2733
- y("update:modelValue", u);
2734
- }
2735
- }), E = Ce(() => {
2736
- const { drawData: u, activeIndex: l } = f, p = f.subIndicatorList.find((s) => s.value === A.value);
2737
- return u.originData && u.originData[l] ? p.config.map((s) => {
2738
- var H, V;
2739
- let I = "-";
2740
- return s.source === "origin" ? I = u.originData[l][s.dataIndex] || "-" : s.source === "calculation" && (I = (((V = (H = u.subIndicatorData) == null ? void 0 : H.find((x) => x.key === s.key)) == null ? void 0 : V.data) || [])[l]), {
2741
- label: s.key,
2742
- color: s.color,
2743
- value: I === "-" ? I : b(I)
306
+ set(e) {
307
+ f("update:modelValue", e);
308
+ }
309
+ }), p = $(() => {
310
+ const { drawData: e, activeIndex: i } = c, t = c.subIndicatorList.find((a) => a.value === u.value);
311
+ return e.originData && e.originData[i] ? t.config.map((a) => {
312
+ var x, A;
313
+ let r = "-";
314
+ return a.source === "origin" ? r = e.originData[i][a.dataIndex] || "-" : a.source === "calculation" && (r = (((A = (x = e.subIndicatorData) == null ? void 0 : x.find((_) => _.key === a.key)) == null ? void 0 : A.data) || [])[i]), {
315
+ label: a.key,
316
+ color: a.color,
317
+ value: r === "-" ? r : h(r)
2744
318
  };
2745
319
  }) : [];
2746
320
  });
2747
- dn(() => {
2748
- w = Ue.init(_.value);
2749
- let u = !0;
2750
- h = new ResizeObserver(() => {
2751
- if (u) {
2752
- u = null;
321
+ U(() => {
322
+ v = B.init(o.value);
323
+ let e = !0;
324
+ y = new ResizeObserver(() => {
325
+ if (e) {
326
+ e = null;
2753
327
  return;
2754
328
  }
2755
- w.resize();
2756
- }), h.observe(_.value);
2757
- }), In(() => {
2758
- w.dispose(), h.disconnect(), h = null;
329
+ v.resize();
330
+ }), y.observe(o.value);
331
+ }), Y(() => {
332
+ v.dispose(), y.disconnect(), y = null;
2759
333
  });
2760
- const L = (u, l) => {
2761
- const p = u[l], s = l === 0 ? u[l] : u[l - 1];
2762
- return p[0] === p[1] ? p[0] >= s[1] ? {
334
+ const d = (e, i) => {
335
+ const t = e[i], a = i === 0 ? e[i] : e[i - 1];
336
+ return t[0] === t[1] ? t[0] >= a[1] ? {
2763
337
  color: "transparent",
2764
338
  borderColor: "#FF0000"
2765
339
  } : {
2766
340
  color: "#00FFFF"
2767
- } : p[1] > p[0] ? {
341
+ } : t[1] > t[0] ? {
2768
342
  color: "transparent",
2769
343
  borderColor: "#FF0000"
2770
344
  } : {
2771
345
  color: "#00FFFF"
2772
346
  };
2773
347
  };
2774
- return N({
2775
- connect: (u) => {
2776
- Ue.connect([u, w]);
348
+ return D({
349
+ connect: (e) => {
350
+ B.connect([e, v]);
2777
351
  },
2778
352
  // 联动
2779
- draw: (u) => {
2780
- ii(() => {
2781
- var U;
2782
- const { startValue: l, endValue: p, maxValueSpan: s } = u, { xAxisData: I, subIndicatorData: H, candlestickData: V, originData: O } = f.drawData, x = f.subIndicatorList.find((C) => C.value === A.value), Y = [];
2783
- if (x.series === "bar") {
2784
- let C = [];
2785
- x.source === "origin" ? C = O.map((M) => M[x.dataIndex]) : C = ((U = H == null ? void 0 : H.find((M) => M.key === x.dataIndex)) == null ? void 0 : U.data) || [], Y.push({
353
+ draw: (e) => {
354
+ J(() => {
355
+ var I;
356
+ const { startValue: i, endValue: t, maxValueSpan: a } = e, { xAxisData: r, subIndicatorData: x, candlestickData: A, originData: g } = c.drawData, _ = c.subIndicatorList.find((s) => s.value === u.value), F = [];
357
+ if (_.series === "bar") {
358
+ let s = [];
359
+ _.source === "origin" ? s = g.map((m) => m[_.dataIndex]) : s = ((I = x == null ? void 0 : x.find((m) => m.key === _.dataIndex)) == null ? void 0 : I.data) || [], F.push({
2786
360
  name: "subMain",
2787
361
  xAxisIndex: 0,
2788
362
  yAxisIndex: 1,
2789
363
  type: "bar",
2790
364
  silent: !0,
2791
365
  symbol: "none",
2792
- data: C.map((M, B) => x.color === "kline" ? {
2793
- value: M,
2794
- itemStyle: L(V, B)
2795
- } : x.color === "value" ? {
2796
- value: M,
366
+ data: s.map((m, b) => _.color === "kline" ? {
367
+ value: m,
368
+ itemStyle: d(A, b)
369
+ } : _.color === "value" ? {
370
+ value: m,
2797
371
  itemStyle: {
2798
- color: M >= 0 ? "#FF0000" : "#00FFFF"
372
+ color: m >= 0 ? "#FF0000" : "#00FFFF"
2799
373
  }
2800
374
  } : {
2801
- value: M,
375
+ value: m,
2802
376
  itemStyle: {
2803
- color: x.color
377
+ color: _.color
2804
378
  }
2805
379
  })
2806
380
  });
2807
381
  }
2808
- H.forEach((C) => {
2809
- if (C.series === "line") {
2810
- let M = [];
2811
- C.source === "origin" ? M = O.map((B) => B[C.dataIndex]) : C.source === "calculation" && (M = C.data), Y.push({
382
+ x.forEach((s) => {
383
+ if (s.series === "line") {
384
+ let m = [];
385
+ s.source === "origin" ? m = g.map((b) => b[s.dataIndex]) : s.source === "calculation" && (m = s.data), F.push({
2812
386
  xAxisIndex: 0,
2813
- yAxisIndex: C.yAxis === "right" ? 2 : 1,
2814
- name: C.key,
387
+ yAxisIndex: s.yAxis === "right" ? 2 : 1,
388
+ name: s.key,
2815
389
  type: "line",
2816
390
  silent: !0,
2817
391
  symbol: "none",
2818
- data: M,
392
+ data: m,
2819
393
  lineStyle: {
2820
394
  width: 1
2821
395
  },
2822
396
  itemStyle: {
2823
- color: C.color
397
+ color: s.color
2824
398
  }
2825
399
  });
2826
400
  }
2827
- }), w.setOption(
401
+ }), v.setOption(
2828
402
  {
2829
403
  animation: !1,
2830
404
  grid: {
2831
- left: `${f.config.gridLeft}px`,
405
+ left: `${c.config.gridLeft}px`,
2832
406
  top: "10px",
2833
- right: `${f.config.gridRight}px`,
407
+ right: `${c.config.gridRight}px`,
2834
408
  bottom: "20px"
2835
409
  },
2836
410
  dataZoom: [
2837
411
  {
2838
412
  type: "inside",
2839
- startValue: l,
2840
- endValue: p,
2841
- maxValueSpan: s
413
+ startValue: i,
414
+ endValue: t,
415
+ maxValueSpan: a
2842
416
  }
2843
417
  ],
2844
418
  tooltip: {
@@ -2849,12 +423,12 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2849
423
  type: "cross",
2850
424
  label: {
2851
425
  rich: {},
2852
- formatter: (C) => {
2853
- const { axisDimension: M, value: B } = C;
2854
- if (M === "x")
2855
- return B;
2856
- if (C.axisIndex === 1)
2857
- return String(b(B));
426
+ formatter: (s) => {
427
+ const { axisDimension: m, value: b } = s;
428
+ if (m === "x")
429
+ return b;
430
+ if (s.axisIndex === 1)
431
+ return String(h(b));
2858
432
  }
2859
433
  }
2860
434
  },
@@ -2862,7 +436,7 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2862
436
  },
2863
437
  xAxis: {
2864
438
  type: "category",
2865
- data: I,
439
+ data: r,
2866
440
  axisLine: {
2867
441
  show: !0
2868
442
  },
@@ -2871,7 +445,7 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2871
445
  },
2872
446
  axisLabel: {
2873
447
  show: !0,
2874
- formatter: (C) => C
448
+ formatter: (s) => s
2875
449
  }
2876
450
  },
2877
451
  yAxis: [
@@ -2880,8 +454,8 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2880
454
  },
2881
455
  {
2882
456
  position: "left",
2883
- min: x.leftYAxisRange === "cover" ? (C) => C.min : null,
2884
- max: x.leftYAxisRange === "cover" ? (C) => C.max : null,
457
+ min: _.leftYAxisRange === "cover" ? (s) => s.min : null,
458
+ max: _.leftYAxisRange === "cover" ? (s) => s.max : null,
2885
459
  splitNumber: 1,
2886
460
  axisLine: {
2887
461
  show: !0
@@ -2896,8 +470,8 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2896
470
  },
2897
471
  {
2898
472
  position: "right",
2899
- min: x.rightYAxisRange === "cover" ? (C) => C.min : null,
2900
- max: x.rightYAxisRange === "cover" ? (C) => C.max : null,
473
+ min: _.rightYAxisRange === "cover" ? (s) => s.min : null,
474
+ max: _.rightYAxisRange === "cover" ? (s) => s.max : null,
2901
475
  splitNumber: 1,
2902
476
  axisLine: {
2903
477
  show: !1
@@ -2910,97 +484,97 @@ const dm = /* @__PURE__ */ Ne(Dm, [["__scopeId", "data-v-234f3f41"]]), Im = { cl
2910
484
  }
2911
485
  }
2912
486
  ],
2913
- series: Y
487
+ series: F
2914
488
  },
2915
489
  !0
2916
490
  );
2917
491
  });
2918
492
  }
2919
493
  // 重置
2920
- }), (u, l) => {
2921
- const p = si, s = mi;
2922
- return Q(), oe("div", Im, [
2923
- mn("div", Tm, [
2924
- E.value.length ? (Q(), oe("div", ym, [
2925
- ge(s, {
2926
- modelValue: A.value,
2927
- "onUpdate:modelValue": l[0] || (l[0] = (I) => A.value = I),
494
+ }), (e, i) => {
495
+ const t = ae, a = ne;
496
+ return T(), L("div", ue, [
497
+ P("div", de, [
498
+ p.value.length ? (T(), L("div", pe, [
499
+ O(a, {
500
+ modelValue: u.value,
501
+ "onUpdate:modelValue": i[0] || (i[0] = (r) => u.value = r),
2928
502
  size: "small",
2929
503
  "popper-class": "element-dark",
2930
504
  class: "element-dark subIndicator"
2931
505
  }, {
2932
- default: ri(() => [
2933
- (Q(!0), oe(_n, null, An(n.subIndicatorList, (I) => (Q(), ui(p, {
2934
- key: I.value,
2935
- label: I.label,
2936
- value: I.value
506
+ default: Q(() => [
507
+ (T(!0), L(K, null, Z(k.subIndicatorList, (r) => (T(), W(t, {
508
+ key: r.value,
509
+ label: r.label,
510
+ value: r.value
2937
511
  }, null, 8, ["label", "value"]))), 128))
2938
512
  ]),
2939
513
  _: 1
2940
514
  }, 8, ["modelValue"])
2941
- ])) : li("", !0),
2942
- ge(Ke, { data: E.value }, null, 8, ["data"])
515
+ ])) : X("", !0),
516
+ O(M, { data: p.value }, null, 8, ["data"])
2943
517
  ]),
2944
- mn("div", {
518
+ P("div", {
2945
519
  class: "klineSub-chart",
2946
520
  ref_key: "subChartRef",
2947
- ref: _
521
+ ref: o
2948
522
  }, null, 512)
2949
523
  ]);
2950
524
  };
2951
525
  }
2952
526
  });
2953
- const Cm = /* @__PURE__ */ Ne(fm, [["__scopeId", "data-v-0a2f256e"]]), gm = /* @__PURE__ */ Ae({
527
+ const he = /* @__PURE__ */ q(fe, [["__scopeId", "data-v-0a2f256e"]]), me = /* @__PURE__ */ R({
2954
528
  __name: "index",
2955
529
  props: {
2956
530
  data: { type: Array, default: () => [] }
2957
531
  // 时间数据
2958
532
  },
2959
533
  emits: ["change"],
2960
- setup(n, { expose: N, emit: e }) {
2961
- let b, w, h = null;
2962
- const y = e, f = n, _ = Dn();
2963
- pi(
2964
- () => f.data,
534
+ setup(k, { expose: D, emit: S }) {
535
+ let h, v, y = null;
536
+ const f = S, c = k, o = j();
537
+ ee(
538
+ () => c.data,
2965
539
  () => {
2966
- L();
540
+ d();
2967
541
  },
2968
542
  { deep: !0 }
2969
- ), dn(() => {
2970
- b = Ue.init(_.value), A(), L();
2971
- let u = !0;
2972
- w = new ResizeObserver(() => {
2973
- if (u) {
2974
- u = null;
543
+ ), U(() => {
544
+ h = B.init(o.value), u(), d();
545
+ let e = !0;
546
+ v = new ResizeObserver(() => {
547
+ if (e) {
548
+ e = null;
2975
549
  return;
2976
550
  }
2977
- b.resize();
2978
- }), w.observe(_.value);
2979
- }), In(() => {
2980
- b.off("datazoom"), b.dispose(), w.disconnect(), w = null;
551
+ h.resize();
552
+ }), v.observe(o.value);
553
+ }), Y(() => {
554
+ h.off("datazoom"), h.dispose(), v.disconnect(), v = null;
2981
555
  });
2982
- const A = () => {
2983
- b.on("datazoom", (u) => {
2984
- u.dataZoomId && (clearTimeout(h), h = setTimeout(() => {
2985
- const { data: l } = f, { start: p, end: s } = u, I = Math.floor(p * l.length / 100), H = s === 100 ? l.length - 1 : Math.floor(s * l.length / 100);
2986
- E(I, H), clearTimeout(h);
556
+ const u = () => {
557
+ h.on("datazoom", (e) => {
558
+ e.dataZoomId && (clearTimeout(y), y = setTimeout(() => {
559
+ const { data: i } = c, { start: t, end: a } = e, r = Math.floor(t * i.length / 100), x = a === 100 ? i.length - 1 : Math.floor(a * i.length / 100);
560
+ p(r, x), clearTimeout(y);
2987
561
  }, 100));
2988
562
  });
2989
- }, E = (u, l) => {
2990
- const p = f.data;
2991
- if (p.length === 0)
563
+ }, p = (e, i) => {
564
+ const t = c.data;
565
+ if (t.length === 0)
2992
566
  return;
2993
- const s = p[u][0].split(" ")[0], I = p[l][0].split(" ")[0];
2994
- y("change", {
2995
- startTime: `${s} 00:00:00`,
2996
- endTime: `${I} 24:00:00`
567
+ const a = t[e][0].split(" ")[0], r = t[i][0].split(" ")[0];
568
+ f("change", {
569
+ startTime: `${a} 00:00:00`,
570
+ endTime: `${r} 24:00:00`
2997
571
  });
2998
- }, L = () => {
2999
- const { data: u } = f;
3000
- if (u.length === 0)
572
+ }, d = () => {
573
+ const { data: e } = c;
574
+ if (e.length === 0)
3001
575
  return;
3002
- const l = u.map((s) => s[0].split(" ")[0]), p = u.map((s) => s[1]);
3003
- b.setOption({
576
+ const i = e.map((a) => a[0].split(" ")[0]), t = e.map((a) => a[1]);
577
+ h.setOption({
3004
578
  grid: {
3005
579
  height: 0,
3006
580
  left: "80px",
@@ -3008,7 +582,7 @@ const Cm = /* @__PURE__ */ Ne(fm, [["__scopeId", "data-v-0a2f256e"]]), gm = /* @
3008
582
  },
3009
583
  xAxis: {
3010
584
  type: "category",
3011
- data: l,
585
+ data: i,
3012
586
  show: !1
3013
587
  },
3014
588
  yAxis: {
@@ -3016,53 +590,53 @@ const Cm = /* @__PURE__ */ Ne(fm, [["__scopeId", "data-v-0a2f256e"]]), gm = /* @
3016
590
  },
3017
591
  series: [
3018
592
  {
3019
- data: p,
593
+ data: t,
3020
594
  type: "line"
3021
595
  }
3022
596
  ]
3023
597
  }, !0);
3024
598
  };
3025
- return N({
3026
- resetSlide: (u, l, p) => {
3027
- let s = -1, I = -1;
3028
- f.data.forEach((H, V) => {
3029
- s === -1 && H[0] === u ? s = V : s === -1 && new Date(H[0]) > new Date(u) && (s = V - 1), (I === -1 && H[0] === l || I === -1 && new Date(H[0]) > new Date(l)) && (I = V);
3030
- }), I = I === -1 ? f.data.length - 1 : I, b.setOption({
599
+ return D({
600
+ resetSlide: (e, i, t) => {
601
+ let a = -1, r = -1;
602
+ c.data.forEach((x, A) => {
603
+ a === -1 && x[0] === e ? a = A : a === -1 && new Date(x[0]) > new Date(e) && (a = A - 1), (r === -1 && x[0] === i || r === -1 && new Date(x[0]) > new Date(i)) && (r = A);
604
+ }), r = r === -1 ? c.data.length - 1 : r, h.setOption({
3031
605
  dataZoom: [
3032
606
  {
3033
607
  show: !0,
3034
- startValue: s,
3035
- endValue: I,
3036
- maxValueSpan: p,
608
+ startValue: a,
609
+ endValue: r,
610
+ maxValueSpan: t,
3037
611
  textStyle: {
3038
612
  color: "#ccc"
3039
613
  }
3040
614
  },
3041
615
  {
3042
616
  type: "inside",
3043
- startValue: s,
3044
- endValue: I,
3045
- maxValueSpan: p
617
+ startValue: a,
618
+ endValue: r,
619
+ maxValueSpan: t
3046
620
  }
3047
621
  ]
3048
622
  });
3049
623
  },
3050
624
  // 重置
3051
625
  resize: () => {
3052
- b == null || b.resize();
626
+ h == null || h.resize();
3053
627
  }
3054
- }), (u, l) => (Q(), oe("div", {
628
+ }), (e, i) => (T(), L("div", {
3055
629
  class: "klineSlide",
3056
630
  ref_key: "slideChartRef",
3057
- ref: _
631
+ ref: o
3058
632
  }, null, 512));
3059
633
  }
3060
634
  });
3061
- const Nm = /* @__PURE__ */ Ne(gm, [["__scopeId", "data-v-5008746a"]]), Um = {
3062
- install(n) {
3063
- n.component("st-klineUtils", mm), n.component("st-klineSub", Cm), n.component("st-klineTips", dm), n.component("st-klineSlide", Nm);
635
+ const ge = /* @__PURE__ */ q(me, [["__scopeId", "data-v-5008746a"]]), Re = {
636
+ install(k) {
637
+ k.component("st-klineUtils", oe), k.component("st-klineSub", he), k.component("st-klineTips", ce), k.component("st-klineSlide", ge);
3064
638
  }
3065
639
  };
3066
640
  export {
3067
- Um as default
641
+ Re as default
3068
642
  };