tradeblocks-mcp 2.2.0-beta.5 → 2.2.0-beta.6
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/test-exports.js +46 -9
- package/dist/test-exports.js.map +1 -1
- package/package.json +1 -1
- package/server/index.js +46 -9
- package/server/index.js.map +1 -1
package/dist/test-exports.js
CHANGED
|
@@ -5231,7 +5231,17 @@ function evaluateTrigger(trigger, pnlPath, legs) {
|
|
|
5231
5231
|
}
|
|
5232
5232
|
case "positionDelta": {
|
|
5233
5233
|
const netDelta = point.netDelta ?? 0;
|
|
5234
|
-
if (
|
|
5234
|
+
if (trigger.exitAbove != null) {
|
|
5235
|
+
if (netDelta > trigger.exitAbove) {
|
|
5236
|
+
fired = true;
|
|
5237
|
+
detail = `Net delta ${netDelta.toFixed(4)} > exitAbove ${trigger.exitAbove}`;
|
|
5238
|
+
}
|
|
5239
|
+
} else if (trigger.exitBelow != null) {
|
|
5240
|
+
if (netDelta < trigger.exitBelow) {
|
|
5241
|
+
fired = true;
|
|
5242
|
+
detail = `Net delta ${netDelta.toFixed(4)} < exitBelow ${trigger.exitBelow}`;
|
|
5243
|
+
}
|
|
5244
|
+
} else if (Math.abs(netDelta) >= threshold) {
|
|
5235
5245
|
fired = true;
|
|
5236
5246
|
detail = `Net delta ${netDelta.toFixed(4)} >= threshold ${threshold}`;
|
|
5237
5247
|
}
|
|
@@ -5239,12 +5249,33 @@ function evaluateTrigger(trigger, pnlPath, legs) {
|
|
|
5239
5249
|
}
|
|
5240
5250
|
case "perLegDelta": {
|
|
5241
5251
|
if (!point.legGreeks) break;
|
|
5242
|
-
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5246
|
-
|
|
5247
|
-
|
|
5252
|
+
if (trigger.legIndex != null) {
|
|
5253
|
+
if (trigger.legIndex >= point.legGreeks.length) break;
|
|
5254
|
+
const legDelta = point.legGreeks[trigger.legIndex].delta ?? 0;
|
|
5255
|
+
if (trigger.exitAbove != null) {
|
|
5256
|
+
if (legDelta > trigger.exitAbove) {
|
|
5257
|
+
fired = true;
|
|
5258
|
+
detail = `Leg ${trigger.legIndex} delta ${legDelta.toFixed(4)} > exitAbove ${trigger.exitAbove}`;
|
|
5259
|
+
}
|
|
5260
|
+
} else if (trigger.exitBelow != null) {
|
|
5261
|
+
if (legDelta < trigger.exitBelow) {
|
|
5262
|
+
fired = true;
|
|
5263
|
+
detail = `Leg ${trigger.legIndex} delta ${legDelta.toFixed(4)} < exitBelow ${trigger.exitBelow}`;
|
|
5264
|
+
}
|
|
5265
|
+
} else {
|
|
5266
|
+
if (Math.abs(legDelta) >= threshold) {
|
|
5267
|
+
fired = true;
|
|
5268
|
+
detail = `Leg ${trigger.legIndex} delta ${legDelta.toFixed(4)} >= threshold ${threshold}`;
|
|
5269
|
+
}
|
|
5270
|
+
}
|
|
5271
|
+
} else {
|
|
5272
|
+
for (let li = 0; li < point.legGreeks.length; li++) {
|
|
5273
|
+
const legDelta = point.legGreeks[li].delta ?? 0;
|
|
5274
|
+
if (Math.abs(legDelta) >= threshold) {
|
|
5275
|
+
fired = true;
|
|
5276
|
+
detail = `Leg ${li} delta ${legDelta.toFixed(4)} >= threshold ${threshold}`;
|
|
5277
|
+
break;
|
|
5278
|
+
}
|
|
5248
5279
|
}
|
|
5249
5280
|
}
|
|
5250
5281
|
break;
|
|
@@ -5500,7 +5531,10 @@ var triggerConfigSchema = z7.object({
|
|
|
5500
5531
|
closeAllocationPct: z7.number().min(0).max(1).optional().describe("Fraction of REMAINING position to close at this milestone (0-1)")
|
|
5501
5532
|
})).optional(),
|
|
5502
5533
|
spreadWidth: z7.number().optional(),
|
|
5503
|
-
contracts: z7.number().optional()
|
|
5534
|
+
contracts: z7.number().optional(),
|
|
5535
|
+
legIndex: z7.number().optional().describe("0-based leg index for perLegDelta \u2014 targets specific leg"),
|
|
5536
|
+
exitAbove: z7.number().optional().describe("Fire when value exceeds this (directional, no abs)"),
|
|
5537
|
+
exitBelow: z7.number().optional().describe("Fire when value drops below this (directional, no abs)")
|
|
5504
5538
|
});
|
|
5505
5539
|
var legSchema = z7.object({
|
|
5506
5540
|
ticker: z7.string(),
|
|
@@ -6016,7 +6050,10 @@ var triggerConfigSchema2 = z8.object({
|
|
|
6016
6050
|
closeAllocationPct: z8.number().min(0).max(1).optional().describe("Fraction of REMAINING position to close at this milestone (0-1)")
|
|
6017
6051
|
})).optional(),
|
|
6018
6052
|
spreadWidth: z8.number().optional(),
|
|
6019
|
-
contracts: z8.number().optional()
|
|
6053
|
+
contracts: z8.number().optional(),
|
|
6054
|
+
legIndex: z8.number().optional().describe("0-based leg index for perLegDelta \u2014 targets specific leg"),
|
|
6055
|
+
exitAbove: z8.number().optional().describe("Fire when value exceeds this (directional, no abs)"),
|
|
6056
|
+
exitBelow: z8.number().optional().describe("Fire when value drops below this (directional, no abs)")
|
|
6020
6057
|
});
|
|
6021
6058
|
var batchExitAnalysisSchema = z8.object({
|
|
6022
6059
|
block_id: z8.string().describe("Block ID to analyze trades from"),
|