@tradejs/node 3.1.29-beta.288 → 3.1.29-beta.289

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.
package/dist/backtest.mjs CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  evaluateResearchEntryPolicy,
11
11
  matchesResearchEntryRules,
12
12
  parseResearchEntryPolicy
13
- } from "./chunk-F7CLF3PT.mjs";
13
+ } from "./chunk-KYGJBMKE.mjs";
14
14
  import {
15
15
  buildAiPayload,
16
16
  getStrategyCreator
@@ -726,7 +726,10 @@ var createTestConnector = (connector, context) => {
726
726
  });
727
727
  return {
728
728
  __tradejsTestConnector: true,
729
- capabilities: connector.capabilities,
729
+ capabilities: {
730
+ ...connector.capabilities,
731
+ orderSubmissionValidation: true
732
+ },
730
733
  universe: connector.universe,
731
734
  accountId: connector.accountId,
732
735
  deploymentId: connector.deploymentId,
@@ -1008,6 +1011,7 @@ var createTestConnector = (connector, context) => {
1008
1011
  }
1009
1012
  },
1010
1013
  placeOrder: async (order) => {
1014
+ const { beforeSubmit, ...submittedOrder } = order;
1011
1015
  const isPositionIncrease = Boolean(
1012
1016
  currentPosition && order.positionIntent === "increase" && currentPosition.direction === order.direction
1013
1017
  );
@@ -1044,6 +1048,7 @@ var createTestConnector = (connector, context) => {
1044
1048
  signal: order.signal
1045
1049
  });
1046
1050
  const previousPosition = currentPosition;
1051
+ await beforeSubmit?.({ qty: orderQty, executionPrice: entryPrice });
1047
1052
  const previousQty = previousPosition?.qty ?? 0;
1048
1053
  const resultingQty = previousQty + orderQty;
1049
1054
  const resultingEntryPrice = previousPosition ? getWeightedAverage(
@@ -1056,7 +1061,7 @@ var createTestConnector = (connector, context) => {
1056
1061
  ...previousPosition,
1057
1062
  qty: resultingQty,
1058
1063
  price: resultingEntryPrice
1059
- } : { ...order, qty: orderQty, price: entryPrice, amount };
1064
+ } : { ...submittedOrder, qty: orderQty, price: entryPrice, amount };
1060
1065
  originalQty = resultingQty;
1061
1066
  if (isPositionIncrease) {
1062
1067
  const { fee: fee2, profit: profit2 } = getNetProfit({
@@ -1156,7 +1161,7 @@ var createTestConnector = (connector, context) => {
1156
1161
  };
1157
1162
  }
1158
1163
  logOrder({
1159
- ...order,
1164
+ ...submittedOrder,
1160
1165
  qty: orderQty,
1161
1166
  price: entryPrice,
1162
1167
  profit: profit2,
@@ -1197,7 +1202,7 @@ var createTestConnector = (connector, context) => {
1197
1202
  currentEntryLegResults = [openTradeResult];
1198
1203
  currentTradeResult = currentSignalId ? { ...openTradeResult, signalId: currentSignalId } : null;
1199
1204
  logOrder({
1200
- ...order,
1205
+ ...submittedOrder,
1201
1206
  qty: orderQty,
1202
1207
  price: entryPrice,
1203
1208
  profit,