@continuumdao/continuum-node-sdk 1.3.37 → 1.3.38

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 (196) hide show
  1. package/dist/agent-host-catalog.json +9 -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 +33 -4
  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 +47 -1
  7. package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
  8. package/dist/core/chart/analysis/analyze-tools.d.ts +167 -11
  9. package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -1
  10. package/dist/core/chart/analysis/analyze-tools.js +47 -55
  11. package/dist/core/chart/analysis/analyze-tools.js.map +1 -1
  12. package/dist/core/chart/analysis/divergence/detect.d.ts +21 -0
  13. package/dist/core/chart/analysis/divergence/detect.d.ts.map +1 -0
  14. package/dist/core/chart/analysis/divergence/detect.js +223 -0
  15. package/dist/core/chart/analysis/divergence/detect.js.map +1 -0
  16. package/dist/core/chart/analysis/divergence/index.d.ts +4 -0
  17. package/dist/core/chart/analysis/divergence/index.d.ts.map +1 -0
  18. package/dist/core/chart/analysis/divergence/index.js +4 -0
  19. package/dist/core/chart/analysis/divergence/index.js.map +1 -0
  20. package/dist/core/chart/analysis/divergence/peaks.d.ts +11 -0
  21. package/dist/core/chart/analysis/divergence/peaks.d.ts.map +1 -0
  22. package/dist/core/chart/analysis/divergence/peaks.js +108 -0
  23. package/dist/core/chart/analysis/divergence/peaks.js.map +1 -0
  24. package/dist/core/chart/analysis/divergence/types.d.ts +30 -0
  25. package/dist/core/chart/analysis/divergence/types.d.ts.map +1 -0
  26. package/dist/core/chart/analysis/divergence/types.js +2 -0
  27. package/dist/core/chart/analysis/divergence/types.js.map +1 -0
  28. package/dist/core/chart/analysis/divergence-analyze-tools.d.ts +239 -0
  29. package/dist/core/chart/analysis/divergence-analyze-tools.d.ts.map +1 -0
  30. package/dist/core/chart/analysis/divergence-analyze-tools.js +283 -0
  31. package/dist/core/chart/analysis/divergence-analyze-tools.js.map +1 -0
  32. package/dist/core/chart/analysis/divergence-drawings-tools.d.ts +457 -0
  33. package/dist/core/chart/analysis/divergence-drawings-tools.d.ts.map +1 -0
  34. package/dist/core/chart/analysis/divergence-drawings-tools.js +380 -0
  35. package/dist/core/chart/analysis/divergence-drawings-tools.js.map +1 -0
  36. package/dist/core/chart/analysis/divergence-highlight.d.ts +19 -0
  37. package/dist/core/chart/analysis/divergence-highlight.d.ts.map +1 -0
  38. package/dist/core/chart/analysis/divergence-highlight.js +39 -0
  39. package/dist/core/chart/analysis/divergence-highlight.js.map +1 -0
  40. package/dist/core/chart/analysis/donchian-analyze-tools.d.ts +113 -0
  41. package/dist/core/chart/analysis/donchian-analyze-tools.d.ts.map +1 -0
  42. package/dist/core/chart/analysis/donchian-analyze-tools.js +218 -0
  43. package/dist/core/chart/analysis/donchian-analyze-tools.js.map +1 -0
  44. package/dist/core/chart/analysis/donchian-highlight.d.ts +31 -0
  45. package/dist/core/chart/analysis/donchian-highlight.d.ts.map +1 -0
  46. package/dist/core/chart/analysis/donchian-highlight.js +41 -0
  47. package/dist/core/chart/analysis/donchian-highlight.js.map +1 -0
  48. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +33 -0
  49. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -1
  50. package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts +124 -0
  51. package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts.map +1 -0
  52. package/dist/core/chart/analysis/ichimoku-analyze-tools.js +243 -0
  53. package/dist/core/chart/analysis/ichimoku-analyze-tools.js.map +1 -0
  54. package/dist/core/chart/analysis/ichimoku-highlight.d.ts +36 -0
  55. package/dist/core/chart/analysis/ichimoku-highlight.d.ts.map +1 -0
  56. package/dist/core/chart/analysis/ichimoku-highlight.js +40 -0
  57. package/dist/core/chart/analysis/ichimoku-highlight.js.map +1 -0
  58. package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts +2 -6
  59. package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts.map +1 -1
  60. package/dist/core/chart/analysis/key-fib-drawings-tools.js +5 -17
  61. package/dist/core/chart/analysis/key-fib-drawings-tools.js.map +1 -1
  62. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts +3 -12
  63. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts.map +1 -1
  64. package/dist/core/chart/analysis/key-level-drawings-shared.js +6 -36
  65. package/dist/core/chart/analysis/key-level-drawings-shared.js.map +1 -1
  66. package/dist/core/chart/analysis/key-level-menu-summary.d.ts +15 -22
  67. package/dist/core/chart/analysis/key-level-menu-summary.d.ts.map +1 -1
  68. package/dist/core/chart/analysis/key-level-menu-summary.js +63 -124
  69. package/dist/core/chart/analysis/key-level-menu-summary.js.map +1 -1
  70. package/dist/core/chart/analysis/key-levels-dataset.d.ts +1 -0
  71. package/dist/core/chart/analysis/key-levels-dataset.d.ts.map +1 -1
  72. package/dist/core/chart/analysis/key-levels-dataset.js +4 -7
  73. package/dist/core/chart/analysis/key-levels-dataset.js.map +1 -1
  74. package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts +112 -0
  75. package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts.map +1 -0
  76. package/dist/core/chart/analysis/supertrend-analyze-tools.js +214 -0
  77. package/dist/core/chart/analysis/supertrend-analyze-tools.js.map +1 -0
  78. package/dist/core/chart/analysis/supertrend-highlight.d.ts +25 -0
  79. package/dist/core/chart/analysis/supertrend-highlight.d.ts.map +1 -0
  80. package/dist/core/chart/analysis/supertrend-highlight.js +37 -0
  81. package/dist/core/chart/analysis/supertrend-highlight.js.map +1 -0
  82. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
  83. package/dist/core/chart/analysis/trade-setups/build-trade.js +23 -5
  84. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
  85. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts +78 -0
  86. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts.map +1 -0
  87. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js +184 -0
  88. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js.map +1 -0
  89. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts +133 -0
  90. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts.map +1 -0
  91. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js +419 -0
  92. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js.map +1 -0
  93. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts +154 -0
  94. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts.map +1 -0
  95. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js +396 -0
  96. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js.map +1 -0
  97. package/dist/core/chart/analysis/trade-setups/index.d.ts +5 -0
  98. package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
  99. package/dist/core/chart/analysis/trade-setups/index.js +5 -0
  100. package/dist/core/chart/analysis/trade-setups/index.js.map +1 -1
  101. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +7 -41
  102. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -1
  103. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +33 -235
  104. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -1
  105. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +2 -8
  106. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -1
  107. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +0 -27
  108. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -1
  109. package/dist/core/chart/analysis/trade-setups/shared.d.ts +1 -1
  110. package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
  111. package/dist/core/chart/analysis/trade-setups/shared.js +10 -0
  112. package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
  113. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts +119 -0
  114. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts.map +1 -0
  115. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js +301 -0
  116. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js.map +1 -0
  117. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts +34 -0
  118. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts.map +1 -1
  119. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js +43 -0
  120. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js.map +1 -1
  121. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +15 -0
  122. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
  123. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +89 -0
  124. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
  125. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +32 -0
  126. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
  127. package/dist/core/chart/analysis/trade-setups/trade-idea.js +32 -0
  128. package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
  129. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts +2 -2
  130. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts.map +1 -1
  131. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js +2 -6
  132. package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js.map +1 -1
  133. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts +42 -8
  134. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts.map +1 -1
  135. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js +72 -17
  136. package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js.map +1 -1
  137. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts +89 -0
  138. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts.map +1 -0
  139. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js +195 -0
  140. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js.map +1 -0
  141. package/dist/core/chart/analysis/z-score-analyze-tools.d.ts +111 -0
  142. package/dist/core/chart/analysis/z-score-analyze-tools.d.ts.map +1 -0
  143. package/dist/core/chart/analysis/z-score-analyze-tools.js +240 -0
  144. package/dist/core/chart/analysis/z-score-analyze-tools.js.map +1 -0
  145. package/dist/core/chart/analysis/z-score-highlight.d.ts +29 -0
  146. package/dist/core/chart/analysis/z-score-highlight.d.ts.map +1 -0
  147. package/dist/core/chart/analysis/z-score-highlight.js +39 -0
  148. package/dist/core/chart/analysis/z-score-highlight.js.map +1 -0
  149. package/dist/core/chart/customization-catalog.d.ts.map +1 -1
  150. package/dist/core/chart/customization-catalog.js +36 -0
  151. package/dist/core/chart/customization-catalog.js.map +1 -1
  152. package/dist/core/chart/display-downsample.d.ts.map +1 -1
  153. package/dist/core/chart/display-downsample.js +4 -14
  154. package/dist/core/chart/display-downsample.js.map +1 -1
  155. package/dist/core/chart/overlay-schemas.d.ts +496 -0
  156. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  157. package/dist/core/chart/overlay-schemas.js +137 -0
  158. package/dist/core/chart/overlay-schemas.js.map +1 -1
  159. package/dist/core/chart/overlays.d.ts +2 -0
  160. package/dist/core/chart/overlays.d.ts.map +1 -1
  161. package/dist/core/chart/overlays.js +620 -2
  162. package/dist/core/chart/overlays.js.map +1 -1
  163. package/dist/core/chart/prepare-from-rows.d.ts +143 -0
  164. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  165. package/dist/core/chart/schemas.d.ts +491 -0
  166. package/dist/core/chart/schemas.d.ts.map +1 -1
  167. package/dist/core/coinmarketcap/schemas.d.ts +5 -5
  168. package/dist/mcp/agent-host-catalog.d.ts +1 -1
  169. package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
  170. package/dist/mcp/agent-host-catalog.js +1 -0
  171. package/dist/mcp/agent-host-catalog.js.map +1 -1
  172. package/dist/mcp/chart.d.ts.map +1 -1
  173. package/dist/mcp/chart.js +61 -2
  174. package/dist/mcp/chart.js.map +1 -1
  175. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  176. package/dist/mcp/deferred/tool-group-map.js +8 -0
  177. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  178. package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
  179. package/dist/mcp/ohlcv-session-wrapper.js +8 -0
  180. package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
  181. package/dist/mcp/resources/chart-analysis.md +9 -0
  182. package/dist/mcp/resources/chart.md +3 -0
  183. package/dist/mcp/trade-tools.d.ts.map +1 -1
  184. package/dist/mcp/trade-tools.js +2 -0
  185. package/dist/mcp/trade-tools.js.map +1 -1
  186. package/package.json +1 -1
  187. package/dist/core/agent/mcp-servers-catalog.d.ts +0 -15
  188. package/dist/core/agent/mcp-servers-catalog.d.ts.map +0 -1
  189. package/dist/core/agent/mcp-servers-catalog.js +0 -125
  190. package/dist/core/agent/mcp-servers-catalog.js.map +0 -1
  191. package/dist/core/agent/webhooks-catalog.d.ts +0 -10
  192. package/dist/core/agent/webhooks-catalog.d.ts.map +0 -1
  193. package/dist/core/agent/webhooks-catalog.js +0 -19
  194. package/dist/core/agent/webhooks-catalog.js.map +0 -1
  195. package/dist/mcp/resources/trade-defaults-skill.md +0 -69
  196. package/dist/mcp/ta/resources/indicators.md +0 -86
