st-comp 0.0.148 → 0.0.150

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