@tradejs/core 3.1.29-beta.286 → 3.1.29-beta.288
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.
|
@@ -697,6 +697,27 @@ var toMlCandle = (candle) => ({
|
|
|
697
697
|
turnover: Number(candle.turnover) || 0,
|
|
698
698
|
timestamp: Number(candle.timestamp) || 0
|
|
699
699
|
});
|
|
700
|
+
var referenceCandleSnapshots = /* @__PURE__ */ new WeakMap();
|
|
701
|
+
var referenceCandleFields = [
|
|
702
|
+
"open",
|
|
703
|
+
"high",
|
|
704
|
+
"low",
|
|
705
|
+
"close",
|
|
706
|
+
"volume",
|
|
707
|
+
"turnover",
|
|
708
|
+
"timestamp"
|
|
709
|
+
];
|
|
710
|
+
var toSharedReferenceCandle = (candle) => {
|
|
711
|
+
const normalized = toMlCandle(candle);
|
|
712
|
+
const previous = referenceCandleSnapshots.get(candle);
|
|
713
|
+
if (previous && referenceCandleFields.every(
|
|
714
|
+
(key) => Object.is(previous[key], normalized[key])
|
|
715
|
+
))
|
|
716
|
+
return previous;
|
|
717
|
+
const snapshot = Object.freeze(normalized);
|
|
718
|
+
referenceCandleSnapshots.set(candle, snapshot);
|
|
719
|
+
return snapshot;
|
|
720
|
+
};
|
|
700
721
|
var cloneMlCandle = (candle) => ({
|
|
701
722
|
open: candle.open,
|
|
702
723
|
high: candle.high,
|
|
@@ -10003,7 +10024,7 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
10003
10024
|
const candlesHistory = [];
|
|
10004
10025
|
const btcCandlesHistory = [];
|
|
10005
10026
|
const ethCandlesHistory = [];
|
|
10006
|
-
const ethData = (options.ethData ?? []).map(
|
|
10027
|
+
const ethData = (options.ethData ?? []).map(toSharedReferenceCandle);
|
|
10007
10028
|
let ethCandlesByTimestamp = null;
|
|
10008
10029
|
const resolveEthCandle = (candle, index) => {
|
|
10009
10030
|
const alignedEthCandle = ethData[index];
|
|
@@ -10015,8 +10036,12 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
10015
10036
|
);
|
|
10016
10037
|
return ethCandlesByTimestamp.get(candle.timestamp);
|
|
10017
10038
|
};
|
|
10018
|
-
let btcBinanceCandles = (options.btcBinanceData ?? []).map(
|
|
10019
|
-
|
|
10039
|
+
let btcBinanceCandles = (options.btcBinanceData ?? []).map(
|
|
10040
|
+
toSharedReferenceCandle
|
|
10041
|
+
);
|
|
10042
|
+
let btcCoinbaseCandles = (options.btcCoinbaseData ?? []).map(
|
|
10043
|
+
toSharedReferenceCandle
|
|
10044
|
+
);
|
|
10020
10045
|
const restoredState = options.initialRuntimeState;
|
|
10021
10046
|
const spreadSmoother = createSerializableSpreadSmoother(
|
|
10022
10047
|
void 0,
|
|
@@ -10030,8 +10055,8 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
10030
10055
|
}) => {
|
|
10031
10056
|
const binanceCursorTimestamp = btcBinanceCandles[btcBinanceCursor]?.timestamp ?? null;
|
|
10032
10057
|
const coinbaseCursorTimestamp = btcCoinbaseCandles[btcCoinbaseCursor]?.timestamp ?? null;
|
|
10033
|
-
btcBinanceCandles = (btcBinanceData ?? []).map(
|
|
10034
|
-
btcCoinbaseCandles = (btcCoinbaseData ?? []).map(
|
|
10058
|
+
btcBinanceCandles = (btcBinanceData ?? []).map(toSharedReferenceCandle);
|
|
10059
|
+
btcCoinbaseCandles = (btcCoinbaseData ?? []).map(toSharedReferenceCandle);
|
|
10035
10060
|
const resolveCursor = (candles, timestamp) => {
|
|
10036
10061
|
if (candles.length === 0 || timestamp == null) {
|
|
10037
10062
|
return 0;
|
package/dist/indicators.js
CHANGED
|
@@ -814,6 +814,27 @@ var toMlCandle = (candle) => ({
|
|
|
814
814
|
turnover: Number(candle.turnover) || 0,
|
|
815
815
|
timestamp: Number(candle.timestamp) || 0
|
|
816
816
|
});
|
|
817
|
+
var referenceCandleSnapshots = /* @__PURE__ */ new WeakMap();
|
|
818
|
+
var referenceCandleFields = [
|
|
819
|
+
"open",
|
|
820
|
+
"high",
|
|
821
|
+
"low",
|
|
822
|
+
"close",
|
|
823
|
+
"volume",
|
|
824
|
+
"turnover",
|
|
825
|
+
"timestamp"
|
|
826
|
+
];
|
|
827
|
+
var toSharedReferenceCandle = (candle) => {
|
|
828
|
+
const normalized = toMlCandle(candle);
|
|
829
|
+
const previous = referenceCandleSnapshots.get(candle);
|
|
830
|
+
if (previous && referenceCandleFields.every(
|
|
831
|
+
(key) => Object.is(previous[key], normalized[key])
|
|
832
|
+
))
|
|
833
|
+
return previous;
|
|
834
|
+
const snapshot = Object.freeze(normalized);
|
|
835
|
+
referenceCandleSnapshots.set(candle, snapshot);
|
|
836
|
+
return snapshot;
|
|
837
|
+
};
|
|
817
838
|
var cloneMlCandle = (candle) => ({
|
|
818
839
|
open: candle.open,
|
|
819
840
|
high: candle.high,
|
|
@@ -10120,7 +10141,7 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
10120
10141
|
const candlesHistory = [];
|
|
10121
10142
|
const btcCandlesHistory = [];
|
|
10122
10143
|
const ethCandlesHistory = [];
|
|
10123
|
-
const ethData = (options.ethData ?? []).map(
|
|
10144
|
+
const ethData = (options.ethData ?? []).map(toSharedReferenceCandle);
|
|
10124
10145
|
let ethCandlesByTimestamp = null;
|
|
10125
10146
|
const resolveEthCandle = (candle, index) => {
|
|
10126
10147
|
const alignedEthCandle = ethData[index];
|
|
@@ -10132,8 +10153,12 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
10132
10153
|
);
|
|
10133
10154
|
return ethCandlesByTimestamp.get(candle.timestamp);
|
|
10134
10155
|
};
|
|
10135
|
-
let btcBinanceCandles = (options.btcBinanceData ?? []).map(
|
|
10136
|
-
|
|
10156
|
+
let btcBinanceCandles = (options.btcBinanceData ?? []).map(
|
|
10157
|
+
toSharedReferenceCandle
|
|
10158
|
+
);
|
|
10159
|
+
let btcCoinbaseCandles = (options.btcCoinbaseData ?? []).map(
|
|
10160
|
+
toSharedReferenceCandle
|
|
10161
|
+
);
|
|
10137
10162
|
const restoredState = options.initialRuntimeState;
|
|
10138
10163
|
const spreadSmoother = createSerializableSpreadSmoother(
|
|
10139
10164
|
void 0,
|
|
@@ -10147,8 +10172,8 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
10147
10172
|
}) => {
|
|
10148
10173
|
const binanceCursorTimestamp = btcBinanceCandles[btcBinanceCursor]?.timestamp ?? null;
|
|
10149
10174
|
const coinbaseCursorTimestamp = btcCoinbaseCandles[btcCoinbaseCursor]?.timestamp ?? null;
|
|
10150
|
-
btcBinanceCandles = (btcBinanceData ?? []).map(
|
|
10151
|
-
btcCoinbaseCandles = (btcCoinbaseData ?? []).map(
|
|
10175
|
+
btcBinanceCandles = (btcBinanceData ?? []).map(toSharedReferenceCandle);
|
|
10176
|
+
btcCoinbaseCandles = (btcCoinbaseData ?? []).map(toSharedReferenceCandle);
|
|
10152
10177
|
const resolveCursor = (candles, timestamp) => {
|
|
10153
10178
|
if (candles.length === 0 || timestamp == null) {
|
|
10154
10179
|
return 0;
|
package/dist/indicators.mjs
CHANGED
package/dist/strategies.js
CHANGED
|
@@ -246,6 +246,27 @@ var toMlCandle = (candle) => ({
|
|
|
246
246
|
turnover: Number(candle.turnover) || 0,
|
|
247
247
|
timestamp: Number(candle.timestamp) || 0
|
|
248
248
|
});
|
|
249
|
+
var referenceCandleSnapshots = /* @__PURE__ */ new WeakMap();
|
|
250
|
+
var referenceCandleFields = [
|
|
251
|
+
"open",
|
|
252
|
+
"high",
|
|
253
|
+
"low",
|
|
254
|
+
"close",
|
|
255
|
+
"volume",
|
|
256
|
+
"turnover",
|
|
257
|
+
"timestamp"
|
|
258
|
+
];
|
|
259
|
+
var toSharedReferenceCandle = (candle) => {
|
|
260
|
+
const normalized = toMlCandle(candle);
|
|
261
|
+
const previous = referenceCandleSnapshots.get(candle);
|
|
262
|
+
if (previous && referenceCandleFields.every(
|
|
263
|
+
(key) => Object.is(previous[key], normalized[key])
|
|
264
|
+
))
|
|
265
|
+
return previous;
|
|
266
|
+
const snapshot = Object.freeze(normalized);
|
|
267
|
+
referenceCandleSnapshots.set(candle, snapshot);
|
|
268
|
+
return snapshot;
|
|
269
|
+
};
|
|
249
270
|
var cloneMlCandle = (candle) => ({
|
|
250
271
|
open: candle.open,
|
|
251
272
|
high: candle.high,
|
|
@@ -9419,7 +9440,7 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
9419
9440
|
const candlesHistory = [];
|
|
9420
9441
|
const btcCandlesHistory = [];
|
|
9421
9442
|
const ethCandlesHistory = [];
|
|
9422
|
-
const ethData = (options.ethData ?? []).map(
|
|
9443
|
+
const ethData = (options.ethData ?? []).map(toSharedReferenceCandle);
|
|
9423
9444
|
let ethCandlesByTimestamp = null;
|
|
9424
9445
|
const resolveEthCandle = (candle, index) => {
|
|
9425
9446
|
const alignedEthCandle = ethData[index];
|
|
@@ -9431,8 +9452,12 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
9431
9452
|
);
|
|
9432
9453
|
return ethCandlesByTimestamp.get(candle.timestamp);
|
|
9433
9454
|
};
|
|
9434
|
-
let btcBinanceCandles = (options.btcBinanceData ?? []).map(
|
|
9435
|
-
|
|
9455
|
+
let btcBinanceCandles = (options.btcBinanceData ?? []).map(
|
|
9456
|
+
toSharedReferenceCandle
|
|
9457
|
+
);
|
|
9458
|
+
let btcCoinbaseCandles = (options.btcCoinbaseData ?? []).map(
|
|
9459
|
+
toSharedReferenceCandle
|
|
9460
|
+
);
|
|
9436
9461
|
const restoredState = options.initialRuntimeState;
|
|
9437
9462
|
const spreadSmoother = createSerializableSpreadSmoother(
|
|
9438
9463
|
void 0,
|
|
@@ -9446,8 +9471,8 @@ var createIndicators = (data, btcData = [], options = {}) => {
|
|
|
9446
9471
|
}) => {
|
|
9447
9472
|
const binanceCursorTimestamp = btcBinanceCandles[btcBinanceCursor]?.timestamp ?? null;
|
|
9448
9473
|
const coinbaseCursorTimestamp = btcCoinbaseCandles[btcCoinbaseCursor]?.timestamp ?? null;
|
|
9449
|
-
btcBinanceCandles = (btcBinanceData ?? []).map(
|
|
9450
|
-
btcCoinbaseCandles = (btcCoinbaseData ?? []).map(
|
|
9474
|
+
btcBinanceCandles = (btcBinanceData ?? []).map(toSharedReferenceCandle);
|
|
9475
|
+
btcCoinbaseCandles = (btcCoinbaseData ?? []).map(toSharedReferenceCandle);
|
|
9451
9476
|
const resolveCursor = (candles, timestamp) => {
|
|
9452
9477
|
if (candles.length === 0 || timestamp == null) {
|
|
9453
9478
|
return 0;
|
package/dist/strategies.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradejs/core",
|
|
3
|
-
"version": "3.1.29-beta.
|
|
3
|
+
"version": "3.1.29-beta.288",
|
|
4
4
|
"description": "MIT-licensed browser-safe API for TradeJS config, strategy authoring, figures, and shared helpers.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tradejs",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
}
|
|
139
139
|
},
|
|
140
140
|
"dependencies": {
|
|
141
|
-
"@tradejs/types": "^3.1.29-beta.
|
|
141
|
+
"@tradejs/types": "^3.1.29-beta.288",
|
|
142
142
|
"date-fns": "^3.6.0",
|
|
143
143
|
"fast-technical-indicators": "^1.1.4",
|
|
144
144
|
"klinecharts": "10.0.0-alpha9",
|