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