@continuumdao/continuum-node-sdk 1.3.28 → 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.
- package/dist/agent-host-catalog.json +1 -0
- package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-agent-view.js +17 -0
- package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.js +8 -0
- package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
- package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts +101 -0
- package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/bollinger-analyze-tools.js +289 -0
- package/dist/core/chart/analysis/bollinger-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/bollinger-highlight.d.ts +29 -0
- package/dist/core/chart/analysis/bollinger-highlight.d.ts.map +1 -0
- package/dist/core/chart/analysis/bollinger-highlight.js +39 -0
- package/dist/core/chart/analysis/bollinger-highlight.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts +77 -0
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js +163 -0
- package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +2 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.js +17 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts +3 -3
- package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js +12 -14
- package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts +7 -1
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js +24 -2
- package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.d.ts +3 -0
- package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.js +32 -0
- package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/index.d.ts +1 -0
- package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/index.js +1 -0
- package/dist/core/chart/analysis/trade-setups/index.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +7 -0
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +30 -4
- package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +5 -0
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +14 -2
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts +10 -1
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js +75 -34
- package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.d.ts +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/shared.js +2 -0
- package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +8 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +9 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts +9 -5
- package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js +24 -8
- package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +10 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +24 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +7 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea.js +8 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
- package/dist/core/chart/display-downsample.d.ts +1 -1
- package/dist/core/chart/display-downsample.d.ts.map +1 -1
- package/dist/core/chart/display-downsample.js +21 -0
- package/dist/core/chart/display-downsample.js.map +1 -1
- package/dist/core/chart/overlay-schemas.d.ts +3 -0
- package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
- package/dist/core/chart/overlay-schemas.js +2 -0
- package/dist/core/chart/overlay-schemas.js.map +1 -1
- package/dist/core/chart/overlays.d.ts.map +1 -1
- package/dist/core/chart/overlays.js +21 -0
- package/dist/core/chart/overlays.js.map +1 -1
- package/dist/core/chart/prepare-core.d.ts.map +1 -1
- package/dist/core/chart/prepare-core.js +20 -1
- package/dist/core/chart/prepare-core.js.map +1 -1
- package/dist/core/chart/prepare-from-rows.d.ts +2 -0
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/schemas.d.ts +9 -0
- package/dist/core/chart/schemas.d.ts.map +1 -1
- package/dist/core/chart/schemas.js +1 -1
- package/dist/core/chart/schemas.js.map +1 -1
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +7 -0
- package/dist/mcp/chart.js.map +1 -1
- package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
- package/dist/mcp/deferred/tool-group-map.js +1 -0
- package/dist/mcp/deferred/tool-group-map.js.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.js +1 -0
- package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
- package/dist/mcp/resources/chart-analysis.md +4 -1
- package/package.json +1 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { EntryOffsetMode } from './pattern-limit-entry.js';
|
|
2
|
+
import type { TradeSetupSide, TradeSetupStatus } from './shared.js';
|
|
3
|
+
export declare const DEFAULT_BOLLINGER_ENTRY_PROXIMITY_PCT = 5;
|
|
4
|
+
export type BollingerTradeSetup = {
|
|
5
|
+
status: TradeSetupStatus;
|
|
6
|
+
source: 'bollinger_bands';
|
|
7
|
+
lastClose: number;
|
|
8
|
+
upper: number;
|
|
9
|
+
middle: number;
|
|
10
|
+
lower: number;
|
|
11
|
+
bandWidth: number;
|
|
12
|
+
percentB: number;
|
|
13
|
+
period: number;
|
|
14
|
+
stdDev: number;
|
|
15
|
+
entryProximityPct: number;
|
|
16
|
+
entryOffsetMode: EntryOffsetMode;
|
|
17
|
+
entryOffsetPct: number;
|
|
18
|
+
invalidationOffsetPct: number;
|
|
19
|
+
setupPurposeCode: string;
|
|
20
|
+
invalidated: boolean;
|
|
21
|
+
side: TradeSetupSide;
|
|
22
|
+
entryPrice?: number;
|
|
23
|
+
entryLabel?: string;
|
|
24
|
+
targetPrice?: number;
|
|
25
|
+
targetLabel?: string;
|
|
26
|
+
invalidationPrice?: number;
|
|
27
|
+
invalidationLabel?: string;
|
|
28
|
+
conditionalNote: string;
|
|
29
|
+
confidence: number;
|
|
30
|
+
unclearReason?: string;
|
|
31
|
+
};
|
|
32
|
+
export declare function withinBandProximity(lastClose: number, entryBand: number, bandWidth: number, proximityPct: number): boolean;
|
|
33
|
+
export declare function buildBollingerTradeSetup(input: {
|
|
34
|
+
lastClose: number;
|
|
35
|
+
upper: number;
|
|
36
|
+
middle: number;
|
|
37
|
+
lower: number;
|
|
38
|
+
period: number;
|
|
39
|
+
stdDev: number;
|
|
40
|
+
entryProximityPct?: number;
|
|
41
|
+
}): BollingerTradeSetup | null;
|
|
42
|
+
export type BollingerTradeIdeaContext = {
|
|
43
|
+
percentB: number;
|
|
44
|
+
bandWidth: number;
|
|
45
|
+
bandWidthPct?: number;
|
|
46
|
+
invalidated: boolean;
|
|
47
|
+
setupPurposeCode: string;
|
|
48
|
+
entryProximityPct: number;
|
|
49
|
+
entryOffsetPct: number;
|
|
50
|
+
invalidationOffsetPct: number;
|
|
51
|
+
period: number;
|
|
52
|
+
stdDev: number;
|
|
53
|
+
middle: number;
|
|
54
|
+
upper: number;
|
|
55
|
+
lower: number;
|
|
56
|
+
};
|
|
57
|
+
export declare function bollingerTradeIdeaContextFromSetup(setup: BollingerTradeSetup): BollingerTradeIdeaContext;
|
|
58
|
+
export declare function normalizeBollingerTradeSetup(setup: BollingerTradeSetup): {
|
|
59
|
+
unclearReason: string | undefined;
|
|
60
|
+
invalidation?: {
|
|
61
|
+
price: number;
|
|
62
|
+
label: string;
|
|
63
|
+
} | undefined;
|
|
64
|
+
target?: {
|
|
65
|
+
price: number;
|
|
66
|
+
label: string;
|
|
67
|
+
} | undefined;
|
|
68
|
+
status: TradeSetupStatus;
|
|
69
|
+
side: TradeSetupSide;
|
|
70
|
+
confidence: number;
|
|
71
|
+
lastClose: number;
|
|
72
|
+
entry: {
|
|
73
|
+
price: number;
|
|
74
|
+
label: string;
|
|
75
|
+
} | undefined;
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=bollinger-trade-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bollinger-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/bollinger-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAIlE,eAAO,MAAM,qCAAqC,IAAI,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAClB,OAAO,CAMT;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,mBAAmB,GAAG,IAAI,CAmH7B;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,kCAAkC,CACjD,KAAK,EAAE,mBAAmB,GACxB,yBAAyB,CAoB3B;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;EA0BtE"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { isFiniteTradePrice } from './shared.js';
|
|
2
|
+
import { tradeDeskDefaultPcts } from './trade-desk-defaults.js';
|
|
3
|
+
export const DEFAULT_BOLLINGER_ENTRY_PROXIMITY_PCT = 5;
|
|
4
|
+
export function withinBandProximity(lastClose, entryBand, bandWidth, proximityPct) {
|
|
5
|
+
if (!isFiniteTradePrice(lastClose) || !isFiniteTradePrice(entryBand) || bandWidth <= 0) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
const threshold = bandWidth * (proximityPct / 100);
|
|
9
|
+
return Math.abs(lastClose - entryBand) <= threshold;
|
|
10
|
+
}
|
|
11
|
+
export function buildBollingerTradeSetup(input) {
|
|
12
|
+
const close = input.lastClose;
|
|
13
|
+
const upper = input.upper;
|
|
14
|
+
const middle = input.middle;
|
|
15
|
+
const lower = input.lower;
|
|
16
|
+
if (!isFiniteTradePrice(close) ||
|
|
17
|
+
!isFiniteTradePrice(upper) ||
|
|
18
|
+
!isFiniteTradePrice(middle) ||
|
|
19
|
+
!isFiniteTradePrice(lower) ||
|
|
20
|
+
upper <= lower) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const bandWidth = upper - lower;
|
|
24
|
+
const percentB = bandWidth > 0 ? (close - lower) / bandWidth : 0.5;
|
|
25
|
+
const desk = tradeDeskDefaultPcts();
|
|
26
|
+
const entryProximityPct = input.entryProximityPct ?? DEFAULT_BOLLINGER_ENTRY_PROXIMITY_PCT;
|
|
27
|
+
const middleEps = bandWidth * 0.001;
|
|
28
|
+
let side = 'neutral';
|
|
29
|
+
let status = 'unclear';
|
|
30
|
+
let invalidated = false;
|
|
31
|
+
let confidence = 0.4;
|
|
32
|
+
let conditionalNote = 'Price at the Bollinger middle — wait for a fade setup toward an outer band.';
|
|
33
|
+
let unclearReason = 'No directional Bollinger fade — price is near the middle band.';
|
|
34
|
+
if (close > middle + middleEps) {
|
|
35
|
+
side = 'short';
|
|
36
|
+
conditionalNote =
|
|
37
|
+
'Price above middle band — conditional short fade at upper band toward lower band.';
|
|
38
|
+
if (close > upper) {
|
|
39
|
+
invalidated = true;
|
|
40
|
+
unclearReason = 'Invalidated: price closed above upper Bollinger band.';
|
|
41
|
+
}
|
|
42
|
+
else if (withinBandProximity(close, upper, bandWidth, entryProximityPct)) {
|
|
43
|
+
status = 'clear';
|
|
44
|
+
unclearReason = '';
|
|
45
|
+
confidence = 0.52;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
unclearReason = `Price not within ${entryProximityPct}% of upper band (band-width proximity) — wait for fade entry.`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (close < middle - middleEps) {
|
|
52
|
+
side = 'long';
|
|
53
|
+
conditionalNote =
|
|
54
|
+
'Price below middle band — conditional long fade at lower band toward upper band.';
|
|
55
|
+
if (close < lower) {
|
|
56
|
+
invalidated = true;
|
|
57
|
+
unclearReason = 'Invalidated: price closed below lower Bollinger band.';
|
|
58
|
+
}
|
|
59
|
+
else if (withinBandProximity(close, lower, bandWidth, entryProximityPct)) {
|
|
60
|
+
status = 'clear';
|
|
61
|
+
unclearReason = '';
|
|
62
|
+
confidence = 0.52;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
unclearReason = `Price not within ${entryProximityPct}% of lower band (band-width proximity) — wait for fade entry.`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const entryPrice = status === 'clear' && side === 'short'
|
|
69
|
+
? upper
|
|
70
|
+
: status === 'clear' && side === 'long'
|
|
71
|
+
? lower
|
|
72
|
+
: undefined;
|
|
73
|
+
const entryLabel = side === 'short' ? 'upper band' : side === 'long' ? 'lower band' : undefined;
|
|
74
|
+
const targetPrice = status === 'clear' && side === 'short' ? lower : status === 'clear' && side === 'long' ? upper : undefined;
|
|
75
|
+
const targetLabel = side === 'short' ? 'lower band' : side === 'long' ? 'upper band' : undefined;
|
|
76
|
+
const invalidationPrice = status === 'clear' && side === 'short'
|
|
77
|
+
? upper
|
|
78
|
+
: status === 'clear' && side === 'long'
|
|
79
|
+
? lower
|
|
80
|
+
: undefined;
|
|
81
|
+
const invalidationLabel = side === 'short' ? 'above upper band' : side === 'long' ? 'below lower band' : undefined;
|
|
82
|
+
if (invalidated) {
|
|
83
|
+
status = 'unclear';
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
status,
|
|
87
|
+
source: 'bollinger_bands',
|
|
88
|
+
lastClose: close,
|
|
89
|
+
upper,
|
|
90
|
+
middle,
|
|
91
|
+
lower,
|
|
92
|
+
bandWidth,
|
|
93
|
+
percentB,
|
|
94
|
+
period: input.period,
|
|
95
|
+
stdDev: input.stdDev,
|
|
96
|
+
entryProximityPct,
|
|
97
|
+
entryOffsetMode: 'bounce',
|
|
98
|
+
entryOffsetPct: desk.entryOffsetPct,
|
|
99
|
+
invalidationOffsetPct: desk.invalidationOffsetPct,
|
|
100
|
+
setupPurposeCode: 'bb-fade',
|
|
101
|
+
invalidated,
|
|
102
|
+
side,
|
|
103
|
+
conditionalNote,
|
|
104
|
+
confidence,
|
|
105
|
+
...(entryPrice != null && entryLabel
|
|
106
|
+
? { entryPrice, entryLabel }
|
|
107
|
+
: {}),
|
|
108
|
+
...(targetPrice != null && targetLabel
|
|
109
|
+
? { targetPrice, targetLabel }
|
|
110
|
+
: {}),
|
|
111
|
+
...(invalidationPrice != null && invalidationLabel
|
|
112
|
+
? { invalidationPrice, invalidationLabel }
|
|
113
|
+
: {}),
|
|
114
|
+
...(unclearReason ? { unclearReason } : {}),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export function bollingerTradeIdeaContextFromSetup(setup) {
|
|
118
|
+
const bandWidthPct = setup.middle > 0 && Number.isFinite(setup.middle)
|
|
119
|
+
? (setup.bandWidth / setup.middle) * 100
|
|
120
|
+
: undefined;
|
|
121
|
+
return {
|
|
122
|
+
percentB: setup.percentB,
|
|
123
|
+
bandWidth: setup.bandWidth,
|
|
124
|
+
...(bandWidthPct != null ? { bandWidthPct } : {}),
|
|
125
|
+
invalidated: setup.invalidated,
|
|
126
|
+
setupPurposeCode: setup.setupPurposeCode,
|
|
127
|
+
entryProximityPct: setup.entryProximityPct,
|
|
128
|
+
entryOffsetPct: setup.entryOffsetPct,
|
|
129
|
+
invalidationOffsetPct: setup.invalidationOffsetPct,
|
|
130
|
+
period: setup.period,
|
|
131
|
+
stdDev: setup.stdDev,
|
|
132
|
+
middle: setup.middle,
|
|
133
|
+
upper: setup.upper,
|
|
134
|
+
lower: setup.lower,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export function normalizeBollingerTradeSetup(setup) {
|
|
138
|
+
return {
|
|
139
|
+
status: setup.status,
|
|
140
|
+
side: setup.side,
|
|
141
|
+
confidence: setup.confidence,
|
|
142
|
+
lastClose: setup.lastClose,
|
|
143
|
+
entry: setup.status === 'clear' &&
|
|
144
|
+
setup.side !== 'neutral' &&
|
|
145
|
+
setup.entryPrice != null &&
|
|
146
|
+
isFiniteTradePrice(setup.entryPrice)
|
|
147
|
+
? { price: setup.entryPrice, label: setup.entryLabel ?? 'band entry' }
|
|
148
|
+
: undefined,
|
|
149
|
+
...(setup.targetPrice != null && isFiniteTradePrice(setup.targetPrice)
|
|
150
|
+
? { target: { price: setup.targetPrice, label: setup.targetLabel ?? 'opposite band' } }
|
|
151
|
+
: {}),
|
|
152
|
+
...(setup.invalidationPrice != null && isFiniteTradePrice(setup.invalidationPrice)
|
|
153
|
+
? {
|
|
154
|
+
invalidation: {
|
|
155
|
+
price: setup.invalidationPrice,
|
|
156
|
+
label: setup.invalidationLabel ?? 'band breach',
|
|
157
|
+
},
|
|
158
|
+
}
|
|
159
|
+
: {}),
|
|
160
|
+
unclearReason: setup.unclearReason,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=bollinger-trade-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bollinger-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/bollinger-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { NodeSdkConfig } from '../../../../config/schema.js';
|
|
2
2
|
import type { SdkResult } from '../../../result.js';
|
|
3
3
|
import type { DefiProtocolContext } from '../../../../mcp/defi/context.js';
|
|
4
|
-
import type { EntryOffsetMode } from './pattern-limit-entry.js';
|
|
4
|
+
import type { EntryOffsetMode, EntryProximityMode } from './pattern-limit-entry.js';
|
|
5
5
|
import type { TradeIdea } from './trade-idea.js';
|
|
6
6
|
export type BuildTradeProtocolId = 'hyperliquid' | 'gmx' | 'uniswap';
|
|
7
7
|
export type BuildTradeFromTradeIdeaInput = {
|
|
@@ -14,6 +14,7 @@ export type BuildTradeFromTradeIdeaInput = {
|
|
|
14
14
|
entryOffsetPct?: number;
|
|
15
15
|
invalidationOffsetPct?: number;
|
|
16
16
|
entryProximityPct?: number;
|
|
17
|
+
entryProximityMode?: EntryProximityMode;
|
|
17
18
|
szHuman?: string;
|
|
18
19
|
sizeUsdHuman?: string;
|
|
19
20
|
collateralToken?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-trade.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/build-trade.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AAEzE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"build-trade.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/build-trade.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,17 @@ const DEFAULT_CHAIN_BY_PROTOCOL = {
|
|
|
10
10
|
};
|
|
11
11
|
const HYPERLIQUID_LIMIT_TOOL = 'ctm_hyperliquid_build_limit_order_multisign';
|
|
12
12
|
const GMX_INCREASE_TOOL = 'ctm_gmx_build_increase_multisign';
|
|
13
|
+
function proximityFromSetup(idea) {
|
|
14
|
+
const setup = idea.analysisSetup.setup;
|
|
15
|
+
if (!('entryProximityPct' in setup)) {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
entryProximityPct: setup.entryProximityPct,
|
|
20
|
+
entryProximityMode: 'entryProximityMode' in setup ? setup.entryProximityMode : undefined,
|
|
21
|
+
entryProximityAtr: 'atrAtLastBar' in setup ? setup.atrAtLastBar ?? null : null,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
13
24
|
function entryOffsetModeFromIdea(idea) {
|
|
14
25
|
const setup = idea.analysisSetup;
|
|
15
26
|
if (setup.kind === 'chart_pattern' && setup.setup.entryOffsetMode) {
|
|
@@ -28,6 +39,9 @@ function entryOffsetModeFromIdea(idea) {
|
|
|
28
39
|
if (setup.kind === 'trend_structure') {
|
|
29
40
|
return setup.setup.entryOffsetMode ?? 'retest';
|
|
30
41
|
}
|
|
42
|
+
if (setup.kind === 'bollinger_bands') {
|
|
43
|
+
return setup.setup.entryOffsetMode ?? 'bounce';
|
|
44
|
+
}
|
|
31
45
|
return 'bounce';
|
|
32
46
|
}
|
|
33
47
|
export function applyEntryOffset(price, side, offsetPct, mode) {
|
|
@@ -129,7 +143,9 @@ export function validateBuildTradePrices(idea, input) {
|
|
|
129
143
|
!passesEntryProximityGate({
|
|
130
144
|
lastClose,
|
|
131
145
|
entryPrice: idea.entry.price,
|
|
132
|
-
entryProximityPct: input.entryProximityPct,
|
|
146
|
+
entryProximityPct: input.entryProximityPct ?? proximityFromSetup(idea).entryProximityPct,
|
|
147
|
+
entryProximityMode: input.entryProximityMode ?? proximityFromSetup(idea).entryProximityMode,
|
|
148
|
+
entryProximityAtr: proximityFromSetup(idea).entryProximityAtr,
|
|
133
149
|
})) {
|
|
134
150
|
return { ok: false, reason: 'Uniswap swap requires price within entry proximity of the idea entry.' };
|
|
135
151
|
}
|
|
@@ -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":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAC;AAIvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAGnE,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,iCAAiC,EAAC,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAoChE,MAAM,yBAAyB,GAAyC;IACvE,WAAW,EAAE,GAAG;IAChB,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,KAAK;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG,6CAA6C,CAAC;AAC7E,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;AAE7D,SAAS,kBAAkB,CAAC,IAAe;IAK1C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;IACvC,IAAI,CAAC,CAAC,mBAAmB,IAAI,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO;QACN,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,kBAAkB,EACjB,oBAAoB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;QACrE,iBAAiB,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;KAC9E,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAe;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;QACzC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC;IAChD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC;IAChD,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,KAAa,EACb,IAAuB,EACvB,SAA6B,EAC7B,IAAqB;IAErB,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;IAC/B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,KAAa,EACb,IAAuB,EACvB,SAAkB;IAElB,IAAI,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC;IAC/B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACd,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAC9B,IAAe,EACf,KAAmC;IAEnC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxF,MAAM,YAAY,GACjB,IAAI,CAAC,YAAY,IAAI,IAAI;QACxB,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,IAAe,EACf,KAAmC;IAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,yDAAyD,EAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2DAA2D,EAAC,CAAC;IACzF,CAAC;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2DAA2D,EAAC,CAAC;IACzF,CAAC;IACD,MAAM,EAAC,KAAK,EAAE,YAAY,EAAC,GAAG,QAAQ,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QAC/C,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,uBAAuB,gBAAgB,CAAC,KAAK,CAAC,wBAAwB,gBAAgB,CAAC,SAAS,CAAC,GAAG;SAC5G,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QAChD,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,wBAAwB,gBAAgB,CAAC,KAAK,CAAC,wBAAwB,gBAAgB,CAAC,SAAS,CAAC,GAAG;SAC7G,CAAC;IACH,CAAC;IACD,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;YACnD,OAAO;gBACN,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,sEAAsE;aAC9E,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;YACpD,OAAO;gBACN,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,uEAAuE;aAC/E,CAAC;QACH,CAAC;IACF,CAAC;IACD,IACC,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,CAAC,wBAAwB,CAAC;YACzB,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC5B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,iBAAiB;YACxF,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,kBAAkB;YAC3F,iBAAiB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,iBAAiB;SAC7D,CAAC,EACD,CAAC;QACF,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uEAAuE,EAAC,CAAC;IACrG,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,KAAK,EAAE,YAAY,EAAC,EAAC,CAAC;AAChD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACnC,OAAO,MAAM,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAe;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACrC,OAAO,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,mCAAmC,CAClD,IAAe,EACf,KAAmC;IAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qEAAqE,EAAC,CAAC;IACnG,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4DAA4D,EAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mDAAmD,EAAC,CAAC;IACjF,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAK,CAAC,KAAK,CAAC;IACtC,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,yBAAyB,CAAC,WAAW;YAC/D,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;YACzC,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;YAC3B,YAAY,EAAE,gBAAgB,CAAC,OAAO,CAAC;YACvC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;YAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;YACtC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,KAAK;SACvB;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC7C,IAAe,EACf,KAAmC;IAEnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gEAAgE,EAAC,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+CAA+C,EAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QACjC,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mDAAmD,EAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5E,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,iFAAiF;SACzF,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAK,CAAC,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAK,CAAC,YAAY,CAAC;IACzC,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,yBAAyB,CAAC,GAAG;YACvD,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;YACzC,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;YACvC,eAAe,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE;YAC7C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE;YACzD,oBAAoB,EAAE,gBAAgB,CAAC,SAAS,CAAC;YACjD,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAC,sBAAsB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,CAAC,WAAW,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE;KACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,MAAqB,EACrB,WAAgC,EAChC,KAAmC;IAEnC,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnF,OAAO;YACN,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,cAAc,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;SAC/G,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,iCAAiC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO;YACN,EAAE,EAAE,IAAI;YACR,IAAI,EAAE;gBACL,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;gBAC/B,WAAW,EAAE,IAAI,CAAC,EAAE;gBACpB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;gBACjC,UAAU;gBACV,eAAe,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAK,CAAC,KAAK,CAAC;gBACxD,IAAI,EAAE,IAAI,CAAC,IAAI;aACf;SACD,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC7F,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,UAAU,qBAAqB,EAAC,CAAC;IAC1E,CAAC;IACD,MAAM,MAAM,GACX,UAAU,KAAK,aAAa;QAC3B,CAAC,CAAC,mCAAmC,CAAC,IAAI,EAAE,KAAK,CAAC;QAClD,CAAC,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;QACnG,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;IAClC,CAAC;IACD,MAAM,UAAU,GACf,MAAM,CAAC,iBAAiB,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ;QACvE,CAAC,CAAE,MAAM,CAAC,iBAA6C;QACvD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAC,CAAC;IACrE,CAAC;IACD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO;QACN,EAAE,EAAE,IAAI;QACR,IAAI,EAAE;YACL,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,EAAE;YACpB,UAAU;YACV,UAAU;YACV,eAAe,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAK,CAAC,KAAK,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,IAAK,CAAC,YAAY,IAAI,IAAI;gBACvC,CAAC,CAAC,EAAC,sBAAsB,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAK,CAAC,YAAY,CAAC,EAAC;gBAC1E,CAAC,CAAC,EAAE,CAAC;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;SACf;KACD,CAAC;AACH,CAAC"}
|
|
@@ -10,8 +10,8 @@ export type CandlestickTradeSetup = {
|
|
|
10
10
|
barClose: number;
|
|
11
11
|
lastClose: number;
|
|
12
12
|
side: TradeSetupSide;
|
|
13
|
-
entryPrice
|
|
14
|
-
entryLabel
|
|
13
|
+
entryPrice?: number;
|
|
14
|
+
entryLabel?: string;
|
|
15
15
|
unclearReason?: string;
|
|
16
16
|
};
|
|
17
17
|
type CandlestickHit = {
|
|
@@ -40,7 +40,7 @@ export declare function normalizeCandlestickTradeSetup(setup: CandlestickTradeSe
|
|
|
40
40
|
lastClose: number;
|
|
41
41
|
entry: {
|
|
42
42
|
price: number;
|
|
43
|
-
label: string;
|
|
43
|
+
label: string | undefined;
|
|
44
44
|
} | undefined;
|
|
45
45
|
unclearReason: string | undefined;
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candlestick-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/candlestick-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"candlestick-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/candlestick-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CAC7C,CAAC;AA0BF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,cAAc,EAAE;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,cAAc,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,wBAAwB,EAAE,MAAM,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,qBAAqB,CAwCxB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,qBAAqB;;;;;;;;;;EAY1E"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { isFiniteTradePrice } from './shared.js';
|
|
2
|
-
function resolveCandlestickBias(recommendation
|
|
2
|
+
function resolveCandlestickBias(recommendation) {
|
|
3
3
|
if (recommendation === 'buy') {
|
|
4
4
|
return 'bullish';
|
|
5
5
|
}
|
|
6
6
|
if (recommendation === 'sell') {
|
|
7
7
|
return 'bearish';
|
|
8
8
|
}
|
|
9
|
-
if (direction === 'bullish') {
|
|
10
|
-
return 'bullish';
|
|
11
|
-
}
|
|
12
|
-
if (direction === 'bearish') {
|
|
13
|
-
return 'bearish';
|
|
14
|
-
}
|
|
15
9
|
return 'neutral';
|
|
16
10
|
}
|
|
17
11
|
function sideFromBias(bias) {
|
|
@@ -29,20 +23,25 @@ export function buildCandlestickTradeSetup(input) {
|
|
|
29
23
|
const patternId = primaryHit?.id ?? input.primaryPattern?.id ?? 'none';
|
|
30
24
|
const patternName = primaryHit?.name ?? input.primaryPattern?.name ?? 'candlestick signal';
|
|
31
25
|
const confidence = primaryHit?.confidence ?? input.recommendationConfidence;
|
|
32
|
-
const bias = resolveCandlestickBias(input.recommendation
|
|
26
|
+
const bias = resolveCandlestickBias(input.recommendation);
|
|
33
27
|
const side = sideFromBias(bias);
|
|
34
|
-
const entryPrice = input.lastClose;
|
|
35
28
|
let status = 'unclear';
|
|
36
29
|
let unclearReason = 'Candlestick signal is neutral — no directional trade setup.';
|
|
37
|
-
|
|
30
|
+
let entryPrice;
|
|
31
|
+
let entryLabel;
|
|
32
|
+
if (bias === 'bullish' && isFiniteTradePrice(input.lastClose)) {
|
|
38
33
|
status = 'clear';
|
|
39
34
|
unclearReason = '';
|
|
35
|
+
entryPrice = input.lastClose;
|
|
36
|
+
entryLabel = 'current price';
|
|
40
37
|
}
|
|
41
|
-
else if (bias === 'bearish' && isFiniteTradePrice(
|
|
38
|
+
else if (bias === 'bearish' && isFiniteTradePrice(input.lastClose)) {
|
|
42
39
|
status = 'clear';
|
|
43
40
|
unclearReason = '';
|
|
41
|
+
entryPrice = input.lastClose;
|
|
42
|
+
entryLabel = 'current price';
|
|
44
43
|
}
|
|
45
|
-
else if (!isFiniteTradePrice(
|
|
44
|
+
else if (!isFiniteTradePrice(input.lastClose)) {
|
|
46
45
|
unclearReason = 'No valid current price for candlestick entry.';
|
|
47
46
|
}
|
|
48
47
|
return {
|
|
@@ -56,8 +55,7 @@ export function buildCandlestickTradeSetup(input) {
|
|
|
56
55
|
barClose: input.focusBarClose,
|
|
57
56
|
lastClose: input.lastClose,
|
|
58
57
|
side,
|
|
59
|
-
entryPrice,
|
|
60
|
-
entryLabel: 'current price',
|
|
58
|
+
...(entryPrice != null && entryLabel != null ? { entryPrice, entryLabel } : {}),
|
|
61
59
|
...(unclearReason ? { unclearReason } : {}),
|
|
62
60
|
};
|
|
63
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candlestick-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/candlestick-trade-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AA4B/C,SAAS,sBAAsB,CAC9B,cAAuC
|
|
1
|
+
{"version":3,"file":"candlestick-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/candlestick-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ChartPatternClassification, ChartPatternHitSummary, ChartPatternId, EnrichedChartPatternHit } from '../../../chart-patterns/types.js';
|
|
2
|
-
import { type EntryOffsetMode, type PatternEntryPhase } from './pattern-limit-entry.js';
|
|
2
|
+
import { type EntryOffsetMode, type EntryProximityMode, type PatternEntryPhase } from './pattern-limit-entry.js';
|
|
3
3
|
import { type TradeSetupSide, type TradeSetupStatus } from './shared.js';
|
|
4
4
|
export type ChartPatternTradeSetup = {
|
|
5
5
|
status: TradeSetupStatus;
|
|
@@ -29,10 +29,16 @@ export declare function sanitizeChartPatternTradeSetupForOutput(setup: ChartPatt
|
|
|
29
29
|
export declare function buildChartPatternTradeSetupFromHit(hit: EnrichedChartPatternHit, lastClose: number, patternNumber: number, options?: {
|
|
30
30
|
minConfidence?: number;
|
|
31
31
|
entryProximityPct?: number;
|
|
32
|
+
entryProximityMode?: EntryProximityMode;
|
|
33
|
+
entryProximityAtrPeriod?: number;
|
|
34
|
+
bars?: Record<string, unknown>[];
|
|
32
35
|
}): ChartPatternTradeSetup;
|
|
33
36
|
export declare function buildChartPatternTradeSetupFromSummary(summary: ChartPatternHitSummary, lastClose: number, patternNumber: number, completionState?: 'forming' | 'completed', options?: {
|
|
34
37
|
minConfidence?: number;
|
|
35
38
|
entryProximityPct?: number;
|
|
39
|
+
entryProximityMode?: EntryProximityMode;
|
|
40
|
+
entryProximityAtrPeriod?: number;
|
|
41
|
+
bars?: Record<string, unknown>[];
|
|
36
42
|
}): ChartPatternTradeSetup;
|
|
37
43
|
export declare function normalizeChartPatternTradeSetup(setup: ChartPatternTradeSetup): {
|
|
38
44
|
status: TradeSetupStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-pattern-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/chart-pattern-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,uBAAuB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEtB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"chart-pattern-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/chart-pattern-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { buildPatternKeyLevels } from '../../../chart-patterns/pattern-menu-summary.js';
|
|
2
2
|
import { resolvePatternLimitLevels, } from './pattern-limit-entry.js';
|
|
3
|
+
import { entryProximityAtrFromOhlcvRows } from './entry-proximity-atr.js';
|
|
4
|
+
import { tradeDeskConfig } from './trade-desk-defaults.js';
|
|
3
5
|
import { isFiniteTradePrice, } from './shared.js';
|
|
4
6
|
import { tradeSetupPurposeCode } from './trade-purpose-format.js';
|
|
5
7
|
function sideFromClassification(classification, measuredDirection) {
|
|
@@ -156,12 +158,22 @@ export function buildChartPatternTradeSetupFromHit(hit, lastClose, patternNumber
|
|
|
156
158
|
const keyLevels = buildPatternKeyLevels(hit);
|
|
157
159
|
const measured = hit.measuredMove;
|
|
158
160
|
const classificationSide = sideFromClassification(hit.classification, measured?.direction);
|
|
161
|
+
const desk = tradeDeskConfig({
|
|
162
|
+
entryProximityPct: options?.entryProximityPct,
|
|
163
|
+
entryProximityMode: options?.entryProximityMode,
|
|
164
|
+
entryProximityAtrPeriod: options?.entryProximityAtrPeriod,
|
|
165
|
+
});
|
|
166
|
+
const entryProximityAtr = desk.entryProximityMode === 'atr'
|
|
167
|
+
? entryProximityAtrFromOhlcvRows(options?.bars, desk.entryProximityAtrPeriod)
|
|
168
|
+
: null;
|
|
159
169
|
const resolved = resolvePatternLimitLevels({
|
|
160
170
|
patternId: hit.id,
|
|
161
171
|
lastClose,
|
|
162
172
|
keyLevels,
|
|
163
173
|
classificationSide,
|
|
164
|
-
entryProximityPct:
|
|
174
|
+
entryProximityPct: desk.entryProximityPct,
|
|
175
|
+
entryProximityMode: desk.entryProximityMode,
|
|
176
|
+
entryProximityAtr,
|
|
165
177
|
});
|
|
166
178
|
return buildFromResolvedResult({
|
|
167
179
|
patternId: hit.id,
|
|
@@ -179,12 +191,22 @@ export function buildChartPatternTradeSetupFromHit(hit, lastClose, patternNumber
|
|
|
179
191
|
export function buildChartPatternTradeSetupFromSummary(summary, lastClose, patternNumber, completionState, options) {
|
|
180
192
|
const measured = summary.measuredMove;
|
|
181
193
|
const classificationSide = sideFromClassification(summary.classification, measured?.direction);
|
|
194
|
+
const desk = tradeDeskConfig({
|
|
195
|
+
entryProximityPct: options?.entryProximityPct,
|
|
196
|
+
entryProximityMode: options?.entryProximityMode,
|
|
197
|
+
entryProximityAtrPeriod: options?.entryProximityAtrPeriod,
|
|
198
|
+
});
|
|
199
|
+
const entryProximityAtr = desk.entryProximityMode === 'atr'
|
|
200
|
+
? entryProximityAtrFromOhlcvRows(options?.bars, desk.entryProximityAtrPeriod)
|
|
201
|
+
: null;
|
|
182
202
|
const resolved = resolvePatternLimitLevels({
|
|
183
203
|
patternId: summary.id,
|
|
184
204
|
lastClose,
|
|
185
205
|
keyLevels: summary.keyLevels,
|
|
186
206
|
classificationSide,
|
|
187
|
-
entryProximityPct:
|
|
207
|
+
entryProximityPct: desk.entryProximityPct,
|
|
208
|
+
entryProximityMode: desk.entryProximityMode,
|
|
209
|
+
entryProximityAtr,
|
|
188
210
|
});
|
|
189
211
|
return buildFromResolvedResult({
|
|
190
212
|
patternId: summary.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-pattern-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/chart-pattern-trade-setup.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,qBAAqB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,
|
|
1
|
+
{"version":3,"file":"chart-pattern-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/chart-pattern-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-proximity-atr.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/entry-proximity-atr.ts"],"names":[],"mappings":"AAKA,kEAAkE;AAClE,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,EAC3C,MAAM,SAAqC,GACzC,MAAM,GAAG,IAAI,CA0Bf"}
|