@@ -0,0 +1,396 @@
1
+ import { isFiniteTradePrice } from './shared.js';
2
+ import { tradeDeskConfig } from './trade-desk-defaults.js';
3
+ export const DEFAULT_ICHIMOKU_CONVERSION_PERIOD = 9;
4
+ export const DEFAULT_ICHIMOKU_BASE_PERIOD = 26;
5
+ export const DEFAULT_ICHIMOKU_SPAN_PERIOD = 52;
6
+ export const DEFAULT_ICHIMOKU_DISPLACEMENT = 26;
7
+ export const DEFAULT_ICHIMOKU_TARGET_ATR_MULTIPLE = 3;
8
+ export const DEFAULT_ICHIMOKU_CROSS_LOOKBACK = 5;
9
+ function withinPriceProximity(lastClose, entryPrice, proximityPct) {
10
+ if (!isFiniteTradePrice(lastClose) || !isFiniteTradePrice(entryPrice) || entryPrice === 0) {
11
+ return false;
12
+ }
13
+ return (Math.abs(lastClose - entryPrice) / Math.abs(entryPrice)) * 100 <= proximityPct;
14
+ }
15
+ function resolveTargetAtrMultiple(raw) {
16
+ if (raw != null && Number.isFinite(raw) && raw > 0) {
17
+ return raw;
18
+ }
19
+ return DEFAULT_ICHIMOKU_TARGET_ATR_MULTIPLE;
20
+ }
21
+ function cloudBounds(spanA, spanB) {
22
+ return { top: Math.max(spanA, spanB), bottom: Math.min(spanA, spanB) };
23
+ }
24
+ function cloudPositionOf(lastClose, top, bottom) {
25
+ if (lastClose > top) {
26
+ return 'above';
27
+ }
28
+ if (lastClose < bottom) {
29
+ return 'below';
30
+ }
31
+ return 'inside';
32
+ }
33
+ function tkStateOf(conversion, base) {
34
+ if (conversion > base) {
35
+ return 'bullish';
36
+ }
37
+ if (conversion < base) {
38
+ return 'bearish';
39
+ }
40
+ return 'flat';
41
+ }
42
+ /** Current-bar cloud uses spans from barIndex - displacement (classic plot alignment). */
43
+ export function currentCloudFromPoints(points, displacement) {
44
+ const idx = points.length - 1 - displacement;
45
+ if (idx < 0) {
46
+ return null;
47
+ }
48
+ const p = points[idx];
49
+ if (p == null || ![p.spanA, p.spanB].every(isFiniteTradePrice)) {
50
+ return null;
51
+ }
52
+ const bounds = cloudBounds(p.spanA, p.spanB);
53
+ return { spanA: p.spanA, spanB: p.spanB, top: bounds.top, bottom: bounds.bottom };
54
+ }
55
+ function findBarsSinceTkCross(points) {
56
+ let prevState = null;
57
+ let lastCrossAt = null;
58
+ for (let i = 0; i < points.length; i++) {
59
+ const p = points[i];
60
+ if (p == null || ![p.conversion, p.base].every(isFiniteTradePrice)) {
61
+ continue;
62
+ }
63
+ const state = tkStateOf(p.conversion, p.base);
64
+ if (prevState != null &&
65
+ prevState !== 'flat' &&
66
+ state !== 'flat' &&
67
+ state !== prevState) {
68
+ lastCrossAt = i;
69
+ }
70
+ prevState = state;
71
+ }
72
+ if (lastCrossAt == null) {
73
+ return null;
74
+ }
75
+ return points.length - 1 - lastCrossAt;
76
+ }
77
+ function atrTargetAndCloudStop(input) {
78
+ if (input.status !== 'clear' || (input.side !== 'long' && input.side !== 'short')) {
79
+ return {};
80
+ }
81
+ const invalidationPrice = input.side === 'long'
82
+ ? Math.min(input.cloudBottom, input.base)
83
+ : Math.max(input.cloudTop, input.base);
84
+ const invalidationLabel = input.side === 'long' ? 'Below cloud / kijun' : 'Above cloud / kijun';
85
+ const atr = input.atr;
86
+ const multiple = input.targetAtrMultiple;
87
+ let targetPrice;
88
+ let targetLabel;
89
+ if (input.entryPrice != null &&
90
+ isFiniteTradePrice(input.entryPrice) &&
91
+ atr != null &&
92
+ Number.isFinite(atr) &&
93
+ atr > 0) {
94
+ const distance = multiple * atr;
95
+ targetPrice =
96
+ input.side === 'long' ? input.entryPrice + distance : input.entryPrice - distance;
97
+ targetLabel = `${multiple}× ATR from entry`;
98
+ }
99
+ return {
100
+ ...(targetPrice != null && targetLabel ? { targetPrice, targetLabel } : {}),
101
+ ...(isFiniteTradePrice(invalidationPrice)
102
+ ? { invalidationPrice, invalidationLabel }
103
+ : {}),
104
+ };
105
+ }
106
+ export function buildTkCrossIchimokuSetup(input) {
107
+ if (![
108
+ input.lastClose,
109
+ input.conversion,
110
+ input.base,
111
+ input.cloudTop,
112
+ input.cloudBottom,
113
+ ].every(isFiniteTradePrice)) {
114
+ return null;
115
+ }
116
+ const desk = tradeDeskConfig({
117
+ entryProximityPct: input.entryProximityPct,
118
+ entryOffsetPct: input.entryOffsetPct,
119
+ invalidationOffsetPct: input.invalidationOffsetPct,
120
+ });
121
+ const targetAtrMultiple = resolveTargetAtrMultiple(input.targetAtrMultiple);
122
+ const atr = input.atr != null && Number.isFinite(input.atr) && input.atr > 0 ? input.atr : undefined;
123
+ const tkState = tkStateOf(input.conversion, input.base);
124
+ const cloudPosition = cloudPositionOf(input.lastClose, input.cloudTop, input.cloudBottom);
125
+ const lookback = input.crossLookback ?? DEFAULT_ICHIMOKU_CROSS_LOOKBACK;
126
+ const freshCross = input.barsSinceTkCross != null &&
127
+ input.barsSinceTkCross >= 0 &&
128
+ input.barsSinceTkCross <= lookback;
129
+ let side = 'neutral';
130
+ let status = 'unclear';
131
+ let confidence = 0.4;
132
+ let conditionalNote = 'No fresh Tenkan/Kijun cross with cloud alignment.';
133
+ let unclearReason = conditionalNote;
134
+ if (freshCross && tkState === 'bullish' && cloudPosition === 'above') {
135
+ side = 'long';
136
+ status = 'clear';
137
+ unclearReason = '';
138
+ confidence = input.barsSinceTkCross === 0 ? 0.6 : 0.54;
139
+ conditionalNote = 'Bullish TK cross with price above the cloud.';
140
+ }
141
+ else if (freshCross && tkState === 'bearish' && cloudPosition === 'below') {
142
+ side = 'short';
143
+ status = 'clear';
144
+ unclearReason = '';
145
+ confidence = input.barsSinceTkCross === 0 ? 0.6 : 0.54;
146
+ conditionalNote = 'Bearish TK cross with price below the cloud.';
147
+ }
148
+ else if (freshCross && tkState !== 'flat') {
149
+ side = tkState === 'bullish' ? 'long' : 'short';
150
+ unclearReason = `TK cross ${tkState} but price is ${cloudPosition} the cloud.`;
151
+ conditionalNote = unclearReason;
152
+ confidence = 0.42;
153
+ }
154
+ const entryPrice = status === 'clear' ? input.lastClose : undefined;
155
+ const entryLabel = status === 'clear' ? 'last close (TK cross)' : undefined;
156
+ const levels = atrTargetAndCloudStop({
157
+ side,
158
+ status,
159
+ entryPrice,
160
+ cloudTop: input.cloudTop,
161
+ cloudBottom: input.cloudBottom,
162
+ base: input.base,
163
+ atr,
164
+ targetAtrMultiple,
165
+ });
166
+ return {
167
+ status,
168
+ source: 'ichimoku',
169
+ strategy: 'tk_cross',
170
+ lastClose: input.lastClose,
171
+ conversion: input.conversion,
172
+ base: input.base,
173
+ cloudTop: input.cloudTop,
174
+ cloudBottom: input.cloudBottom,
175
+ spanA: input.spanA,
176
+ spanB: input.spanB,
177
+ conversionPeriod: input.conversionPeriod,
178
+ basePeriod: input.basePeriod,
179
+ spanPeriod: input.spanPeriod,
180
+ displacement: input.displacement,
181
+ tkState,
182
+ cloudPosition,
183
+ entryProximityPct: desk.entryProximityPct,
184
+ entryOffsetMode: 'bounce',
185
+ entryOffsetPct: desk.entryOffsetPct,
186
+ invalidationOffsetPct: desk.invalidationOffsetPct,
187
+ targetAtrMultiple,
188
+ setupPurposeCode: 'ichi-tk',
189
+ invalidated: false,
190
+ side,
191
+ barsSinceTkCross: input.barsSinceTkCross,
192
+ conditionalNote,
193
+ confidence,
194
+ ...(atr != null ? { atrAtLastBar: atr } : {}),
195
+ ...(entryPrice != null && entryLabel ? { entryPrice, entryLabel } : {}),
196
+ ...levels,
197
+ ...(unclearReason ? { unclearReason } : {}),
198
+ };
199
+ }
200
+ export function buildCloudIchimokuSetup(input) {
201
+ if (![
202
+ input.lastClose,
203
+ input.conversion,
204
+ input.base,
205
+ input.cloudTop,
206
+ input.cloudBottom,
207
+ ].every(isFiniteTradePrice)) {
208
+ return null;
209
+ }
210
+ const desk = tradeDeskConfig({
211
+ entryProximityPct: input.entryProximityPct,
212
+ entryOffsetPct: input.entryOffsetPct,
213
+ invalidationOffsetPct: input.invalidationOffsetPct,
214
+ });
215
+ const targetAtrMultiple = resolveTargetAtrMultiple(input.targetAtrMultiple);
216
+ const atr = input.atr != null && Number.isFinite(input.atr) && input.atr > 0 ? input.atr : undefined;
217
+ const tkState = tkStateOf(input.conversion, input.base);
218
+ const cloudPosition = cloudPositionOf(input.lastClose, input.cloudTop, input.cloudBottom);
219
+ const nearKijun = withinPriceProximity(input.lastClose, input.base, desk.entryProximityPct);
220
+ const nearCloudEdgeLong = withinPriceProximity(input.lastClose, input.cloudBottom, desk.entryProximityPct);
221
+ const nearCloudEdgeShort = withinPriceProximity(input.lastClose, input.cloudTop, desk.entryProximityPct);
222
+ let side = 'neutral';
223
+ let status = 'unclear';
224
+ let confidence = 0.4;
225
+ let conditionalNote = 'No Ichimoku cloud retest setup.';
226
+ let unclearReason = conditionalNote;
227
+ let entryPrice;
228
+ let entryLabel;
229
+ if (cloudPosition === 'above' && tkState !== 'bearish' && (nearKijun || nearCloudEdgeLong)) {
230
+ side = 'long';
231
+ status = 'clear';
232
+ unclearReason = '';
233
+ confidence = nearKijun ? 0.56 : 0.52;
234
+ entryPrice = nearKijun ? input.base : input.cloudBottom;
235
+ entryLabel = nearKijun ? 'Kijun retest' : 'Cloud top support';
236
+ conditionalNote = 'Price above cloud — retest of kijun/cloud support.';
237
+ }
238
+ else if (cloudPosition === 'below' &&
239
+ tkState !== 'bullish' &&
240
+ (nearKijun || nearCloudEdgeShort)) {
241
+ side = 'short';
242
+ status = 'clear';
243
+ unclearReason = '';
244
+ confidence = nearKijun ? 0.56 : 0.52;
245
+ entryPrice = nearKijun ? input.base : input.cloudTop;
246
+ entryLabel = nearKijun ? 'Kijun retest' : 'Cloud bottom resistance';
247
+ conditionalNote = 'Price below cloud — retest of kijun/cloud resistance.';
248
+ }
249
+ else if (cloudPosition === 'inside') {
250
+ unclearReason = 'Price inside the cloud — wait for break and retest.';
251
+ conditionalNote = unclearReason;
252
+ }
253
+ else {
254
+ unclearReason = `Price ${cloudPosition} cloud but not near kijun/cloud edge.`;
255
+ conditionalNote = unclearReason;
256
+ side = cloudPosition === 'above' ? 'long' : cloudPosition === 'below' ? 'short' : 'neutral';
257
+ }
258
+ const levels = atrTargetAndCloudStop({
259
+ side,
260
+ status,
261
+ entryPrice,
262
+ cloudTop: input.cloudTop,
263
+ cloudBottom: input.cloudBottom,
264
+ base: input.base,
265
+ atr,
266
+ targetAtrMultiple,
267
+ });
268
+ return {
269
+ status,
270
+ source: 'ichimoku',
271
+ strategy: 'cloud',
272
+ lastClose: input.lastClose,
273
+ conversion: input.conversion,
274
+ base: input.base,
275
+ cloudTop: input.cloudTop,
276
+ cloudBottom: input.cloudBottom,
277
+ spanA: input.spanA,
278
+ spanB: input.spanB,
279
+ conversionPeriod: input.conversionPeriod,
280
+ basePeriod: input.basePeriod,
281
+ spanPeriod: input.spanPeriod,
282
+ displacement: input.displacement,
283
+ tkState,
284
+ cloudPosition,
285
+ entryProximityPct: desk.entryProximityPct,
286
+ entryOffsetMode: 'retest',
287
+ entryOffsetPct: desk.entryOffsetPct,
288
+ invalidationOffsetPct: desk.invalidationOffsetPct,
289
+ targetAtrMultiple,
290
+ setupPurposeCode: 'ichi-cloud',
291
+ invalidated: false,
292
+ side,
293
+ barsSinceTkCross: input.barsSinceTkCross,
294
+ conditionalNote,
295
+ confidence,
296
+ ...(atr != null ? { atrAtLastBar: atr } : {}),
297
+ ...(entryPrice != null && entryLabel ? { entryPrice, entryLabel } : {}),
298
+ ...levels,
299
+ ...(unclearReason ? { unclearReason } : {}),
300
+ };
301
+ }
302
+ export function buildIchimokuTradeSetup(input) {
303
+ const { closes, points, displacement } = input;
304
+ if (closes.length < 2 || points.length !== closes.length) {
305
+ return null;
306
+ }
307
+ const lastIndex = closes.length - 1;
308
+ const lastClose = closes[lastIndex];
309
+ const current = points[lastIndex];
310
+ if (current == null) {
311
+ return null;
312
+ }
313
+ const cloud = currentCloudFromPoints(points, displacement);
314
+ if (cloud == null) {
315
+ return null;
316
+ }
317
+ const barsSinceTkCross = findBarsSinceTkCross(points);
318
+ const shared = {
319
+ lastClose,
320
+ conversion: current.conversion,
321
+ base: current.base,
322
+ cloudTop: cloud.top,
323
+ cloudBottom: cloud.bottom,
324
+ spanA: cloud.spanA,
325
+ spanB: cloud.spanB,
326
+ barsSinceTkCross,
327
+ conversionPeriod: input.conversionPeriod,
328
+ basePeriod: input.basePeriod,
329
+ spanPeriod: input.spanPeriod,
330
+ displacement,
331
+ entryProximityPct: input.entryProximityPct,
332
+ entryOffsetPct: input.entryOffsetPct,
333
+ invalidationOffsetPct: input.invalidationOffsetPct,
334
+ atr: input.atr,
335
+ targetAtrMultiple: input.targetAtrMultiple,
336
+ };
337
+ const tk = buildTkCrossIchimokuSetup(shared);
338
+ const cloudSetup = buildCloudIchimokuSetup(shared);
339
+ const primary = input.primaryStrategy ?? 'tk_cross';
340
+ if (primary === 'cloud') {
341
+ if (!cloudSetup) {
342
+ return tk;
343
+ }
344
+ return { ...cloudSetup, tkCrossAlternative: tk, cloudAlternative: null };
345
+ }
346
+ if (!tk) {
347
+ return cloudSetup;
348
+ }
349
+ return { ...tk, cloudAlternative: cloudSetup, tkCrossAlternative: null };
350
+ }
351
+ export function ichimokuTradeIdeaContextFromSetup(setup) {
352
+ return {
353
+ conversionPeriod: setup.conversionPeriod,
354
+ basePeriod: setup.basePeriod,
355
+ spanPeriod: setup.spanPeriod,
356
+ displacement: setup.displacement,
357
+ strategy: setup.strategy,
358
+ setupPurposeCode: setup.setupPurposeCode,
359
+ tkState: setup.tkState,
360
+ cloudPosition: setup.cloudPosition,
361
+ cloudTop: setup.cloudTop,
362
+ cloudBottom: setup.cloudBottom,
363
+ entryProximityPct: setup.entryProximityPct,
364
+ entryOffsetPct: setup.entryOffsetPct,
365
+ invalidationOffsetPct: setup.invalidationOffsetPct,
366
+ targetAtrMultiple: setup.targetAtrMultiple,
367
+ ...(setup.atrAtLastBar != null ? { atrAtLastBar: setup.atrAtLastBar } : {}),
368
+ };
369
+ }
370
+ export function normalizeIchimokuTradeSetup(setup) {
371
+ return {
372
+ status: setup.status,
373
+ side: setup.side,
374
+ confidence: setup.confidence,
375
+ lastClose: setup.lastClose,
376
+ entry: setup.status === 'clear' &&
377
+ setup.side !== 'neutral' &&
378
+ setup.entryPrice != null &&
379
+ isFiniteTradePrice(setup.entryPrice)
380
+ ? { price: setup.entryPrice, label: setup.entryLabel ?? 'Ichimoku entry' }
381
+ : undefined,
382
+ ...(setup.targetPrice != null && isFiniteTradePrice(setup.targetPrice)
383
+ ? { target: { price: setup.targetPrice, label: setup.targetLabel ?? 'Ichimoku target' } }
384
+ : {}),
385
+ ...(setup.invalidationPrice != null && isFiniteTradePrice(setup.invalidationPrice)
386
+ ? {
387
+ invalidation: {
388
+ price: setup.invalidationPrice,
389
+ label: setup.invalidationLabel ?? 'Ichimoku invalidation',
390
+ },
391
+ }
392
+ : {}),
393
+ unclearReason: setup.unclearReason,
394
+ };
395
+ }
396
+ //# sourceMappingURL=ichimoku-trade-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ichimoku-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/ichimoku-trade-setup.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,12 @@ export * from './trade-purpose-format.js';
7
7
  export * from './candlestick-trade-setup.js';
