@continuumdao/continuum-node-sdk 1.3.31 → 1.3.33

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 (182) hide show
  1. package/dist/agent-host-catalog.json +5 -0
  2. package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
  3. package/dist/core/chart/analysis/analysis-agent-view.js +48 -7
  4. package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
  5. package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
  6. package/dist/core/chart/analysis/analysis-catalog.js +12 -0
  7. package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
  8. package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts +31 -0
  9. package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts.map +1 -0
  10. package/dist/core/chart/analysis/elliott-wave-drawings-tools.js +301 -0
  11. package/dist/core/chart/analysis/elliott-wave-drawings-tools.js.map +1 -0
  12. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +161 -0
  13. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -0
  14. package/dist/core/chart/analysis/elliott-waves-analyze-tools.js +139 -0
  15. package/dist/core/chart/analysis/elliott-waves-analyze-tools.js.map +1 -0
  16. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts +1 -1
  17. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts.map +1 -1
  18. package/dist/core/chart/analysis/key-level-drawings-shared.js +1 -4
  19. package/dist/core/chart/analysis/key-level-drawings-shared.js.map +1 -1
  20. package/dist/core/chart/analysis/key-level-fib-label.d.ts +3 -0
  21. package/dist/core/chart/analysis/key-level-fib-label.d.ts.map +1 -0
  22. package/dist/core/chart/analysis/key-level-fib-label.js +6 -0
  23. package/dist/core/chart/analysis/key-level-fib-label.js.map +1 -0
  24. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +10 -1
  25. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
  26. package/dist/core/chart/analysis/trade-setups/build-trade.js +134 -4
  27. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
  28. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts +50 -0
  29. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts.map +1 -0
  30. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js +116 -0
  31. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js.map +1 -0
  32. package/dist/core/chart/analysis/trade-setups/shared.d.ts +1 -1
  33. package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
  34. package/dist/core/chart/analysis/trade-setups/shared.js +2 -0
  35. package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
  36. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +2 -0
  37. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
  38. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +38 -3
  39. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
  40. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +4 -0
  41. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
  42. package/dist/core/chart/analysis/trade-setups/trade-idea.js +4 -0
  43. package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
  44. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts +8 -1
  45. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts.map +1 -1
  46. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js +13 -0
  47. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js.map +1 -1
  48. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts +20 -0
  49. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts.map +1 -1
  50. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js +54 -0
  51. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js.map +1 -1
  52. package/dist/core/chart/fetch-agent-view.d.ts +17 -0
  53. package/dist/core/chart/fetch-agent-view.d.ts.map +1 -0
  54. package/dist/core/chart/fetch-agent-view.js +39 -0
  55. package/dist/core/chart/fetch-agent-view.js.map +1 -0
  56. package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
  57. package/dist/core/chart/live/binding-extract.js +34 -2
  58. package/dist/core/chart/live/binding-extract.js.map +1 -1
  59. package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
  60. package/dist/core/chart/live/fetch-tick.js +25 -1
  61. package/dist/core/chart/live/fetch-tick.js.map +1 -1
  62. package/dist/core/chart/live/index.d.ts +1 -1
  63. package/dist/core/chart/live/index.d.ts.map +1 -1
  64. package/dist/core/chart/live/index.js +1 -1
  65. package/dist/core/chart/live/index.js.map +1 -1
  66. package/dist/core/chart/live/schemas.d.ts +1 -0
  67. package/dist/core/chart/live/schemas.d.ts.map +1 -1
  68. package/dist/core/chart/live/schemas.js +1 -0
  69. package/dist/core/chart/live/schemas.js.map +1 -1
  70. package/dist/core/chart/overlay-schemas.d.ts +241 -0
  71. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  72. package/dist/core/chart/overlay-schemas.js +63 -0
  73. package/dist/core/chart/overlay-schemas.js.map +1 -1
  74. package/dist/core/chart/overlays.d.ts.map +1 -1
  75. package/dist/core/chart/overlays.js +73 -2
  76. package/dist/core/chart/overlays.js.map +1 -1
  77. package/dist/core/chart/prepare-from-rows.d.ts +60 -0
  78. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  79. package/dist/core/chart/schemas.d.ts +240 -0
  80. package/dist/core/chart/schemas.d.ts.map +1 -1
  81. package/dist/core/coinmarketcap/schemas.d.ts +2 -2
  82. package/dist/core/elliott-waves/analyze.d.ts +38 -0
  83. package/dist/core/elliott-waves/analyze.d.ts.map +1 -0
  84. package/dist/core/elliott-waves/analyze.js +276 -0
  85. package/dist/core/elliott-waves/analyze.js.map +1 -0
  86. package/dist/core/elliott-waves/constants.d.ts +24 -0
  87. package/dist/core/elliott-waves/constants.d.ts.map +1 -0
  88. package/dist/core/elliott-waves/constants.js +24 -0
  89. package/dist/core/elliott-waves/constants.js.map +1 -0
  90. package/dist/core/elliott-waves/data-requirements.d.ts +22 -0
  91. package/dist/core/elliott-waves/data-requirements.d.ts.map +1 -0
  92. package/dist/core/elliott-waves/data-requirements.js +105 -0
  93. package/dist/core/elliott-waves/data-requirements.js.map +1 -0
  94. package/dist/core/elliott-waves/fibonacci-projector.d.ts +7 -0
  95. package/dist/core/elliott-waves/fibonacci-projector.d.ts.map +1 -0
  96. package/dist/core/elliott-waves/fibonacci-projector.js +20 -0
  97. package/dist/core/elliott-waves/fibonacci-projector.js.map +1 -0
  98. package/dist/core/elliott-waves/impulse-detector.d.ts +11 -0
  99. package/dist/core/elliott-waves/impulse-detector.d.ts.map +1 -0
  100. package/dist/core/elliott-waves/impulse-detector.js +294 -0
  101. package/dist/core/elliott-waves/impulse-detector.js.map +1 -0
  102. package/dist/core/elliott-waves/index.d.ts +10 -0
  103. package/dist/core/elliott-waves/index.d.ts.map +1 -0
  104. package/dist/core/elliott-waves/index.js +10 -0
  105. package/dist/core/elliott-waves/index.js.map +1 -0
  106. package/dist/core/elliott-waves/pivot-scanner.d.ts +40 -0
  107. package/dist/core/elliott-waves/pivot-scanner.d.ts.map +1 -0
  108. package/dist/core/elliott-waves/pivot-scanner.js +121 -0
  109. package/dist/core/elliott-waves/pivot-scanner.js.map +1 -0
  110. package/dist/core/elliott-waves/projection-builder.d.ts +32 -0
  111. package/dist/core/elliott-waves/projection-builder.d.ts.map +1 -0
  112. package/dist/core/elliott-waves/projection-builder.js +153 -0
  113. package/dist/core/elliott-waves/projection-builder.js.map +1 -0
  114. package/dist/core/elliott-waves/types.d.ts +117 -0
  115. package/dist/core/elliott-waves/types.d.ts.map +1 -0
  116. package/dist/core/elliott-waves/types.js +6 -0
  117. package/dist/core/elliott-waves/types.js.map +1 -0
  118. package/dist/core/elliott-waves/wave-labeler.d.ts +34 -0
  119. package/dist/core/elliott-waves/wave-labeler.d.ts.map +1 -0
  120. package/dist/core/elliott-waves/wave-labeler.js +95 -0
  121. package/dist/core/elliott-waves/wave-labeler.js.map +1 -0
  122. package/dist/core/elliott-waves/wave-math.d.ts +10 -0
  123. package/dist/core/elliott-waves/wave-math.d.ts.map +1 -0
  124. package/dist/core/elliott-waves/wave-math.js +61 -0
  125. package/dist/core/elliott-waves/wave-math.js.map +1 -0
  126. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  127. package/dist/core/mpc/broadcast-sign-result.js +63 -0
  128. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  129. package/dist/core/mpc/deliver-arcus-exchange.d.ts +17 -0
  130. package/dist/core/mpc/deliver-arcus-exchange.d.ts.map +1 -0
  131. package/dist/core/mpc/deliver-arcus-exchange.js +380 -0
  132. package/dist/core/mpc/deliver-arcus-exchange.js.map +1 -0
  133. package/dist/core/mpc/deliver-personal-sign.d.ts +13 -0
  134. package/dist/core/mpc/deliver-personal-sign.d.ts.map +1 -0
  135. package/dist/core/mpc/deliver-personal-sign.js +17 -0
  136. package/dist/core/mpc/deliver-personal-sign.js.map +1 -0
  137. package/dist/mcp/agent-host-catalog.d.ts +1 -1
  138. package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
  139. package/dist/mcp/agent-host-catalog.js +2 -1
  140. package/dist/mcp/agent-host-catalog.js.map +1 -1
  141. package/dist/mcp/chart.d.ts.map +1 -1
  142. package/dist/mcp/chart.js +25 -2
  143. package/dist/mcp/chart.js.map +1 -1
  144. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  145. package/dist/mcp/deferred/tool-group-map.js +5 -0
  146. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  147. package/dist/mcp/defi/defi-protocol-fetch-meta.d.ts.map +1 -1
  148. package/dist/mcp/defi/defi-protocol-fetch-meta.js +2 -0
  149. package/dist/mcp/defi/defi-protocol-fetch-meta.js.map +1 -1
  150. package/dist/mcp/defi/eip712-multisign.d.ts +26 -0
  151. package/dist/mcp/defi/eip712-multisign.d.ts.map +1 -0
  152. package/dist/mcp/defi/eip712-multisign.js +74 -0
  153. package/dist/mcp/defi/eip712-multisign.js.map +1 -0
  154. package/dist/mcp/defi/handler.d.ts.map +1 -1
  155. package/dist/mcp/defi/handler.js +42 -31
  156. package/dist/mcp/defi/handler.js.map +1 -1
  157. package/dist/mcp/defi/ohlcv-chart-workflow.d.ts +4 -2
  158. package/dist/mcp/defi/ohlcv-chart-workflow.d.ts.map +1 -1
  159. package/dist/mcp/defi/ohlcv-chart-workflow.js +20 -8
  160. package/dist/mcp/defi/ohlcv-chart-workflow.js.map +1 -1
  161. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  162. package/dist/mcp/defi/register-protocol-tools.js +30 -6
  163. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  164. package/dist/mcp/defi/tool-schemas.d.ts +1 -3
  165. package/dist/mcp/defi/tool-schemas.d.ts.map +1 -1
  166. package/dist/mcp/defi/uniswap-limit-order-input.d.ts +10 -0
  167. package/dist/mcp/defi/uniswap-limit-order-input.d.ts.map +1 -0
  168. package/dist/mcp/defi/uniswap-limit-order-input.js +39 -0
  169. package/dist/mcp/defi/uniswap-limit-order-input.js.map +1 -0
  170. package/dist/mcp/defi/uniswap-quote-input.d.ts.map +1 -1
  171. package/dist/mcp/defi/uniswap-quote-input.js +45 -26
  172. package/dist/mcp/defi/uniswap-quote-input.js.map +1 -1
  173. package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
  174. package/dist/mcp/ohlcv-session-wrapper.js +56 -2
  175. package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
  176. package/dist/mcp/resources/agent-cron-jobs.md +11 -0
  177. package/dist/mcp/resources/chart-analysis.md +37 -3
  178. package/dist/mcp/resources/chart.md +5 -2
  179. package/dist/mcp/trade-tools.d.ts.map +1 -1
  180. package/dist/mcp/trade-tools.js +10 -2
  181. package/dist/mcp/trade-tools.js.map +1 -1
  182. package/package.json +2 -2
