@continuumdao/continuum-node-sdk 1.3.27 → 1.3.29

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 (130) hide show
  1. package/dist/agent-host-catalog.json +1 -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 +44 -0
  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 +9 -1
  7. package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
  8. package/dist/core/chart/analysis/analyze-tools.d.ts +34 -0
  9. package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -1
  10. package/dist/core/chart/analysis/analyze-tools.js +74 -0
  11. package/dist/core/chart/analysis/analyze-tools.js.map +1 -1
  12. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts +101 -0
  13. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts.map +1 -0
  14. package/dist/core/chart/analysis/bollinger-analyze-tools.js +289 -0
  15. package/dist/core/chart/analysis/bollinger-analyze-tools.js.map +1 -0
  16. package/dist/core/chart/analysis/bollinger-highlight.d.ts +29 -0
  17. package/dist/core/chart/analysis/bollinger-highlight.d.ts.map +1 -0
  18. package/dist/core/chart/analysis/bollinger-highlight.js +39 -0
  19. package/dist/core/chart/analysis/bollinger-highlight.js.map +1 -0
  20. package/dist/core/chart/analysis/candlestick-highlight.d.ts +55 -0
  21. package/dist/core/chart/analysis/candlestick-highlight.d.ts.map +1 -0
  22. package/dist/core/chart/analysis/candlestick-highlight.js +71 -0
  23. package/dist/core/chart/analysis/candlestick-highlight.js.map +1 -0
  24. package/dist/core/chart/analysis/candlestick-patterns-tools.d.ts +39 -0
  25. package/dist/core/chart/analysis/candlestick-patterns-tools.d.ts.map +1 -1
  26. package/dist/core/chart/analysis/candlestick-patterns-tools.js +46 -0
  27. package/dist/core/chart/analysis/candlestick-patterns-tools.js.map +1 -1
  28. package/dist/core/chart/analysis/momentum-highlight.d.ts +31 -0
  29. package/dist/core/chart/analysis/momentum-highlight.d.ts.map +1 -0
  30. package/dist/core/chart/analysis/momentum-highlight.js +59 -0
  31. package/dist/core/chart/analysis/momentum-highlight.js.map +1 -0
  32. package/dist/core/chart/analysis/range-volatility-highlight.d.ts +31 -0
  33. package/dist/core/chart/analysis/range-volatility-highlight.d.ts.map +1 -0
  34. package/dist/core/chart/analysis/range-volatility-highlight.js +53 -0
  35. package/dist/core/chart/analysis/range-volatility-highlight.js.map +1 -0
  36. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts +77 -0
  37. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts.map +1 -0
  38. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js +163 -0
  39. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js.map +1 -0
  40. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +2 -1
  41. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
  42. package/dist/core/chart/analysis/trade-setups/build-trade.js +29 -3
  43. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
  44. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts +4 -6
  45. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts.map +1 -1
  46. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js +29 -35
  47. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js.map +1 -1
  48. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts +7 -1
  49. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts.map +1 -1
  50. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js +24 -2
  51. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js.map +1 -1
  52. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.d.ts +3 -0
  53. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.d.ts.map +1 -0
  54. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.js +32 -0
  55. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.js.map +1 -0
  56. package/dist/core/chart/analysis/trade-setups/index.d.ts +1 -0
  57. package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
  58. package/dist/core/chart/analysis/trade-setups/index.js +1 -0
  59. package/dist/core/chart/analysis/trade-setups/index.js.map +1 -1
  60. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +7 -0
  61. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -1
  62. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +30 -4
  63. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -1
  64. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +5 -0
  65. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -1
  66. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +14 -2
  67. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -1
  68. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.d.ts +2 -2
  69. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.d.ts.map +1 -1
  70. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.js +8 -4
  71. package/dist/core/chart/analysis/trade-setups/momentum-trade-setup.js.map +1 -1
  72. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts +10 -1
  73. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts.map +1 -1
  74. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js +75 -34
  75. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js.map +1 -1
  76. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.d.ts +52 -0
  77. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.d.ts.map +1 -0
  78. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.js +119 -0
  79. package/dist/core/chart/analysis/trade-setups/range-volatility-trade-setup.js.map +1 -0
  80. package/dist/core/chart/analysis/trade-setups/shared.d.ts +1 -1
  81. package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
  82. package/dist/core/chart/analysis/trade-setups/shared.js +2 -0
  83. package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
  84. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +8 -0
  85. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -1
  86. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +9 -1
  87. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
  88. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts +9 -5
  89. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts.map +1 -1
  90. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js +24 -8
  91. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js.map +1 -1
  92. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +11 -1
  93. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
  94. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +32 -5
  95. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
  96. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +12 -1
  97. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
  98. package/dist/core/chart/analysis/trade-setups/trade-idea.js +16 -3
  99. package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
  100. package/dist/core/chart/display-downsample.d.ts +1 -1
  101. package/dist/core/chart/display-downsample.d.ts.map +1 -1
  102. package/dist/core/chart/display-downsample.js +21 -0
  103. package/dist/core/chart/display-downsample.js.map +1 -1
  104. package/dist/core/chart/overlay-schemas.d.ts +3 -0
  105. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  106. package/dist/core/chart/overlay-schemas.js +2 -0
  107. package/dist/core/chart/overlay-schemas.js.map +1 -1
  108. package/dist/core/chart/overlays.d.ts.map +1 -1
  109. package/dist/core/chart/overlays.js +21 -0
  110. package/dist/core/chart/overlays.js.map +1 -1
  111. package/dist/core/chart/prepare-core.d.ts.map +1 -1
  112. package/dist/core/chart/prepare-core.js +20 -1
  113. package/dist/core/chart/prepare-core.js.map +1 -1
  114. package/dist/core/chart/prepare-from-rows.d.ts +2 -0
  115. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  116. package/dist/core/chart/schemas.d.ts +9 -0
  117. package/dist/core/chart/schemas.d.ts.map +1 -1
  118. package/dist/core/chart/schemas.js +1 -1
  119. package/dist/core/chart/schemas.js.map +1 -1
  120. package/dist/mcp/chart.d.ts.map +1 -1
  121. package/dist/mcp/chart.js +7 -0
  122. package/dist/mcp/chart.js.map +1 -1
  123. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  124. package/dist/mcp/deferred/tool-group-map.js +1 -0
  125. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  126. package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
  127. package/dist/mcp/ohlcv-session-wrapper.js +1 -0
  128. package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
  129. package/dist/mcp/resources/chart-analysis.md +4 -1
  130. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"key-level-fib-retrace-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-level-fib-retrace-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { KeyLevelFibPair, KeyLevelMenuEntry } from '../key-level-menu-summa