8
8
  export * from './key-levels-trade-setup.js';
9
9
  export * from './momentum-trade-setup.js';
10
+ export * from './divergence-trade-setup.js';
10
11
  export * from './bollinger-trade-setup.js';
12
+ export * from './donchian-trade-setup.js';
13
+ export * from './supertrend-trade-setup.js';
14
+ export * from './ichimoku-trade-setup.js';
15
+ export * from './z-score-trade-setup.js';
11
16
  export * from './trade-setup-selection.js';
12
17
  export * from './trade-idea.js';
13
18
  export * from './build-trade.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -7,7 +7,12 @@ export * from './trade-purpose-format.js';
7
7
  export * from './candlestick-trade-setup.js';
8
8
  export * from './key-levels-trade-setup.js';
9
9
  export * from './momentum-trade-setup.js';
10
+ export * from './divergence-trade-setup.js';
10
11
  export * from './bollinger-trade-setup.js';
12
+ export * from './donchian-trade-setup.js';
13
+ export * from './supertrend-trade-setup.js';
14
+ export * from './ichimoku-trade-setup.js';
15
+ export * from './z-score-trade-setup.js';
11
16
  export * from './trade-setup-selection.js';
12
17
  export * from './trade-idea.js';
13
18
  export * from './build-trade.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import type { KeyLevelFibPair, KeyLevelMenuEntry } from '../key-level-menu-summary.js';