@@ -5,12 +5,16 @@ import { buildUniswapSpotSwapFromTradeIdea } from './build-trade-uniswap.js';
5
5
  import { buildUniswapLimitOrderFromTradeIdea } from './build-trade-uniswap-limit.js';
6
6
  import { passesEntryProximityGate } from './trade-entry-gates.js';
7
7
  import { hyperliquidTradeDeskDefaults, } from './trade-desk-defaults.js';
8
+ export const DEFAULT_TREND_TAKE_PROFIT_SOURCE = 'impulse_leg';
8
9
  const DEFAULT_CHAIN_BY_PROTOCOL = {
9
10
  hyperliquid: 999,
11
+ arcus: 4663,
10
12
  gmx: 42161,
11
13
  uniswap: 42161,
12
14
  };
13
15
  const HYPERLIQUID_LIMIT_TOOL = 'ctm_hyperliquid_build_limit_order_multisign';
16
+ const ARCUS_PERP_PLACE_TOOL = 'ctm_arcus_build_place_order_multisign';
17
+ const ARCUS_SPOT_RFQ_TOOL = 'ctm_arcus_spot_build_rfq_multisign';
14
18
  const GMX_INCREASE_TOOL = 'ctm_gmx_build_increase_multisign';
15
19
  function proximityFromSetup(idea) {
16
20
  const setup = idea.analysisSetup.setup;
@@ -49,6 +53,21 @@ function entryOffsetModeFromIdea(idea) {
49
53
  }
50
54
  return 'bounce';
51
55
  }
