@tradejs/cli 3.1.29-beta.265 → 3.1.29-beta.268

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.
@@ -48,14 +48,22 @@ var import_backtest = require("@tradejs/node/backtest");
48
48
  var import_connectors5 = require("@tradejs/node/connectors");
49
49
 
50
50
  // src/lib/runtimeParity.ts
51
+ var resolveTradeParityTimestampOffset = (strategy, offset) => typeof offset === "function" ? offset(strategy) : offset;
51
52
  var toFiniteNumberOrNull = (value) => typeof value === "number" && Number.isFinite(value) ? value : null;
52
53
  var toGroupKey = (entry) => `${entry.strategy}::${entry.symbol}::${entry.direction}`;
53
54
  var toRuntimeDuplicateKey = (entry) => `${toGroupKey(entry)}::${entry.timestamp}`;
54
55
  var getBacktestParityComparisonTimestamp = (entry, timestampOffsetMs = 0) => {
55
- if (timestampOffsetMs > 0 && entry.signalTimestamp != null && entry.timestamp >= entry.signalTimestamp + timestampOffsetMs) {
56
+ const offsetMs = resolveTradeParityTimestampOffset(
57
+ entry.strategy,
58
+ timestampOffsetMs
59
+ );
60
+ if (!Number.isFinite(offsetMs) || offsetMs < 0) {
61
+ throw new Error(`Invalid backtest timestamp offset for ${entry.strategy}`);
62
+ }
63
+ if (offsetMs > 0 && entry.signalTimestamp != null && entry.timestamp >= entry.signalTimestamp + offsetMs) {
56
64
  return entry.timestamp;
57
65
  }
58
- return (entry.signalTimestamp ?? entry.timestamp) + timestampOffsetMs;
66
+ return (entry.signalTimestamp ?? entry.timestamp) + offsetMs;
59
67
  };
60
68
  var sortTradeParityEntries = (left, right) => left.timestamp - right.timestamp || left.strategy.localeCompare(right.strategy) || left.symbol.localeCompare(right.symbol) || left.direction.localeCompare(right.direction) || left.id.localeCompare(right.id);
61
69
  var buildPriceDeltaPct = (leftPrice, rightPrice) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradejs/cli",
3
- "version": "3.1.29-beta.265",
3
+ "version": "3.1.29-beta.268",
4
4
  "description": "Official CLI for the TradeJS TypeScript framework: infra setup, backtests, signals, bots, and ML workflows.",
5
5
  "keywords": [
6
6
  "tradejs",
@@ -37,13 +37,13 @@
37
37
  "tradejs": "dist/cli.js"
38
38
  },
39
39
  "dependencies": {
40
- "@tradejs/connectors": "^3.1.29-beta.265",
41
- "@tradejs/core": "^3.1.29-beta.265",
42
- "@tradejs/indicators": "^3.1.29-beta.265",
43
- "@tradejs/infra": "^3.1.29-beta.265",
44
- "@tradejs/node": "^3.1.29-beta.265",
40
+ "@tradejs/connectors": "^3.1.29-beta.268",
41
+ "@tradejs/core": "^3.1.29-beta.268",
42
+ "@tradejs/indicators": "^3.1.29-beta.268",
43
+ "@tradejs/infra": "^3.1.29-beta.268",
44
+ "@tradejs/node": "^3.1.29-beta.268",
45
45
  "@tradejs/strategy-kit": "3.0.6",
46
- "@tradejs/types": "^3.1.29-beta.265",
46
+ "@tradejs/types": "^3.1.29-beta.268",
47
47
  "args": "^5.0.3",
48
48
  "bcryptjs": "^2.4.3",
49
49
  "chalk": "4.1.2",