2
- import type { EntryOffsetMode, PatternEntryPhase } from './pattern-limit-entry.js';
2
+ import type { EntryOffsetMode } from './pattern-limit-entry.js';
3
3
  import type { TradeSetupSide, TradeSetupStatus } from './shared.js';
4
4
  import { type EntryProximityMode } from './trade-desk-defaults.js';
5
- export type KeyLevelFibPriceRegime = 'inside_range' | 'above_range' | 'below_range';
6
- export type KeyLevelFibTargetSource = 'retrace_618' | 'range_leg' | 'fib_extension';
5
+ /** Valid strongest-bracket Fib setups always place last close between the legs. */
6
+ export type KeyLevelFibPriceRegime = 'inside_range';
7
+ export type KeyLevelFibTargetSource = 'retrace_618' | 'range_leg';
7
8
  export type KeyLevelFibInsideSubRegime = 'upper_half' | 'lower_half';
8
9
  export type KeyLevelFibSideVariant = {
9
10
  side: TradeSetupSide;
@@ -15,41 +16,9 @@ export type KeyLevelFibSideVariant = {
15
16
  invalidationPrice?: number;
16
17
  invalidationLabel?: string;
17
18
  };
18
- export type KeyLevelFibBreakRetestAlternative = {
19
- status: TradeSetupStatus;
20
- framing: 'break';
21
- entryPhase: PatternEntryPhase;
22
- entryOffsetMode: EntryOffsetMode;
23
- setupPurposeCode: string;
24
- brokenLevelNumber: number;
25
- brokenLevelKind: 'support' | 'resistance';
26
- entryPrice: number;
27
- entryLabel: string;
28
- targetPrice?: number;
29
- targetLabel?: string;
30
- targetSource?: KeyLevelFibTargetSource;
31
- fibPairNumber: number;
32
- invalidationPrice?: number;
33
- invalidationLabel?: string;
34
- confidence: number;
35
- higherTimeframeAdvisory?: string;
36
- unclearReason?: string;
37
- entryProximityPct: number;
38
- entryProximityMode?: EntryProximityMode;
39
- atrAtLastBar?: number;
40
- entryOffsetPct: number;
41
- invalidationOffsetPct: number;
42
- alternateBreakCandidates: Array<{
43
- levelNumber: number;
44
- kind: 'support' | 'resistance';
45
- strength: number;
46
- side: TradeSetupSide;
47
- selectionHint: 'strongest' | 'most_recent' | 'nearest_retest';
48
- }>;
49
- };
50
19
  export type KeyLevelFibRetraceTradeSetup = {
51
20
  status: TradeSetupStatus;
52
- source: 'concentric_range';
21
+ source: 'strongest_bracket';
53
22
  priceRegime: KeyLevelFibPriceRegime;
54
23
  /** When true, Fib 0 = range high and Fib 1 = range low. */
55
24
  fibRangeInverted?: boolean;
@@ -59,7 +28,7 @@ export type KeyLevelFibRetraceTradeSetup = {
59
28
  long: KeyLevelFibSideVariant;
60
29
  short: KeyLevelFibSideVariant;
61
30
  };
62
- framing: 'retrace' | 'break';
31
+ framing: 'retrace';
63
32
  entryOffsetMode: EntryOffsetMode;
64
33
  entryProximityPct: number;
65
34
  entryProximityMode?: EntryProximityMode;
@@ -67,7 +36,6 @@ export type KeyLevelFibRetraceTradeSetup = {
67
36
  entryOffsetPct: number;
68
37
  invalidationOffsetPct: number;
69
38
  fibPairNumber: number;
70
- concentricRank: number;
71
39
  lowLevelNumber: number;
72
40
  highLevelNumber: number;
73
41
  low: number;
@@ -86,9 +54,7 @@ export type KeyLevelFibRetraceTradeSetup = {
86
54
  invalidationLabel?: string;
87
55
  setupPurposeCode: string;
88
56
  confidence: number;
89
- higherTimeframeAdvisory?: string;
90
57
  unclearReason?: string;
91
- breakRetestAlternative?: KeyLevelFibBreakRetestAlternative | null;
92
58
  };
93
59
  /** Inverted Fib 0.618 (0 = high, 1 = low). */
94
60
  export declare function invertedFib618(low: number, high: number): number;
@@ -100,7 +66,6 @@ export declare function buildKeyLevelFibRetraceTradeSetup(input: {
100
66
  fibPairs: KeyLevelFibPair[];
101
67
  bars?: Record<string, unknown>[];
102
68
  minConfidence?: number;
103
- breakMinConfidence?: number;
104
69
  entryProximityPct?: number;
105
70
  entryProximityMode?: EntryProximityMode;
106
71
  entryProximityAtrPeriod?: number;
@@ -109,5 +74,6 @@ export declare function buildKeyLevelFibRetraceTradeSetup(input: {
109
74
  /** trade-defaults skill may prefer long over the desk default short (upper half). */
110
75
  defaultSidePreference?: 'long' | 'short';
111
76
  fibPairNumber?: number;
77
+ fibKeyLevelMinConfidence?: number;
112
78
  }): KeyLevelFibRetraceTradeSetup | null;
113
79
  //# sourceMappingURL=key-level-fib-retrace-trade-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-level-fib-retrace-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAQrF,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAIlE,OAAO,EAGN,KAAK,kBAAkB,EAGvB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,WAAW,GAAG,eAAe,CAAC;AAEpF,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,YAAY,CAAC;AAErE,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,SAAS,GAAG,YAAY,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,KAAK,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,cAAc,CAAC;QACrB,aAAa,EAAE,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;KAC9D,CAAC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,sBAAsB,CAAC;IACpC,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE;QAAC,IAAI,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,sBAAsB,CAAA;KAAC,CAAC;IAC7E,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC;CAClE,CAAC;AAeF,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhE;AA4RD,8EAA8E;AAC9E,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,4BAA4B,EACnC,IAAI,EAAE,MAAM,GAAG,OAAO,GACpB,4BAA4B,CAyB9B;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,4BAA4B,GAAG,IAAI,CAmOtC"}
1
+ {"version":3,"file":"key-level-fib-retrace-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.ts"],"names":[],"mappings":"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"}