2
2
  import type { PatternEntryPhase } from './pattern-limit-entry.js';
3
3
  import type { EntryOffsetMode } from './pattern-limit-entry.js';
4
4
  import type { TradeSetupSide, TradeSetupStatus } from './shared.js';
5
+ import { type EntryProximityMode } from './trade-desk-defaults.js';
5
6
  export type KeyLevelTargetSource = 'next_level' | 'fib_extension';
6
7
  export type KeyLevelsBreakRetestAlternative = {
7
8
  status: TradeSetupStatus;
@@ -36,6 +37,8 @@ export type KeyLevelsTradeSetup = {
36
37
  framing: 'bounce' | 'break';
37
38
  entryOffsetMode: EntryOffsetMode;
38
39
  entryProximityPct: number;
40
+ entryProximityMode?: EntryProximityMode;
41
+ atrAtLastBar?: number;
39
42
  entryOffsetPct: number;
40
43
  invalidationOffsetPct: number;
41
44
  setupPurposeCode: string;
@@ -84,6 +87,8 @@ export declare function buildKeyLevelsTradeSetup(input: {
84
87
  minConfidence?: number;
85
88
  breakMinConfidence?: number;
86
89
  entryProximityPct?: number;
90
+ entryProximityMode?: EntryProximityMode;
91
+ entryProximityAtrPeriod?: number;
87
92
  entryOffsetPct?: number;
88
93
  invalidationOffsetPct?: number;
89
94
  }): KeyLevelsTradeSetup | null;
@@ -1 +1 @@
1
- {"version":3,"file":"key-levels-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-levels-trade-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-levels-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-levels-trade-setup.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { alternateBreakCandidatesForSkill, detectKeyLevelBreaks, pickStrongestBreakCandidate, } from '../key-level-break-detect.js';
2
2
  import { isFiniteTradePrice } from './shared.js';
3
3
  import { assessTradeSetupEntryActionability } from './trade-entry-gates.js';
4
- import { tradeDeskDefaultPcts } from './trade-desk-defaults.js';
4
+ import { entryProximityAtrFromOhlcvRows } from './entry-proximity-atr.js';
5
+ import { tradeDeskConfig } from './trade-desk-defaults.js';
5
6
  import { tradeSetupPurposeCode } from './trade-purpose-format.js';
6
7
  const HTF_ADVISORY = 'Target uses Fibonacci extension — re-run analyze_key_levels on a higher timeframe for structural confirmation.';
7
8
  function resolveTarget(input) {
@@ -153,11 +154,16 @@ function buildBreakRetestAlternative(input) {
153
154
  export function buildKeyLevelsTradeSetup(input) {
154
155
  const minConfidence = input.minConfidence ?? 0.35;
155
156
  const breakMinConfidence = input.breakMinConfidence ?? 0.45;
156
- const deskSeed = tradeDeskDefaultPcts({
157
+ const deskSeed = tradeDeskConfig({
157
158
  entryProximityPct: input.entryProximityPct,
158
159
  entryOffsetPct: input.entryOffsetPct,
159
160
  invalidationOffsetPct: input.invalidationOffsetPct,
161
+ entryProximityMode: input.entryProximityMode,
162
+ entryProximityAtrPeriod: input.entryProximityAtrPeriod,
160
163
  });
164
+ const entryProximityAtr = deskSeed.entryProximityMode === 'atr'
165
+ ? entryProximityAtrFromOhlcvRows(input.bars, deskSeed.entryProximityAtrPeriod)
166
+ : null;
161
167
  const close = input.lastClose;
162
168
  if (!isFiniteTradePrice(close)) {
163
169
  return null;
@@ -211,6 +217,8 @@ export function buildKeyLevelsTradeSetup(input) {
211
217
  side,
212
218
  entryOffsetMode: 'bounce',
213
219
  entryProximityPct: deskSeed.entryProximityPct,
220
+ entryProximityMode: deskSeed.entryProximityMode,
221
+ entryProximityAtr,
214
222
  entryOffsetPct: deskSeed.entryOffsetPct,
215
223
  });
216
224
  if (!entryCheck.ok) {
@@ -262,6 +270,8 @@ export function buildKeyLevelsTradeSetup(input) {
262
270
  side,
263
271
  entryOffsetMode: 'bounce',
264
272
  entryProximityPct: deskSeed.entryProximityPct,
273
+ entryProximityMode: deskSeed.entryProximityMode,
274
+ entryProximityAtr,
265
275
  entryOffsetPct: deskSeed.entryOffsetPct,
266
276
  });
267
277
  if (!entryCheck.ok) {
@@ -301,6 +311,8 @@ export function buildKeyLevelsTradeSetup(input) {
301
311
  framing,
302
312
  entryOffsetMode,
303
313
  entryProximityPct: deskSeed.entryProximityPct,
314
+ entryProximityMode: deskSeed.entryProximityMode,
315
+ ...(entryProximityAtr != null ? { atrAtLastBar: entryProximityAtr } : {}),
304
316
  entryOffsetPct: deskSeed.entryOffsetPct,
305
317
  invalidationOffsetPct: deskSeed.invalidationOffsetPct,
306
318
  setupPurposeCode: tradeSetupPurposeCode({ analysisType: 'key_levels', keyLevelsFraming: framing }),
@@ -1 +1 @@
1
- {"version":3,"file":"key-levels-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-levels-trade-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-levels-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-levels-trade-setup.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ export type MomentumTradeSetup = {
8
8
  macdCrossover: 'bullish' | 'bearish' | 'none';
9
9
  lastClose: number;
10
10
  side: TradeSetupSide;
11
- entryPrice: number;
12
- entryLabel: string;
11
+ entryPrice?: number;
12
+ entryLabel?: string;
13
13
  conditionalNote: string;
14
14
  confidence: number;
15
15
  unclearReason?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"momentum-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/momentum-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAA;KAAC,CAAC;IACzF,IAAI,EAAE;QAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;KAAC,CAAC;CAClD,GAAG,kBAAkB,GAAG,IAAI,CAiD5B;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,kBAAkB;;;;;;;;;;EAWpE"}
1
+ {"version":3,"file":"momentum-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/momentum-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;IAC/C,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAA;KAAC,CAAC;IACzF,IAAI,EAAE;QAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;KAAC,CAAC;CAClD,GAAG,kBAAkB,GAAG,IAAI,CAkD5B;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,kBAAkB;;;;;;;;;;EAepE"}
@@ -42,8 +42,9 @@ export function buildMomentumTradeSetup(input) {
42
42
  macdCrossover: input.macd.crossover,
43
43
  lastClose: close,
44
44
  side,
45
- entryPrice: close,
46
- entryLabel: 'last close (conditional)',
45
+ ...(status === 'clear' && side !== 'neutral'
46
+ ? { entryPrice: close, entryLabel: 'last close (conditional)' }
47
+ : {}),
47
48
  conditionalNote,
48
49
  confidence,
49
50
  ...(unclearReason ? { unclearReason } : {}),
@@ -55,8 +56,11 @@ export function normalizeMomentumTradeSetup(setup) {
55
56
  side: setup.side,
56
57
  confidence: setup.confidence,
57
58
  lastClose: setup.lastClose,
58
- entry: isFiniteTradePrice(setup.entryPrice)
59
- ? { price: setup.entryPrice, label: setup.entryLabel }
59
+ entry: setup.status === 'clear' &&
60
+ setup.side !== 'neutral' &&
61
+ setup.entryPrice != null &&
62
+ isFiniteTradePrice(setup.entryPrice)
63
+ ? { price: setup.entryPrice, label: setup.entryLabel ?? 'last close (conditional)' }
60
64
  : undefined,
61
65
  unclearReason: setup.unclearReason,
62
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"momentum-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/momentum-trade-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAkB/C,MAAM,UAAU,uBAAuB,CAAC,KAIvC;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,GAAmB,SAAS,CAAC;IACrC,IAAI,eAAe,GAAG,6CAA6C,CAAC;IACpE,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACzE,IAAI,GAAG,MAAM,CAAC;QACd,eAAe,GAAG,kFAAkF,CAAC;QACrG,UAAU,GAAG,GAAG,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClF,IAAI,GAAG,OAAO,CAAC;QACf,eAAe,GAAG,qFAAqF,CAAC;QACxG,UAAU,GAAG,GAAG,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC1C,IAAI,GAAG,MAAM,CAAC;QACd,eAAe,GAAG,kEAAkE,CAAC;QACrF,UAAU,GAAG,GAAG,CAAC;IAClB,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5C,IAAI,GAAG,OAAO,CAAC;QACf,eAAe,GAAG,qEAAqE,CAAC;QACxF,UAAU,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,MAAM,GAAqB,SAAS,CAAC;IACzC,IAAI,aAAa,GAChB,oGAAoG,CAAC;IACtG,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACjF,MAAM,GAAG,OAAO,CAAC;QACjB,aAAa,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACN,MAAM;QACN,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM;QAC3B,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK;QACzB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;QACvB,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;QACnC,SAAS,EAAE,KAAK;QAChB,IAAI;QACJ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,0BAA0B;QACtC,eAAe;QACf,UAAU;QACV,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAC,aAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACpE,OAAO;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC;YAC1C,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAC;YACpD,CAAC,CAAC,SAAS;QACZ,aAAa,EAAE,KAAK,CAAC,aAAa;KAClC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"momentum-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/momentum-trade-setup.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ import type { PatternKeyLevelSummary } from '../../../chart-patterns/pattern-men
3
3
  import type { TradeSetupSide } from './shared.js';
4
4
  export declare const DEFAULT_BREAK_TOLERANCE_PCT = 0.1;
5
5
  export declare const DEFAULT_ENTRY_PROXIMITY_PCT = 1;
6
+ export type EntryProximityMode = 'price' | 'atr';
7
+ export declare const DEFAULT_ENTRY_PROXIMITY_MODE: EntryProximityMode;
8
+ export type WithinEntryProximityOptions = {
9
+ mode?: EntryProximityMode;
10
+ atr?: number | null;
11
+ };
12
+ export declare function entryProximityGateLabel(pct: number, mode?: EntryProximityMode): string;
6
13
  export type PatternEntryPhase = 'inside_pattern' | 'post_breakout_retest';
7
14
  export type EntryOffsetMode = 'bounce' | 'retest';
8
15
  export type PatternPhase = 'inside' | 'broken_above' | 'broken_below';
@@ -22,6 +29,8 @@ export type ResolvePatternLimitInput = {
22
29
  classificationSide: TradeSetupSide;
23
30
  breakTolerancePct?: number;
24
31
  entryProximityPct?: number;
32
+ entryProximityMode?: EntryProximityMode;
33
+ entryProximityAtr?: number | null;
25
34
  };
26
35
  export type ResolvePatternLimitResult = {
27
36
  ok: true;
@@ -31,7 +40,7 @@ export type ResolvePatternLimitResult = {
31
40
  unclearReason: string;
32
41
  };
33
42
  export declare function patternPhase(lastClose: number, support: number, resistance: number, tolerancePct?: number): PatternPhase;
34
- export declare function withinEntryProximity(lastClose: number, entry: number, maxPct?: number): boolean;
43
+ export declare function withinEntryProximity(lastClose: number, entry: number, maxPct?: number, options?: WithinEntryProximityOptions): boolean;
35
44
  export declare function boundaryAtRightEdge(levels: PatternKeyLevelSummary[]): {
36
45
  support: number;
37
46
  resistance: number;
@@ -1 +1 @@
1
- {"version":3,"file":"pattern-limit-entry.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/pattern-limit-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,sBAAsB,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,kBAAkB,EAAE,cAAc,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAClC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAC,GACtC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAC,CAAC;AAMtC,wBAAgB,YAAY,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,SAA8B,GACxC,YAAY,CAYd;AAED,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,SAA8B,GAClC,OAAO,CAKT;AA4CD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACxB,GAAG,IAAI,CA+BP;AAqID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CA0XpG"}
1
+ {"version":3,"file":"pattern-limit-entry.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/pattern-limit-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,KAAK,CAAC;AACjD,eAAO,MAAM,4BAA4B,EAAE,kBAA4B,CAAC;AAExE,MAAM,MAAM,2BAA2B,GAAG;IACzC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,kBAAiD,GACrD,MAAM,CAER;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,sBAAsB,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAEtE,MAAM,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,sBAAsB,EAAE,CAAC;IACpC,kBAAkB,EAAE,cAAc,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAClC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAC,GACtC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAC,CAAC;AAMtC,wBAAgB,YAAY,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,SAA8B,GACxC,YAAY,CAYd;AAED,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,SAA8B,EACpC,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAiBT;AA6DD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACxB,GAAG,IAAI,CA+BP;AAqJD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CAqcpG"}
@@ -1,5 +1,9 @@
1
1
  export const DEFAULT_BREAK_TOLERANCE_PCT = 0.1;
2
2
  export const DEFAULT_ENTRY_PROXIMITY_PCT = 1;
3
+ export const DEFAULT_ENTRY_PROXIMITY_MODE = 'price';
4
+ export function entryProximityGateLabel(pct, mode = DEFAULT_ENTRY_PROXIMITY_MODE) {
5
+ return mode === 'atr' ? `${pct}% of ATR` : `${pct}% of entry`;
6
+ }
3
7
  function tolPrice(price, pct) {
4
8
  return Math.abs(price) * (pct / 100);
5
9
  }
@@ -16,11 +20,33 @@ export function patternPhase(lastClose, support, resistance, tolerancePct = DEFA
16
20
  }
17
21
  return 'inside';
18
22
  }
19
- export function withinEntryProximity(lastClose, entry, maxPct = DEFAULT_ENTRY_PROXIMITY_PCT) {
20
- if (!Number.isFinite(lastClose) || !Number.isFinite(entry) || entry === 0) {
23
+ export function withinEntryProximity(lastClose, entry, maxPct = DEFAULT_ENTRY_PROXIMITY_PCT, options) {
24
+ if (!Number.isFinite(lastClose) || !Number.isFinite(entry)) {
25
+ return false;
26
+ }
27
+ const distance = Math.abs(lastClose - entry);
28
+ const mode = options?.mode ?? DEFAULT_ENTRY_PROXIMITY_MODE;
29
+ if (mode === 'atr') {
30
+ const atr = options?.atr;
31
+ if (atr == null || !Number.isFinite(atr) || atr <= 0) {
32
+ return false;
33
+ }
34
+ return distance <= (atr * maxPct) / 100;
35
+ }
36
+ if (entry === 0) {
21
37
  return false;
22
38
  }
23
- return (Math.abs(lastClose - entry) / Math.abs(entry)) * 100 <= maxPct;
39
+ return (distance / Math.abs(entry)) * 100 <= maxPct;
40
+ }
41
+ function failUnlessWithinEntryProximity(lastClose, entryPrice, pct, label, options) {
42
+ if (withinEntryProximity(lastClose, entryPrice, pct, options)) {
43
+ return null;
44
+ }
45
+ const mode = options?.mode ?? DEFAULT_ENTRY_PROXIMITY_MODE;
46
+ return {
47
+ ok: false,
48
+ unclearReason: `Price not within ${entryProximityGateLabel(pct, mode)} of ${label}.`,
49
+ };
24
50
  }
25
51
  function levelByLabels(levels, labels) {
26
52
  for (const want of labels) {
@@ -135,7 +161,7 @@ function okLevels(trigger, invalidation, entryPhase, entryOffsetMode, limitSide)
135
161
  },
136
162
  };
137
163
  }
138
- function boundaryLong(support, resistance, phase, proximityPct, lastClose, requireBreakoutOnly) {
164
+ function boundaryLong(support, resistance, phase, proximityPct, proximityOptions, lastClose, requireBreakoutOnly) {
139
165
  if (requireBreakoutOnly) {
140
166
  if (phase === 'inside') {
141
167
  return { ok: false, unclearReason: 'Price still inside pattern — no trade until breakout.' };
@@ -154,12 +180,13 @@ function boundaryLong(support, resistance, phase, proximityPct, lastClose, requi
154
180
  }
155
181
  const entry = { price: support.price, label: `${support.label} bounce` };
156
182
  const inv = { price: support.price, label: `${support.label} pattern fail` };
157
- if (!withinEntryProximity(lastClose, entry.price, proximityPct)) {
158
- return { ok: false, unclearReason: `Price not within ${proximityPct}% of support entry.` };
183
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, proximityPct, 'support entry', proximityOptions);
184
+ if (proximityFail) {
185
+ return proximityFail;
159
186
  }
160
187
  return okLevels(entry, inv, 'inside_pattern', 'bounce', 'long');
161
188
  }
162
- function boundaryShort(support, resistance, phase, proximityPct, lastClose, requireBreakoutOnly) {
189
+ function boundaryShort(support, resistance, phase, proximityPct, proximityOptions, lastClose, requireBreakoutOnly) {
163
190
  if (requireBreakoutOnly) {
164
191
  if (phase === 'inside') {
165
192
  return { ok: false, unclearReason: 'Price still inside pattern — no trade until breakout.' };
@@ -178,13 +205,18 @@ function boundaryShort(support, resistance, phase, proximityPct, lastClose, requ
178
205
  }
179
206
  const entry = { price: resistance.price, label: `${resistance.label} bounce` };
180
207
  const inv = { price: resistance.price, label: `${resistance.label} pattern fail` };
181
- if (!withinEntryProximity(lastClose, entry.price, proximityPct)) {
182
- return { ok: false, unclearReason: `Price not within ${proximityPct}% of resistance entry.` };
208
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, proximityPct, 'resistance entry', proximityOptions);
209
+ if (proximityFail) {
210
+ return proximityFail;
183
211
  }
184
212
  return okLevels(entry, inv, 'inside_pattern', 'bounce', 'short');
185
213
  }
186
214
  export function resolvePatternLimitLevels(input) {
187
- const { patternId, lastClose, keyLevels, breakTolerancePct = DEFAULT_BREAK_TOLERANCE_PCT, entryProximityPct = DEFAULT_ENTRY_PROXIMITY_PCT, } = input;
215
+ const { patternId, lastClose, keyLevels, breakTolerancePct = DEFAULT_BREAK_TOLERANCE_PCT, entryProximityPct = DEFAULT_ENTRY_PROXIMITY_PCT, entryProximityMode, entryProximityAtr, } = input;
216
+ const proximityOptions = {
217
+ mode: entryProximityMode,
218
+ atr: entryProximityAtr,
219
+ };
188
220
  const bounds = boundaryAtRightEdge(keyLevels);
189
221
  const phase = bounds != null
190
222
  ? patternPhase(lastClose, bounds.support, bounds.resistance, breakTolerancePct)
@@ -194,23 +226,23 @@ export function resolvePatternLimitLevels(input) {
194
226
  if (!bounds) {
195
227
  return { ok: false, unclearReason: 'Missing wedge boundary levels.' };
196
228
  }
197
- return boundaryLong({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, lastClose, false);
229
+ return boundaryLong({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, proximityOptions, lastClose, false);
198
230
  }
199
231
  case 'rising_wedge': {
200
232
  if (!bounds) {
201
233
  return { ok: false, unclearReason: 'Missing wedge boundary levels.' };
202
234
  }
203
- return boundaryShort({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, lastClose, false);
235
+ return boundaryShort({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, proximityOptions, lastClose, false);
204
236
  }
205
237
  case 'symmetrical_triangle': {
206
238
  if (!bounds) {
207
239
  return { ok: false, unclearReason: 'Missing triangle boundary levels.' };
208
240
  }
209
241
  if (phase === 'broken_above') {
210
- return boundaryLong({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, lastClose, true);
242
+ return boundaryLong({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, proximityOptions, lastClose, true);
211
243
  }
212
244
  if (phase === 'broken_below') {
213
- return boundaryShort({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, lastClose, true);
245
+ return boundaryShort({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, proximityOptions, lastClose, true);
214
246
  }
215
247
  return { ok: false, unclearReason: 'Symmetrical triangle — no trade until breakout.' };
216
248
  }
@@ -225,8 +257,9 @@ export function resolvePatternLimitLevels(input) {
225
257
  return okLevels({ price: res.price, label: `${res.label} retest` }, { price: sup.price, label: `${sup.label} pattern fail` }, 'post_breakout_retest', 'retest', 'long');
226
258
  }
227
259
  const entry = { price: sup.price, label: `${sup.label} bounce` };
228
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
229
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of support entry.` };
260
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'support entry', proximityOptions);
261
+ if (proximityFail) {
262
+ return proximityFail;
230
263
  }
231
264
  return okLevels(entry, { price: sup.price, label: `${sup.label} pattern fail` }, 'inside_pattern', 'bounce', 'long');
232
265
  }
@@ -241,8 +274,9 @@ export function resolvePatternLimitLevels(input) {
241
274
  return okLevels({ price: sup.price, label: `${sup.label} retest` }, { price: res.price, label: `${res.label} pattern fail` }, 'post_breakout_retest', 'retest', 'short');
242
275
  }
243
276
  const entry = { price: res.price, label: `${res.label} bounce` };
244
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
245
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of resistance entry.` };
277
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'resistance entry', proximityOptions);
278
+ if (proximityFail) {
279
+ return proximityFail;
246
280
  }
247
281
  return okLevels(entry, { price: res.price, label: `${res.label} pattern fail` }, 'inside_pattern', 'bounce', 'short');
248
282
  }
@@ -250,13 +284,13 @@ export function resolvePatternLimitLevels(input) {
250
284
  if (!bounds) {
251
285
  return { ok: false, unclearReason: 'Missing channel boundary levels.' };
252
286
  }
253
- return boundaryLong({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, lastClose, false);
287
+ return boundaryLong({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, proximityOptions, lastClose, false);
254
288
  }
255
289
  case 'channel_down': {
256
290
  if (!bounds) {
257
291
  return { ok: false, unclearReason: 'Missing channel boundary levels.' };
258
292
  }
259
- return boundaryShort({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, lastClose, false);
293
+ return boundaryShort({ price: bounds.support, label: bounds.supportLabel }, { price: bounds.resistance, label: bounds.resistanceLabel }, phase, entryProximityPct, proximityOptions, lastClose, false);
260
294
  }
261
295
  case 'double_bottom':
262
296
  case 'double_bottom_adam_eve': {
@@ -269,8 +303,9 @@ export function resolvePatternLimitLevels(input) {
269
303
  return okLevels({ price: neck.price, label: 'neckline retest' }, { price: trough.price, label: 'trough pattern fail' }, 'post_breakout_retest', 'retest', 'long');
270
304
  }
271
305
  const entry = { price: trough.price, label: 'trough bounce' };
272
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
273
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of trough entry.` };
306
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'trough entry', proximityOptions);
307
+ if (proximityFail) {
308
+ return proximityFail;
274
309
  }
275
310
  return okLevels(entry, { price: trough.price, label: 'trough pattern fail' }, 'inside_pattern', 'bounce', 'long');
276
311
  }
@@ -284,8 +319,9 @@ export function resolvePatternLimitLevels(input) {
284
319
  return okLevels({ price: neck.price, label: 'neckline retest' }, { price: peak.price, label: 'peak pattern fail' }, 'post_breakout_retest', 'retest', 'short');
285
320
  }
286
321
  const entry = { price: peak.price, label: 'peak bounce' };
287
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
288
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of peak entry.` };
322
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'peak entry', proximityOptions);
323
+ if (proximityFail) {
324
+ return proximityFail;
289
325
  }
290
326
  return okLevels(entry, { price: peak.price, label: 'peak pattern fail' }, 'inside_pattern', 'bounce', 'short');
291
327
  }
@@ -299,8 +335,9 @@ export function resolvePatternLimitLevels(input) {
299
335
  return okLevels({ price: neck.price, label: 'neckline retest' }, { price: head.price, label: 'head pattern fail' }, 'post_breakout_retest', 'retest', 'long');
300
336
  }
301
337
  const entry = { price: head.price, label: 'head bounce' };
302
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
303
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of head entry.` };
338
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'head entry', proximityOptions);
339
+ if (proximityFail) {
340
+ return proximityFail;
304
341
  }
305
342
  return okLevels(entry, { price: head.price, label: 'head pattern fail' }, 'inside_pattern', 'bounce', 'long');
306
343
  }
@@ -314,8 +351,9 @@ export function resolvePatternLimitLevels(input) {
314
351
  return okLevels({ price: neck.price, label: 'neckline retest' }, { price: head.price, label: 'head pattern fail' }, 'post_breakout_retest', 'retest', 'short');
315
352
  }
316
353
  const entry = { price: head.price, label: 'head bounce' };
317
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
318
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of head entry.` };
354
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'head entry', proximityOptions);
355
+ if (proximityFail) {
356
+ return proximityFail;
319
357
  }
320
358
  return okLevels(entry, { price: head.price, label: 'head pattern fail' }, 'inside_pattern', 'bounce', 'short');
321
359
  }
@@ -331,8 +369,9 @@ export function resolvePatternLimitLevels(input) {
331
369
  return okLevels({ price: rim.price, label: 'rim retest' }, { price: invPrice, label: 'cup/handle pattern fail' }, 'post_breakout_retest', 'retest', 'long');
332
370
  }
333
371
  const entry = { price: (handle ?? cupLow).price, label: 'handle bounce' };
334
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
335
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of handle entry.` };
372
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'handle entry', proximityOptions);
373
+ if (proximityFail) {
374
+ return proximityFail;
336
375
  }
337
376
  return okLevels(entry, { price: invPrice, label: 'cup/handle pattern fail' }, 'inside_pattern', 'bounce', 'long');
338
377
  }
@@ -347,8 +386,9 @@ export function resolvePatternLimitLevels(input) {
347
386
  return okLevels({ price: high.price, label: 'flag upper retest' }, { price: low.price, label: 'flag low pattern fail' }, 'post_breakout_retest', 'retest', 'long');
348
387
  }
349
388
  const entry = { price: low.price, label: 'flag low bounce' };
350
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
351
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of flag support entry.` };
389
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'flag support entry', proximityOptions);
390
+ if (proximityFail) {
391
+ return proximityFail;
352
392
  }
353
393
  return okLevels(entry, { price: low.price, label: 'flag low pattern fail' }, 'inside_pattern', 'bounce', 'long');
354
394
  }
@@ -363,8 +403,9 @@ export function resolvePatternLimitLevels(input) {
363
403
  return okLevels({ price: low.price, label: 'flag lower retest' }, { price: high.price, label: 'flag high pattern fail' }, 'post_breakout_retest', 'retest', 'short');
364
404
  }
365
405
  const entry = { price: high.price, label: 'flag upper bounce' };
366
- if (!withinEntryProximity(lastClose, entry.price, entryProximityPct)) {
367
- return { ok: false, unclearReason: `Price not within ${entryProximityPct}% of flag resistance entry.` };
406
+ const proximityFail = failUnlessWithinEntryProximity(lastClose, entry.price, entryProximityPct, 'flag resistance entry', proximityOptions);
407
+ if (proximityFail) {
408
+ return proximityFail;
368
409
  }
369
410
  return okLevels(entry, { price: high.price, label: 'flag high pattern fail' }, 'inside_pattern', 'bounce', 'short');
370
411
  }