56
+ function takeProfitBasePrice(idea, input) {
57
+ const source = input.takeProfitSource ?? DEFAULT_TREND_TAKE_PROFIT_SOURCE;
58
+ if (idea.analysisSetup.kind === 'trend_structure') {
59
+ if (source === 'impulse_leg') {
60
+ const mm = idea.analysisSetup.setup.measuredMove;
61
+ if (mm != null && Number.isFinite(mm.targetPrice)) {
62
+ return mm.targetPrice;
63
+ }
64
+ }
65
+ if (source === 'swing') {
66
+ return idea.target?.price;
67
+ }
68
+ }
69
+ return idea.target?.price;
70
+ }
52
71
  export function applyEntryOffset(price, side, offsetPct, mode) {
53
72
  if (offsetPct == null || !Number.isFinite(offsetPct) || offsetPct === 0) {
54
73
  return price;
@@ -145,13 +164,14 @@ function resolveEffectivePrices(idea, input) {
145
164
  const invalidation = idea.invalidation != null
146
165
  ? applyInvalidationOffset(idea.invalidation.price, idea.side, input.invalidationOffsetPct)
147
166
  : undefined;
148
- const target = idea.target != null
167
+ const targetBase = takeProfitBasePrice(idea, input);
168
+ const target = targetBase != null
149
169
  ? (() => {
150
170
  const offsetPct = input.targetOffsetPct ?? hlDesk.targetOffsetPct;
151
171
  const mode = input.targetOffsetMode ?? hlDesk.targetOffsetMode;
152
172
  const atr = mode === 'atr' ? atrAtLastBarFromTradeIdea(idea) : null;
153
173
  const effectiveMode = mode === 'atr' && atr == null ? 'price' : mode;
154
- return applyTargetOffset(idea.target.price, idea.side, offsetPct, effectiveMode, atr);
174
+ return applyTargetOffset(targetBase, idea.side, offsetPct, effectiveMode, atr);
155
175
  })()
156
176
  : undefined;
157
177
  return { entry, invalidation, target };
@@ -248,6 +268,106 @@ function resolveCoinSymbol(idea) {
248
268
  function findDefiTool(toolName) {
249
269
  return getMcpToolDefinitions().find(tool => tool.name === toolName) ?? null;
250
270
  }
271
+ function resolveArcusMarket(idea) {
272
+ const symbol = idea.symbol?.trim();
273
+ if (!symbol)
274
+ return null;
275
+ if (symbol.includes('-'))
276
+ return symbol.toUpperCase();
277
+ return `${symbol.toUpperCase()}-USD`;
278
+ }
279
+ function resolveArcusSpotTicker(idea) {
280
+ const symbol = idea.symbol?.trim();
281
+ if (!symbol)
282
+ return null;
283
+ return symbol.split('-')[0].toUpperCase();
284
+ }
285
+ function arcusKeyGenFields(input) {
286
+ const secp256k1KeyGenId = input.keyGenId.trim();
287
+ const ed25519KeyGenId = input.ed25519KeyGenId?.trim() ?? '';
288
+ if (!secp256k1KeyGenId) {
289
+ return { ok: false, reason: 'keyGenId (secp256k1) is required for Arcus trades.' };
290
+ }
291
+ if (!ed25519KeyGenId) {
292
+ return {
293
+ ok: false,
294
+ reason: 'ed25519KeyGenId is required for Arcus trades (paired KeyGen, same GroupId).',
295
+ };
296
+ }
297
+ return { ok: true, data: { secp256k1KeyGenId, ed25519KeyGenId } };
298
+ }
299
+ export function mapTradeIdeaToArcusPerpPlaceOrderInput(idea, input) {
300
+ if (idea.side !== 'long' && idea.side !== 'short') {
301
+ return { ok: false, reason: 'Trade idea side must be long or short for Arcus perp orders.' };
302
+ }
303
+ const market = resolveArcusMarket(idea);
304
+ if (!market) {
305
+ return { ok: false, reason: 'Trade idea is missing symbol/market for Arcus mapping.' };
306
+ }
307
+ if (!input.szHuman?.trim()) {
308
+ return { ok: false, reason: 'szHuman is required for Arcus perp orders.' };
309
+ }
310
+ const keys = arcusKeyGenFields(input);
311
+ if (!keys.ok)
312
+ return keys;
313
+ const validated = validateBuildTradePrices(idea, input);
314
+ if (!validated.ok) {
315
+ return validated;
316
+ }
317
+ const entryPx = validated.data.entry;
318
+ const tpPx = validated.data.target;
319
+ const slPx = validated.data.invalidation;
320
+ return {
321
+ ok: true,
322
+ data: {
323
+ secp256k1KeyGenId: keys.data.secp256k1KeyGenId,
324
+ ed25519KeyGenId: keys.data.ed25519KeyGenId,
325
+ chainId: input.chainId || DEFAULT_CHAIN_BY_PROTOCOL.arcus,
326
+ purposeText: input.purposeText,
327
+ market,
328
+ isBuy: idea.side === 'long',
329
+ limitPxHuman: formatHumanPrice(entryPx),
330
+ szHuman: input.szHuman.trim(),
331
+ ...(tpPx != null ? { takeProfitTriggerPxHuman: formatHumanPrice(tpPx) } : {}),
332
+ ...(slPx != null ? { stopLossTriggerPxHuman: formatHumanPrice(slPx) } : {}),
333
+ ...(input.expiryDate != null && input.expiryDate > 0 ? { expiryDate: Math.floor(input.expiryDate) } : {}),
334
+ },
335
+ };
336
+ }
337
+ export function mapTradeIdeaToArcusSpotRfqInput(idea, input) {
338
+ if (idea.side !== 'long' && idea.side !== 'short') {
339
+ return { ok: false, reason: 'Trade idea side must be long or short for Arcus spot RFQ.' };
340
+ }
341
+ const ticker = resolveArcusSpotTicker(idea);
342
+ if (!ticker) {
343
+ return { ok: false, reason: 'Trade idea is missing symbol/ticker for Arcus spot mapping.' };
344
+ }
345
+ if (!input.szHuman?.trim()) {
346
+ return { ok: false, reason: 'szHuman is required for Arcus spot RFQ (sizeHuman).' };
347
+ }
348
+ const keys = arcusKeyGenFields(input);
349
+ if (!keys.ok)
350
+ return keys;
351
+ const validated = validateBuildTradePrices(idea, input);
352
+ if (!validated.ok) {
353
+ return validated;
354
+ }
355
+ const entryPx = validated.data.entry;
356
+ return {
357
+ ok: true,
358
+ data: {
359
+ secp256k1KeyGenId: keys.data.secp256k1KeyGenId,
360
+ ed25519KeyGenId: keys.data.ed25519KeyGenId,
361
+ chainId: input.chainId || DEFAULT_CHAIN_BY_PROTOCOL.arcus,
362
+ purposeText: input.purposeText,
363
+ ticker,
364
+ isBuy: idea.side === 'long',
365
+ sizeHuman: input.szHuman.trim(),
366
+ limitPxHuman: formatHumanPrice(entryPx),
367
+ ...(input.expiryDate != null && input.expiryDate > 0 ? { expiryDate: Math.floor(input.expiryDate) } : {}),
368
+ },
369
+ };
370
+ }
251
371
  export function mapTradeIdeaToHyperliquidLimitInput(idea, input) {
252
372
  if (idea.side !== 'long' && idea.side !== 'short') {
253
373
  return { ok: false, reason: 'Trade idea side must be long or short for Hyperliquid limit orders.' };
@@ -400,14 +520,24 @@ export async function buildTradeFromTradeIdea(config, defiContext, input) {
400
520
  },
401
521
  };
402
522
  }
403
- const mappedTool = protocolId === 'hyperliquid' ? HYPERLIQUID_LIMIT_TOOL : GMX_INCREASE_TOOL;
523
+ const mappedTool = protocolId === 'hyperliquid'
524
+ ? HYPERLIQUID_LIMIT_TOOL
525
+ : protocolId === 'arcus'
526
+ ? (input.marketKind ?? 'perp') === 'spot'
527
+ ? ARCUS_SPOT_RFQ_TOOL
528
+ : ARCUS_PERP_PLACE_TOOL
529
+ : GMX_INCREASE_TOOL;
404
530
  const tool = findDefiTool(mappedTool);
405
531
  if (!tool) {
406
532
  return { ok: false, reason: `DeFi tool ${mappedTool} is not registered.` };
407
533
  }
408
534
  const mapped = protocolId === 'hyperliquid'
409
535
  ? mapTradeIdeaToHyperliquidLimitInput(idea, input)
410
- : mapTradeIdeaToGmxIncreaseInput(idea, input);
536
+ : protocolId === 'arcus'
537
+ ? (input.marketKind ?? 'perp') === 'spot'
538
+ ? mapTradeIdeaToArcusSpotRfqInput(idea, input)
539
+ : mapTradeIdeaToArcusPerpPlaceOrderInput(idea, input)
540
+ : mapTradeIdeaToGmxIncreaseInput(idea, input);
411
541
  if (!mapped.ok) {
412
542
  return mapped;
413
543
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-trade.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/build-trade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-trade.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/build-trade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type { AnalyzeElliottWavesResult } from '../../../elliott-waves/analyze.js';
2
+ import type { TradeSetupSide, TradeSetupStatus } from './shared.js';
3
+ export type ElliottWaveTradeSetup = {
4
+ status: TradeSetupStatus;
5
+ source: 'elliott_waves';
6
+ side: TradeSetupSide;
7
+ confidence: number;
8
+ lastClose: number;
9
+ trendDirection: 'up' | 'down';
10
+ patternType: 'impulse' | 'diagonal' | 'corrective';
11
+ inProgressWave?: string;
12
+ confirmedWaveCount: number;
13
+ triggerPrice?: number;
14
+ triggerLabel?: string;
15
+ targetPrice?: number;
16
+ targetLabel?: string;
17
+ invalidationPrice?: number;
18
+ invalidationLabel?: string;
19
+ projectionTargets?: Array<{
20
+ price: number;
21
+ fibLevel: number;
22
+ probability: number;
23
+ label: string;
24
+ }>;
25
+ waveMenuNumber?: number;
26
+ setupPurposeCode?: 'ew-imp' | 'ew-dia' | 'ew-corr';
27
+ unclearReason?: string;
28
+ dataGuidance?: string;
29
+ };
30
+ export declare function buildElliottWaveTradeSetup(analysis: AnalyzeElliottWavesResult, waveMenuNumber?: number): ElliottWaveTradeSetup;
31
+ export declare function normalizeElliottWaveTradeSetup(setup: ElliottWaveTradeSetup): {
32
+ status: TradeSetupStatus;
33
+ side: TradeSetupSide;
34
+ confidence: number;
35
+ lastClose: number;
36
+ entry: {
37
+ price: number;
38
+ label: string | undefined;
39
+ } | undefined;
40
+ target: {
41
+ price: number;
42
+ label: string | undefined;
43
+ } | undefined;
44
+ invalidation: {
45
+ price: number;
46
+ label: string | undefined;
47
+ } | undefined;
48
+ unclearReason: string | undefined;
49
+ };
50
+ //# sourceMappingURL=elliott-waves-trade-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elliott-waves-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/elliott-waves-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAIlE,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAoBF,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,yBAAyB,EACnC,cAAc,SAAI,GAChB,qBAAqB,CAsFvB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;EAoB1E"}
@@ -0,0 +1,116 @@
1
+ import { isFiniteTradePrice } from './shared.js';
2
+ import { THRESHOLDS } from '../../../elliott-waves/constants.js';
3
+ function sideFromTrend(trendDirection, patternType) {
4
+ if (patternType === 'corrective') {
5
+ return 'neutral';
6
+ }
7
+ return trendDirection === 'up' ? 'long' : 'short';
8
+ }
9
+ function purposeCode(patternType) {
10
+ switch (patternType) {
11
+ case 'diagonal':
12
+ return 'ew-dia';
13
+ case 'corrective':
14
+ return 'ew-corr';
15
+ default:
16
+ return 'ew-imp';
17
+ }
18
+ }
19
+ export function buildElliottWaveTradeSetup(analysis, waveMenuNumber = 1) {
20
+ const base = {
21
+ status: 'unclear',
22
+ source: 'elliott_waves',
23
+ side: 'neutral',
24
+ confidence: analysis.confidence,
25
+ lastClose: analysis.lastClose,
26
+ trendDirection: analysis.trendDirection,
27
+ patternType: analysis.patternType,
28
+ confirmedWaveCount: analysis.confirmedWaveCount,
29
+ waveMenuNumber,
30
+ setupPurposeCode: purposeCode(analysis.patternType),
31
+ };
32
+ if (analysis.dataStatus === 'insufficient_data') {
33
+ return {
34
+ ...base,
35
+ dataGuidance: analysis.dataGuidance,
36
+ unclearReason: analysis.dataGuidance || 'Insufficient OHLCV bars for Elliott wave analysis.',
37
+ };
38
+ }
39
+ if (analysis.patternType === 'corrective') {
40
+ return {
41
+ ...base,
42
+ inProgressWave: analysis.inProgressWave,
43
+ unclearReason: 'Structure classified as corrective A–B–C; directional trade setup withheld.',
44
+ };
45
+ }
46
+ const side = sideFromTrend(analysis.trendDirection, analysis.patternType);
47
+ const inProgress = analysis.waves.find(w => w.isInProgress);
48
+ const topTarget = inProgress?.projection?.targets
49
+ .slice()
50
+ .sort((a, b) => b.probability - a.probability)[0];
51
+ const invalidation = inProgress?.projection?.invalidationPoint;
52
+ let unclearReason;
53
+ if (analysis.confidence < THRESHOLDS.minTradeConfidence) {
54
+ unclearReason = `Confidence ${(analysis.confidence * 100).toFixed(0)}% below ${(THRESHOLDS.minTradeConfidence * 100).toFixed(0)}% threshold.`;
55
+ }
56
+ if (analysis.confirmedWaveCount < 2) {
57
+ unclearReason = 'Fewer than two Elliott waves confirmed; wait for more structure.';
58
+ }
59
+ if (!topTarget || !isFiniteTradePrice(topTarget.price)) {
60
+ unclearReason = unclearReason ?? 'No projection target available for in-progress wave.';
61
+ }
62
+ if (invalidation == null || !isFiniteTradePrice(invalidation)) {
63
+ unclearReason = unclearReason ?? 'No invalidation level available.';
64
+ }
65
+ const setup = {
66
+ ...base,
67
+ side,
68
+ inProgressWave: analysis.inProgressWave,
69
+ triggerPrice: analysis.lastClose,
70
+ triggerLabel: 'last close',
71
+ ...(topTarget
72
+ ? {
73
+ targetPrice: topTarget.price,
74
+ targetLabel: `W${analysis.inProgressWave ?? '?'} target ${topTarget.fibonacciLevel}×`,
75
+ projectionTargets: inProgress?.projection?.targets.map(t => ({
76
+ price: t.price,
77
+ fibLevel: t.fibonacciLevel,
78
+ probability: t.probability,
79
+ label: `${t.fibonacciLevel}× (${(t.probability * 100).toFixed(0)}%)`,
80
+ })),
81
+ }
82
+ : {}),
83
+ ...(invalidation != null && isFiniteTradePrice(invalidation)
84
+ ? { invalidationPrice: invalidation, invalidationLabel: 'Wave invalidation' }
85
+ : {}),
86
+ };
87
+ if (unclearReason) {
88
+ return { ...setup, status: 'unclear', unclearReason };
89
+ }
90
+ if (side === 'long' && invalidation != null && invalidation >= analysis.lastClose) {
91
+ return { ...setup, status: 'unclear', unclearReason: 'Invalidation is not below entry for long setup.' };
92
+ }
93
+ if (side === 'short' && invalidation != null && invalidation <= analysis.lastClose) {
94
+ return { ...setup, status: 'unclear', unclearReason: 'Invalidation is not above entry for short setup.' };
95
+ }
96
+ return { ...setup, status: 'clear' };
97
+ }
98
+ export function normalizeElliottWaveTradeSetup(setup) {
99
+ return {
100
+ status: setup.status,
101
+ side: setup.side,
102
+ confidence: setup.confidence,
103
+ lastClose: setup.lastClose,
104
+ entry: setup.triggerPrice != null && isFiniteTradePrice(setup.triggerPrice)
105
+ ? { price: setup.triggerPrice, label: setup.triggerLabel }
106
+ : undefined,
107
+ target: setup.targetPrice != null && isFiniteTradePrice(setup.targetPrice)
108
+ ? { price: setup.targetPrice, label: setup.targetLabel }
109
+ : undefined,
110
+ invalidation: setup.invalidationPrice != null && isFiniteTradePrice(setup.invalidationPrice)
111
+ ? { price: setup.invalidationPrice, label: setup.invalidationLabel }
112
+ : undefined,
113
+ unclearReason: setup.unclearReason ?? setup.dataGuidance,
114
+ };
115
+ }
116
+ //# sourceMappingURL=elliott-waves-trade-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elliott-waves-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/elliott-waves-trade-setup.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export type TradeSetupSide = 'long' | 'short' | 'neutral';
2
2
  export type TradeSetupStatus = 'clear' | 'unclear';
3
3
  export type TradeIdeaCompleteness = 'full' | 'partial' | 'none';
4
- export type AnalysisTradeSetupKind = 'chart_pattern' | 'candlestick' | 'key_levels' | 'key_level_fibonacci' | 'momentum' | 'trend_structure' | 'range_volatility' | 'bollinger_bands' | 'moving_averages' | 'time_series_trend' | 'time_series_momentum' | 'time_series_stats';
4
+ export type AnalysisTradeSetupKind = 'chart_pattern' | 'candlestick' | 'key_levels' | 'key_level_fibonacci' | 'momentum' | 'trend_structure' | 'elliott_waves' | 'range_volatility' | 'bollinger_bands' | 'moving_averages' | 'time_series_trend' | 'time_series_momentum' | 'time_series_stats';
5
5
  export type NormalizedTradeLevel = {
6
6
  price: number;
7
7
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAC/B,eAAe,GACf,aAAa,GACb,YAAY,GACZ,qBAAqB,GACrB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CAAC;AAEvB,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC7C,MAAM,EACN;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAiB7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,6BAUpC,CAAC;AAEH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAO5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACzC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACpC,GAAG,qBAAqB,CAYxB"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE1D,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhE,MAAM,MAAM,sBAAsB,GAC/B,eAAe,GACf,aAAa,GACb,YAAY,GACZ,qBAAqB,GACrB,UAAU,GACV,iBAAiB,GACjB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CAAC;AAEvB,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC7C,MAAM,EACN;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAkB7C,CAAC;AAEF,eAAO,MAAM,yBAAyB,6BAWpC,CAAC;AAEH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAO5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAElE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACzC,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACpC,GAAG,qBAAqB,CAYxB"}
@@ -5,6 +5,7 @@ export const ANALYZE_TOOL_SETUP_FIELDS = {
5
5
  analyze_key_level_fibonacci: { kind: 'key_level_fibonacci', field: 'keyLevelFibTradeSetup' },
6
6
  analyze_momentum: { kind: 'momentum', field: 'momentumTradeSetup' },
7
7
  analyze_trend_structure: { kind: 'trend_structure', field: 'trendStructureTradeSetup' },
8
+ analyze_elliott_waves: { kind: 'elliott_waves', field: 'elliottWaveTradeSetup' },
8
9
  analyze_range_volatility: { kind: 'range_volatility', field: 'rangeVolatilityTradeSetup' },
9
10
  analyze_bollinger_bands: { kind: 'bollinger_bands', field: 'bollingerTradeSetup' },
10
11
  analyze_moving_averages: { kind: 'moving_averages', field: 'movingAveragesTradeSetup' },
@@ -22,6 +23,7 @@ export const OHLCV_TIED_ANALYSIS_TYPES = new Set([
22
23
  'key_level_fibonacci',
23
24
  'momentum',
24
25
  'trend_structure',
26
+ 'elliott_waves',
25
27
  'range_volatility',
26
28
  'bollinger_bands',
27
29
  'moving_averages',
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/shared.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,yBAAyB,GAGlC;IACH,sBAAsB,EAAE,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAC;IAChF,4BAA4B,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAC;IACnF,kBAAkB,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAC;IACtE,2BAA2B,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,uBAAuB,EAAC;IAC1F,gBAAgB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAC;IACjE,uBAAuB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAC;IACrF,wBAAwB,EAAE,EAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,2BAA2B,EAAC;IACxF,uBAAuB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAC;IAChF,uBAAuB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAC;IACrF,yBAAyB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,2BAA2B,EAAC;IAC1F,4BAA4B,EAAE;QAC7B,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,8BAA8B;KACrC;IACD,yBAAyB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,2BAA2B,EAAC;CAC1F,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAyB;IACxE,eAAe;IACf,aAAa;IACb,YAAY;IACZ,qBAAqB;IACrB,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;CACjB,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IACnE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IACD,OAAO,WAAW,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,MAAM,eAAe,GACpB,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,QAAQ,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/shared.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,yBAAyB,GAGlC;IACH,sBAAsB,EAAE,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,wBAAwB,EAAC;IAChF,4BAA4B,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAC;IACnF,kBAAkB,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,EAAC;IACtE,2BAA2B,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,uBAAuB,EAAC;IAC1F,gBAAgB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAC;IACjE,uBAAuB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAC;IACrF,qBAAqB,EAAE,EAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAC;IAC9E,wBAAwB,EAAE,EAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,2BAA2B,EAAC;IACxF,uBAAuB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAC;IAChF,uBAAuB,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAC;IACrF,yBAAyB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,2BAA2B,EAAC;IAC1F,4BAA4B,EAAE;QAC7B,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,8BAA8B;KACrC;IACD,yBAAyB,EAAE,EAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,2BAA2B,EAAC;CAC1F,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAyB;IACxE,eAAe;IACf,aAAa;IACb,YAAY;IACZ,qBAAqB;IACrB,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;CACjB,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IACnE,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IACD,OAAO,WAAW,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjF,MAAM,eAAe,GACpB,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,QAAQ,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -20,6 +20,8 @@ export type TradeIdeaListItem = {
20
20
  entryLabel?: string;
21
21
  exitPrice?: number;
22
22
  exitLabel?: string;
23
+ /** Trend structure: nearer swing target when exitPrice is impulse measured move. */
24
+ swingTargetPrice?: number;
23
25
  targetPctFromEntry?: number;
24
26
  measuredMove?: TradeIdeaMeasuredMoveSummary;
25
27
  invalidationPrice?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"trade-idea-list.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-idea-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trade-idea-list.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-idea-list.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,28 @@ function measuredMoveFromSetup(idea) {
52
52
  return undefined;
53
53
  }
54
54
  const raw = setup;
55
+ const nested = raw.measuredMove;
56
+ if (nested && typeof nested === 'object') {
57
+ const mm = nested;
58
+ const targetPrice = typeof mm.targetPrice === 'number' && Number.isFinite(mm.targetPrice)
59
+ ? mm.targetPrice
60
+ : undefined;
61
+ if (targetPrice == null) {
62
+ return undefined;
63
+ }
64
+ return {
65
+ targetPrice,
66
+ referencePrice: typeof mm.referencePrice === 'number' && Number.isFinite(mm.referencePrice)
67
+ ? mm.referencePrice
68
+ : idea.entry?.price,
69
+ direction: mm.direction === 'up' || mm.direction === 'down' ? mm.direction : undefined,
70
+ status: typeof mm.status === 'string' ? mm.status : undefined,
71
+ formula: typeof mm.formula === 'string' ? mm.formula : undefined,
72
+ };
73
+ }
74
+ if (idea.analysisSetup.kind === 'trend_structure') {
75
+ return undefined;
76
+ }
55
77
  const targetPrice = typeof raw.targetPrice === 'number' && Number.isFinite(raw.targetPrice)
56
78
  ? raw.targetPrice
57
79
  : idea.target?.price;
@@ -73,14 +95,24 @@ function measuredMoveFromSetup(idea) {
73
95
  }
74
96
  export function tradeIdeaToListItem(idea, tradeIdeaNumber) {
75
97
  const entryPrice = idea.entry?.price;
76
- const exitPrice = idea.target?.price;
98
+ const measuredMove = measuredMoveFromSetup(idea);
99
+ const swingTargetPrice = idea.source.analysisType === 'trend_structure' ? idea.target?.price : undefined;
100
+ const exitPrice = idea.source.analysisType === 'trend_structure' &&
101
+ measuredMove?.targetPrice != null &&
102
+ Number.isFinite(measuredMove.targetPrice)
103
+ ? measuredMove.targetPrice
104
+ : idea.target?.price;
105
+ const exitLabel = idea.source.analysisType === 'trend_structure' &&
106
+ measuredMove?.targetPrice != null &&
107
+ Number.isFinite(measuredMove.targetPrice)
108
+ ? 'impulse measured move'
109
+ : idea.target?.label ?? 'target';
77
110
  const pct = entryPrice != null &&
78
111
  exitPrice != null &&
79
112
  Number.isFinite(entryPrice) &&
80
113
  Number.isFinite(exitPrice)
81
114
  ? targetPctFromEntry(entryPrice, exitPrice)
82
115
  : undefined;
83
- const measuredMove = measuredMoveFromSetup(idea);
84
116
  const bollingerFields = bollingerFieldsFromIdea(idea);
85
117
  const movingAveragesFields = movingAveragesFieldsFromIdea(idea);
86
118
  const chartData = idea.source.chartData;
@@ -95,7 +127,10 @@ export function tradeIdeaToListItem(idea, tradeIdeaNumber) {
95
127
  confidence: idea.confidence,
96
128
  ...(entryPrice != null ? { entryPrice } : {}),
97
129
  ...(idea.entry?.label ? { entryLabel: idea.entry.label } : {}),
98
- ...(exitPrice != null ? { exitPrice, exitLabel: idea.target?.label ?? 'target' } : {}),
130
+ ...(exitPrice != null ? { exitPrice, exitLabel } : {}),
131
+ ...(swingTargetPrice != null && Number.isFinite(swingTargetPrice)
132
+ ? { swingTargetPrice }
133
+ : {}),
99
134
  ...(pct != null ? { targetPctFromEntry: pct } : {}),
100
135
  ...(measuredMove ? { measuredMove } : {}),
101
136
  ...(idea.invalidation?.price != null