@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.
- package/dist/agent-host-catalog.json +9 -0
- package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-agent-view.js +33 -4
- 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 +47 -1
- package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
- package/dist/core/chart/analysis/analyze-tools.d.ts +167 -11
- package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/analyze-tools.js +47 -55
- package/dist/core/chart/analysis/analyze-tools.js.map +1 -1
- package/dist/core/chart/analysis/divergence/detect.d.ts +21 -0
- package/dist/core/chart/analysis/divergence/detect.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence/detect.js +223 -0
- package/dist/core/chart/analysis/divergence/detect.js.map +1 -0
- package/dist/core/chart/analysis/divergence/index.d.ts +4 -0
- package/dist/core/chart/analysis/divergence/index.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence/index.js +4 -0
- package/dist/core/chart/analysis/divergence/index.js.map +1 -0
- package/dist/core/chart/analysis/divergence/peaks.d.ts +11 -0
- package/dist/core/chart/analysis/divergence/peaks.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence/peaks.js +108 -0
- package/dist/core/chart/analysis/divergence/peaks.js.map +1 -0
- package/dist/core/chart/analysis/divergence/types.d.ts +30 -0
- package/dist/core/chart/analysis/divergence/types.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence/types.js +2 -0
- package/dist/core/chart/analysis/divergence/types.js.map +1 -0
- package/dist/core/chart/analysis/divergence-analyze-tools.d.ts +239 -0
- package/dist/core/chart/analysis/divergence-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence-analyze-tools.js +283 -0
- package/dist/core/chart/analysis/divergence-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/divergence-drawings-tools.d.ts +457 -0
- package/dist/core/chart/analysis/divergence-drawings-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence-drawings-tools.js +380 -0
- package/dist/core/chart/analysis/divergence-drawings-tools.js.map +1 -0
- package/dist/core/chart/analysis/divergence-highlight.d.ts +19 -0
- package/dist/core/chart/analysis/divergence-highlight.d.ts.map +1 -0
- package/dist/core/chart/analysis/divergence-highlight.js +39 -0
- package/dist/core/chart/analysis/divergence-highlight.js.map +1 -0
- package/dist/core/chart/analysis/donchian-analyze-tools.d.ts +113 -0
- package/dist/core/chart/analysis/donchian-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/donchian-analyze-tools.js +218 -0
- package/dist/core/chart/analysis/donchian-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/donchian-highlight.d.ts +31 -0
- package/dist/core/chart/analysis/donchian-highlight.d.ts.map +1 -0
- package/dist/core/chart/analysis/donchian-highlight.js +41 -0
- package/dist/core/chart/analysis/donchian-highlight.js.map +1 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +33 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts +124 -0
- package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/ichimoku-analyze-tools.js +243 -0
- package/dist/core/chart/analysis/ichimoku-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/ichimoku-highlight.d.ts +36 -0
- package/dist/core/chart/analysis/ichimoku-highlight.d.ts.map +1 -0
- package/dist/core/chart/analysis/ichimoku-highlight.js +40 -0
- package/dist/core/chart/analysis/ichimoku-highlight.js.map +1 -0
- package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts +2 -6
- package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-fib-drawings-tools.js +5 -17
- package/dist/core/chart/analysis/key-fib-drawings-tools.js.map +1 -1
- package/dist/core/chart/analysis/key-level-drawings-shared.d.ts +3 -12
- package/dist/core/chart/analysis/key-level-drawings-shared.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-level-drawings-shared.js +6 -36
- package/dist/core/chart/analysis/key-level-drawings-shared.js.map +1 -1
- package/dist/core/chart/analysis/key-level-menu-summary.d.ts +15 -22
- package/dist/core/chart/analysis/key-level-menu-summary.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-level-menu-summary.js +63 -124
- package/dist/core/chart/analysis/key-level-menu-summary.js.map +1 -1
- package/dist/core/chart/analysis/key-levels-dataset.d.ts +1 -0
- package/dist/core/chart/analysis/key-levels-dataset.d.ts.map +1 -1
- package/dist/core/chart/analysis/key-levels-dataset.js +4 -7
- package/dist/core/chart/analysis/key-levels-dataset.js.map +1 -1
- package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts +112 -0
- package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/supertrend-analyze-tools.js +214 -0
- package/dist/core/chart/analysis/supertrend-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/supertrend-highlight.d.ts +25 -0
- package/dist/core/chart/analysis/supertrend-highlight.d.ts.map +1 -0
- package/dist/core/chart/analysis/supertrend-highlight.js +37 -0
- package/dist/core/chart/analysis/supertrend-highlight.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/build-trade.js +23 -5
- package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts +78 -0
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js +184 -0
- package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts +133 -0
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js +419 -0
- package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts +154 -0
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js +396 -0
- package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/index.d.ts +5 -0
- package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/index.js +5 -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 -41
- 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 +33 -235
- 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 +2 -8
- 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 +0 -27
- package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.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 +10 -0
- package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts +119 -0
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js +301 -0
- package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts +34 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js +43 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +15 -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 +89 -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 +32 -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 +32 -0
- package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts +2 -2
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js +2 -6
- package/dist/core/chart/analysis/trade-setups/trade-purpose-format.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts +42 -8
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js +72 -17
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts +89 -0
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js +195 -0
- package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js.map +1 -0
- package/dist/core/chart/analysis/z-score-analyze-tools.d.ts +111 -0
- package/dist/core/chart/analysis/z-score-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/z-score-analyze-tools.js +240 -0
- package/dist/core/chart/analysis/z-score-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/z-score-highlight.d.ts +29 -0
- package/dist/core/chart/analysis/z-score-highlight.d.ts.map +1 -0
- package/dist/core/chart/analysis/z-score-highlight.js +39 -0
- package/dist/core/chart/analysis/z-score-highlight.js.map +1 -0
- package/dist/core/chart/customization-catalog.d.ts.map +1 -1
- package/dist/core/chart/customization-catalog.js +36 -0
- package/dist/core/chart/customization-catalog.js.map +1 -1
- package/dist/core/chart/display-downsample.d.ts.map +1 -1
- package/dist/core/chart/display-downsample.js +4 -14
- package/dist/core/chart/display-downsample.js.map +1 -1
- package/dist/core/chart/overlay-schemas.d.ts +496 -0
- package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
- package/dist/core/chart/overlay-schemas.js +137 -0
- package/dist/core/chart/overlay-schemas.js.map +1 -1
- package/dist/core/chart/overlays.d.ts +2 -0
- package/dist/core/chart/overlays.d.ts.map +1 -1
- package/dist/core/chart/overlays.js +620 -2
- package/dist/core/chart/overlays.js.map +1 -1
- package/dist/core/chart/prepare-from-rows.d.ts +143 -0
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/schemas.d.ts +491 -0
- package/dist/core/chart/schemas.d.ts.map +1 -1
- package/dist/core/coinmarketcap/schemas.d.ts +5 -5
- package/dist/mcp/agent-host-catalog.d.ts +1 -1
- package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
- package/dist/mcp/agent-host-catalog.js +1 -0
- package/dist/mcp/agent-host-catalog.js.map +1 -1
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +61 -2
- 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 +8 -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 +8 -0
- package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
- package/dist/mcp/resources/chart-analysis.md +9 -0
- package/dist/mcp/resources/chart.md +3 -0
- package/dist/mcp/trade-tools.d.ts.map +1 -1
- package/dist/mcp/trade-tools.js +2 -0
- package/dist/mcp/trade-tools.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/agent/mcp-servers-catalog.d.ts +0 -15
- package/dist/core/agent/mcp-servers-catalog.d.ts.map +0 -1
- package/dist/core/agent/mcp-servers-catalog.js +0 -125
- package/dist/core/agent/mcp-servers-catalog.js.map +0 -1
- package/dist/core/agent/webhooks-catalog.d.ts +0 -10
- package/dist/core/agent/webhooks-catalog.d.ts.map +0 -1
- package/dist/core/agent/webhooks-catalog.js +0 -19
- package/dist/core/agent/webhooks-catalog.js.map +0 -1
- package/dist/mcp/resources/trade-defaults-skill.md +0 -69
- package/dist/mcp/ta/resources/indicators.md +0 -86
|
@@ -4,10 +4,15 @@ export const ANALYZE_TOOL_SETUP_FIELDS = {
|
|
|
4
4
|
analyze_key_levels: { kind: 'key_levels', field: 'keyLevelsTradeSetup' },
|
|
5
5
|
analyze_key_level_fibonacci: { kind: 'key_level_fibonacci', field: 'keyLevelFibTradeSetup' },
|
|
6
6
|
analyze_momentum: { kind: 'momentum', field: 'momentumTradeSetup' },
|
|
7
|
+
analyze_divergence: { kind: 'divergence', field: 'divergenceTradeSetup' },
|
|
7
8
|
analyze_trend_structure: { kind: 'trend_structure', field: 'trendStructureTradeSetup' },
|
|
8
9
|
analyze_elliott_waves: { kind: 'elliott_waves', field: 'elliottWaveTradeSetup' },
|
|
9
10
|
analyze_range_volatility: { kind: 'range_volatility', field: 'rangeVolatilityTradeSetup' },
|
|
10
11
|
analyze_bollinger_bands: { kind: 'bollinger_bands', field: 'bollingerTradeSetup' },
|
|
12
|
+
analyze_donchian_breakout: { kind: 'donchian_breakout', field: 'donchianTradeSetup' },
|
|
13
|
+
analyze_supertrend: { kind: 'supertrend', field: 'supertrendTradeSetup' },
|
|
14
|
+
analyze_ichimoku: { kind: 'ichimoku', field: 'ichimokuTradeSetup' },
|
|
15
|
+
analyze_z_score: { kind: 'z_score', field: 'zScoreTradeSetup' },
|
|
11
16
|
analyze_moving_averages: { kind: 'moving_averages', field: 'movingAveragesTradeSetup' },
|
|
12
17
|
analyze_time_series_trend: { kind: 'time_series_trend', field: 'timeSeriesTrendTradeSetup' },
|
|
13
18
|
analyze_time_series_momentum: {
|
|
@@ -22,10 +27,15 @@ export const OHLCV_TIED_ANALYSIS_TYPES = new Set([
|
|
|
22
27
|
'key_levels',
|
|
23
28
|
'key_level_fibonacci',
|
|
24
29
|
'momentum',
|
|
30
|
+
'divergence',
|
|
25
31
|
'trend_structure',
|
|
26
32
|
'elliott_waves',
|
|
27
33
|
'range_volatility',
|
|
28
34
|
'bollinger_bands',
|
|
35
|
+
'donchian_breakout',
|
|
36
|
+
'supertrend',
|
|
37
|
+
'ichimoku',
|
|
38
|
+
'z_score',
|
|
29
39
|
'moving_averages',
|
|
30
40
|
]);
|
|
31
41
|
export function toolNameForAnalysisKind(kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { EntryOffsetMode } from './pattern-limit-entry.js';
|
|
2
|
+
import type { TradeSetupSide, TradeSetupStatus } from './shared.js';
|
|
3
|
+
export declare const DEFAULT_SUPERTREND_PERIOD = 10;
|
|
4
|
+
export declare const DEFAULT_SUPERTREND_MULTIPLIER = 3;
|
|
5
|
+
export declare const DEFAULT_SUPERTREND_ENTRY_MODE: "flip";
|
|
6
|
+
export declare const DEFAULT_SUPERTREND_TARGET_ATR_MULTIPLE = 3;
|
|
7
|
+
export declare const DEFAULT_SUPERTREND_FLIP_LOOKBACK = 5;
|
|
8
|
+
export type SupertrendEntryMode = 'flip' | 'retest';
|
|
9
|
+
export type SupertrendPoint = {
|
|
10
|
+
supertrend: number;
|
|
11
|
+
direction: number;
|
|
12
|
+
};
|
|
13
|
+
export type SupertrendTradeSetup = {
|
|
14
|
+
status: TradeSetupStatus;
|
|
15
|
+
source: 'supertrend';
|
|
16
|
+
entryMode: SupertrendEntryMode;
|
|
17
|
+
lastClose: number;
|
|
18
|
+
supertrend: number;
|
|
19
|
+
direction: number;
|
|
20
|
+
period: number;
|
|
21
|
+
multiplier: number;
|
|
22
|
+
entryProximityPct: number;
|
|
23
|
+
entryOffsetMode: EntryOffsetMode;
|
|
24
|
+
entryOffsetPct: number;
|
|
25
|
+
invalidationOffsetPct: number;
|
|
26
|
+
atrAtLastBar?: number;
|
|
27
|
+
targetAtrMultiple: number;
|
|
28
|
+
setupPurposeCode: string;
|
|
29
|
+
invalidated: boolean;
|
|
30
|
+
side: TradeSetupSide;
|
|
31
|
+
flippedOnLastBar: boolean;
|
|
32
|
+
barsSinceFlip: number | null;
|
|
33
|
+
entryPrice?: number;
|
|
34
|
+
entryLabel?: string;
|
|
35
|
+
targetPrice?: number;
|
|
36
|
+
targetLabel?: string;
|
|
37
|
+
invalidationPrice?: number;
|
|
38
|
+
invalidationLabel?: string;
|
|
39
|
+
conditionalNote: string;
|
|
40
|
+
confidence: number;
|
|
41
|
+
unclearReason?: string;
|
|
42
|
+
flipAlternative?: SupertrendTradeSetup | null;
|
|
43
|
+
retestAlternative?: SupertrendTradeSetup | null;
|
|
44
|
+
};
|
|
45
|
+
export declare function buildFlipSupertrendSetup(input: {
|
|
46
|
+
lastClose: number;
|
|
47
|
+
supertrend: number;
|
|
48
|
+
direction: number;
|
|
49
|
+
prevDirection: number | null;
|
|
50
|
+
barsSinceFlip: number | null;
|
|
51
|
+
period: number;
|
|
52
|
+
multiplier: number;
|
|
53
|
+
entryProximityPct?: number;
|
|
54
|
+
entryOffsetPct?: number;
|
|
55
|
+
invalidationOffsetPct?: number;
|
|
56
|
+
atr?: number | null;
|
|
57
|
+
targetAtrMultiple?: number;
|
|
58
|
+
flipLookback?: number;
|
|
59
|
+
}): SupertrendTradeSetup | null;
|
|
60
|
+
export declare function buildRetestSupertrendSetup(input: {
|
|
61
|
+
lastClose: number;
|
|
62
|
+
supertrend: number;
|
|
63
|
+
direction: number;
|
|
64
|
+
barsSinceFlip: number | null;
|
|
65
|
+
period: number;
|
|
66
|
+
multiplier: number;
|
|
67
|
+
entryProximityPct?: number;
|
|
68
|
+
entryOffsetPct?: number;
|
|
69
|
+
invalidationOffsetPct?: number;
|
|
70
|
+
atr?: number | null;
|
|
71
|
+
targetAtrMultiple?: number;
|
|
72
|
+
}): SupertrendTradeSetup | null;
|
|
73
|
+
export declare function buildSupertrendTradeSetup(input: {
|
|
74
|
+
closes: number[];
|
|
75
|
+
points: Array<SupertrendPoint | null>;
|
|
76
|
+
period: number;
|
|
77
|
+
multiplier: number;
|
|
78
|
+
entryMode?: SupertrendEntryMode;
|
|
79
|
+
entryProximityPct?: number;
|
|
80
|
+
entryOffsetPct?: number;
|
|
81
|
+
invalidationOffsetPct?: number;
|
|
82
|
+
atr?: number | null;
|
|
83
|
+
targetAtrMultiple?: number;
|
|
84
|
+
}): SupertrendTradeSetup | null;
|
|
85
|
+
export type SupertrendTradeIdeaContext = {
|
|
86
|
+
period: number;
|
|
87
|
+
multiplier: number;
|
|
88
|
+
entryMode: SupertrendEntryMode;
|
|
89
|
+
setupPurposeCode: string;
|
|
90
|
+
supertrend: number;
|
|
91
|
+
direction: number;
|
|
92
|
+
invalidated: boolean;
|
|
93
|
+
entryProximityPct: number;
|
|
94
|
+
entryOffsetPct: number;
|
|
95
|
+
invalidationOffsetPct: number;
|
|
96
|
+
atrAtLastBar?: number;
|
|
97
|
+
targetAtrMultiple: number;
|
|
98
|
+
};
|
|
99
|
+
export declare function supertrendTradeIdeaContextFromSetup(setup: SupertrendTradeSetup): SupertrendTradeIdeaContext;
|
|
100
|
+
export declare function normalizeSupertrendTradeSetup(setup: SupertrendTradeSetup): {
|
|
101
|
+
unclearReason: string | undefined;
|
|
102
|
+
invalidation?: {
|
|
103
|
+
price: number;
|
|
104
|
+
label: string;
|
|
105
|
+
} | undefined;
|
|
106
|
+
target?: {
|
|
107
|
+
price: number;
|
|
108
|
+
label: string;
|
|
109
|
+
} | undefined;
|
|
110
|
+
status: TradeSetupStatus;
|
|
111
|
+
side: TradeSetupSide;
|
|
112
|
+
confidence: number;
|
|
113
|
+
lastClose: number;
|
|
114
|
+
entry: {
|
|
115
|
+
price: number;
|
|
116
|
+
label: string;
|
|
117
|
+
} | undefined;
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=supertrend-trade-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supertrend-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/supertrend-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { isFiniteTradePrice } from './shared.js';
|
|
2
|
+
import { tradeDeskConfig } from './trade-desk-defaults.js';
|
|
3
|
+
export const DEFAULT_SUPERTREND_PERIOD = 10;
|
|
4
|
+
export const DEFAULT_SUPERTREND_MULTIPLIER = 3;
|
|
5
|
+
export const DEFAULT_SUPERTREND_ENTRY_MODE = 'flip';
|
|
6
|
+
export const DEFAULT_SUPERTREND_TARGET_ATR_MULTIPLE = 3;
|
|
7
|
+
export const DEFAULT_SUPERTREND_FLIP_LOOKBACK = 5;
|
|
8
|
+
function withinPriceProximity(lastClose, entryPrice, proximityPct) {
|
|
9
|
+
if (!isFiniteTradePrice(lastClose) || !isFiniteTradePrice(entryPrice) || entryPrice === 0) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return (Math.abs(lastClose - entryPrice) / Math.abs(entryPrice)) * 100 <= proximityPct;
|
|
13
|
+
}
|
|
14
|
+
function resolveTargetAtrMultiple(raw) {
|
|
15
|
+
if (raw != null && Number.isFinite(raw) && raw > 0) {
|
|
16
|
+
return raw;
|
|
17
|
+
}
|
|
18
|
+
return DEFAULT_SUPERTREND_TARGET_ATR_MULTIPLE;
|
|
19
|
+
}
|
|
20
|
+
function atrTargetAndStop(input) {
|
|
21
|
+
if (input.status !== 'clear' || (input.side !== 'long' && input.side !== 'short')) {
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
const invalidationPrice = isFiniteTradePrice(input.supertrend) ? input.supertrend : undefined;
|
|
25
|
+
const invalidationLabel = invalidationPrice != null ? 'Supertrend trail' : undefined;
|
|
26
|
+
const atr = input.atr;
|
|
27
|
+
const multiple = input.targetAtrMultiple;
|
|
28
|
+
let targetPrice;
|
|
29
|
+
let targetLabel;
|
|
30
|
+
if (input.entryPrice != null &&
|
|
31
|
+
isFiniteTradePrice(input.entryPrice) &&
|
|
32
|
+
atr != null &&
|
|
33
|
+
Number.isFinite(atr) &&
|
|
34
|
+
atr > 0) {
|
|
35
|
+
const distance = multiple * atr;
|
|
36
|
+
targetPrice =
|
|
37
|
+
input.side === 'long' ? input.entryPrice + distance : input.entryPrice - distance;
|
|
38
|
+
targetLabel = `${multiple}× ATR from entry`;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
...(targetPrice != null && targetLabel ? { targetPrice, targetLabel } : {}),
|
|
42
|
+
...(invalidationPrice != null && invalidationLabel
|
|
43
|
+
? { invalidationPrice, invalidationLabel }
|
|
44
|
+
: {}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function findBarsSinceFlip(points) {
|
|
48
|
+
let lastDir = null;
|
|
49
|
+
let lastFlipAt = null;
|
|
50
|
+
for (let i = 0; i < points.length; i++) {
|
|
51
|
+
const p = points[i];
|
|
52
|
+
if (p == null || !isFiniteTradePrice(p.supertrend)) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
const dir = p.direction >= 0 ? 1 : -1;
|
|
56
|
+
if (lastDir != null && dir !== lastDir) {
|
|
57
|
+
lastFlipAt = i;
|
|
58
|
+
}
|
|
59
|
+
lastDir = dir;
|
|
60
|
+
}
|
|
61
|
+
if (lastFlipAt == null) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
return points.length - 1 - lastFlipAt;
|
|
65
|
+
}
|
|
66
|
+
export function buildFlipSupertrendSetup(input) {
|
|
67
|
+
const { lastClose, supertrend, direction, period, multiplier } = input;
|
|
68
|
+
if (![lastClose, supertrend].every(isFiniteTradePrice) || direction === 0) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
const desk = tradeDeskConfig({
|
|
72
|
+
entryProximityPct: input.entryProximityPct,
|
|
73
|
+
entryOffsetPct: input.entryOffsetPct,
|
|
74
|
+
invalidationOffsetPct: input.invalidationOffsetPct,
|
|
75
|
+
});
|
|
76
|
+
const targetAtrMultiple = resolveTargetAtrMultiple(input.targetAtrMultiple);
|
|
77
|
+
const atr = input.atr != null && Number.isFinite(input.atr) && input.atr > 0 ? input.atr : undefined;
|
|
78
|
+
const lookback = input.flipLookback ?? DEFAULT_SUPERTREND_FLIP_LOOKBACK;
|
|
79
|
+
const dir = direction >= 0 ? 1 : -1;
|
|
80
|
+
const side = dir > 0 ? 'long' : 'short';
|
|
81
|
+
const flippedOnLastBar = input.prevDirection != null && (input.prevDirection >= 0 ? 1 : -1) !== dir;
|
|
82
|
+
const barsSinceFlip = input.barsSinceFlip;
|
|
83
|
+
const freshFlip = flippedOnLastBar || (barsSinceFlip != null && barsSinceFlip >= 0 && barsSinceFlip <= lookback);
|
|
84
|
+
let status = 'unclear';
|
|
85
|
+
let confidence = 0.4;
|
|
86
|
+
let conditionalNote = 'No recent Supertrend flip — wait for direction change.';
|
|
87
|
+
let unclearReason = 'No fresh Supertrend flip within lookback.';
|
|
88
|
+
if (freshFlip) {
|
|
89
|
+
const near = withinPriceProximity(lastClose, supertrend, desk.entryProximityPct * 3) ||
|
|
90
|
+
withinPriceProximity(lastClose, lastClose, desk.entryProximityPct);
|
|
91
|
+
if (flippedOnLastBar || near || (barsSinceFlip != null && barsSinceFlip <= 1)) {
|
|
92
|
+
status = 'clear';
|
|
93
|
+
unclearReason = '';
|
|
94
|
+
confidence = flippedOnLastBar ? 0.62 : 0.55;
|
|
95
|
+
conditionalNote = flippedOnLastBar
|
|
96
|
+
? `Fresh Supertrend flip to ${side === 'long' ? 'bullish' : 'bearish'}.`
|
|
97
|
+
: `Recent Supertrend flip to ${side === 'long' ? 'bullish' : 'bearish'} (${barsSinceFlip} bars ago).`;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
unclearReason = `Flip aged ${barsSinceFlip} bars — price not near Supertrend trail.`;
|
|
101
|
+
conditionalNote = unclearReason;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const entryPrice = status === 'clear' ? lastClose : undefined;
|
|
105
|
+
const entryLabel = status === 'clear' ? 'last close (flip)' : undefined;
|
|
106
|
+
const levels = atrTargetAndStop({
|
|
107
|
+
side,
|
|
108
|
+
status,
|
|
109
|
+
entryPrice,
|
|
110
|
+
supertrend,
|
|
111
|
+
atr,
|
|
112
|
+
targetAtrMultiple,
|
|
113
|
+
});
|
|
114
|
+
return {
|
|
115
|
+
status,
|
|
116
|
+
source: 'supertrend',
|
|
117
|
+
entryMode: 'flip',
|
|
118
|
+
lastClose,
|
|
119
|
+
supertrend,
|
|
120
|
+
direction: dir,
|
|
121
|
+
period,
|
|
122
|
+
multiplier,
|
|
123
|
+
entryProximityPct: desk.entryProximityPct,
|
|
124
|
+
entryOffsetMode: 'bounce',
|
|
125
|
+
entryOffsetPct: desk.entryOffsetPct,
|
|
126
|
+
invalidationOffsetPct: desk.invalidationOffsetPct,
|
|
127
|
+
targetAtrMultiple,
|
|
128
|
+
setupPurposeCode: 'st-flip',
|
|
129
|
+
invalidated: false,
|
|
130
|
+
side,
|
|
131
|
+
flippedOnLastBar,
|
|
132
|
+
barsSinceFlip,
|
|
133
|
+
conditionalNote,
|
|
134
|
+
confidence,
|
|
135
|
+
...(atr != null ? { atrAtLastBar: atr } : {}),
|
|
136
|
+
...(entryPrice != null && entryLabel ? { entryPrice, entryLabel } : {}),
|
|
137
|
+
...levels,
|
|
138
|
+
...(unclearReason ? { unclearReason } : {}),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export function buildRetestSupertrendSetup(input) {
|
|
142
|
+
const { lastClose, supertrend, direction, period, multiplier } = input;
|
|
143
|
+
if (![lastClose, supertrend].every(isFiniteTradePrice) || direction === 0) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
const desk = tradeDeskConfig({
|
|
147
|
+
entryProximityPct: input.entryProximityPct,
|
|
148
|
+
entryOffsetPct: input.entryOffsetPct,
|
|
149
|
+
invalidationOffsetPct: input.invalidationOffsetPct,
|
|
150
|
+
});
|
|
151
|
+
const targetAtrMultiple = resolveTargetAtrMultiple(input.targetAtrMultiple);
|
|
152
|
+
const atr = input.atr != null && Number.isFinite(input.atr) && input.atr > 0 ? input.atr : undefined;
|
|
153
|
+
const dir = direction >= 0 ? 1 : -1;
|
|
154
|
+
const side = dir > 0 ? 'long' : 'short';
|
|
155
|
+
const priceOk = (side === 'long' && lastClose >= supertrend) || (side === 'short' && lastClose <= supertrend);
|
|
156
|
+
const near = withinPriceProximity(lastClose, supertrend, desk.entryProximityPct);
|
|
157
|
+
let status = 'unclear';
|
|
158
|
+
let confidence = 0.4;
|
|
159
|
+
let conditionalNote = 'Price not retesting Supertrend in trend direction.';
|
|
160
|
+
let unclearReason = conditionalNote;
|
|
161
|
+
let invalidated = false;
|
|
162
|
+
let setupSide = side;
|
|
163
|
+
if (!priceOk) {
|
|
164
|
+
invalidated = true;
|
|
165
|
+
setupSide = 'neutral';
|
|
166
|
+
unclearReason = 'Close on wrong side of Supertrend — trail broken.';
|
|
167
|
+
conditionalNote = unclearReason;
|
|
168
|
+
}
|
|
169
|
+
else if (near) {
|
|
170
|
+
status = 'clear';
|
|
171
|
+
unclearReason = '';
|
|
172
|
+
confidence = 0.56;
|
|
173
|
+
conditionalNote = `${side === 'long' ? 'Bullish' : 'Bearish'} Supertrend retest — price near trail.`;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
unclearReason = `Price holding ${side} of Supertrend but not within ${desk.entryProximityPct}% of trail.`;
|
|
177
|
+
conditionalNote = unclearReason;
|
|
178
|
+
}
|
|
179
|
+
const entryPrice = status === 'clear' ? supertrend : undefined;
|
|
180
|
+
const entryLabel = status === 'clear' ? 'Supertrend trail' : undefined;
|
|
181
|
+
const levels = atrTargetAndStop({
|
|
182
|
+
side: setupSide,
|
|
183
|
+
status,
|
|
184
|
+
entryPrice,
|
|
185
|
+
supertrend,
|
|
186
|
+
atr,
|
|
187
|
+
targetAtrMultiple,
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
status: invalidated ? 'unclear' : status,
|
|
191
|
+
source: 'supertrend',
|
|
192
|
+
entryMode: 'retest',
|
|
193
|
+
lastClose,
|
|
194
|
+
supertrend,
|
|
195
|
+
direction: dir,
|
|
196
|
+
period,
|
|
197
|
+
multiplier,
|
|
198
|
+
entryProximityPct: desk.entryProximityPct,
|
|
199
|
+
entryOffsetMode: 'retest',
|
|
200
|
+
entryOffsetPct: desk.entryOffsetPct,
|
|
201
|
+
invalidationOffsetPct: desk.invalidationOffsetPct,
|
|
202
|
+
targetAtrMultiple,
|
|
203
|
+
setupPurposeCode: 'st-ret',
|
|
204
|
+
invalidated,
|
|
205
|
+
side: setupSide,
|
|
206
|
+
flippedOnLastBar: false,
|
|
207
|
+
barsSinceFlip: input.barsSinceFlip,
|
|
208
|
+
conditionalNote,
|
|
209
|
+
confidence: invalidated ? 0.3 : confidence,
|
|
210
|
+
...(atr != null ? { atrAtLastBar: atr } : {}),
|
|
211
|
+
...(entryPrice != null && entryLabel ? { entryPrice, entryLabel } : {}),
|
|
212
|
+
...levels,
|
|
213
|
+
...(unclearReason ? { unclearReason } : {}),
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export function buildSupertrendTradeSetup(input) {
|
|
217
|
+
const { closes, points, period, multiplier } = input;
|
|
218
|
+
if (closes.length < 2 || points.length !== closes.length) {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
const lastIndex = closes.length - 1;
|
|
222
|
+
const lastClose = closes[lastIndex];
|
|
223
|
+
const current = points[lastIndex];
|
|
224
|
+
const prior = points[lastIndex - 1];
|
|
225
|
+
if (current == null) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
const barsSinceFlip = findBarsSinceFlip(points);
|
|
229
|
+
const entryMode = input.entryMode ?? DEFAULT_SUPERTREND_ENTRY_MODE;
|
|
230
|
+
const shared = {
|
|
231
|
+
lastClose,
|
|
232
|
+
supertrend: current.supertrend,
|
|
233
|
+
direction: current.direction,
|
|
234
|
+
barsSinceFlip,
|
|
235
|
+
period,
|
|
236
|
+
multiplier,
|
|
237
|
+
entryProximityPct: input.entryProximityPct,
|
|
238
|
+
entryOffsetPct: input.entryOffsetPct,
|
|
239
|
+
invalidationOffsetPct: input.invalidationOffsetPct,
|
|
240
|
+
atr: input.atr,
|
|
241
|
+
targetAtrMultiple: input.targetAtrMultiple,
|
|
242
|
+
};
|
|
243
|
+
const flip = buildFlipSupertrendSetup({
|
|
244
|
+
...shared,
|
|
245
|
+
prevDirection: prior?.direction ?? null,
|
|
246
|
+
});
|
|
247
|
+
const retest = buildRetestSupertrendSetup(shared);
|
|
248
|
+
if (entryMode === 'retest') {
|
|
249
|
+
if (!retest) {
|
|
250
|
+
return flip;
|
|
251
|
+
}
|
|
252
|
+
return { ...retest, flipAlternative: flip, retestAlternative: null };
|
|
253
|
+
}
|
|
254
|
+
if (!flip) {
|
|
255
|
+
return retest;
|
|
256
|
+
}
|
|
257
|
+
return { ...flip, retestAlternative: retest, flipAlternative: null };
|
|
258
|
+
}
|
|
259
|
+
export function supertrendTradeIdeaContextFromSetup(setup) {
|
|
260
|
+
return {
|
|
261
|
+
period: setup.period,
|
|
262
|
+
multiplier: setup.multiplier,
|
|
263
|
+
entryMode: setup.entryMode,
|
|
264
|
+
setupPurposeCode: setup.setupPurposeCode,
|
|
265
|
+
supertrend: setup.supertrend,
|
|
266
|
+
direction: setup.direction,
|
|
267
|
+
invalidated: setup.invalidated,
|
|
268
|
+
entryProximityPct: setup.entryProximityPct,
|
|
269
|
+
entryOffsetPct: setup.entryOffsetPct,
|
|
270
|
+
invalidationOffsetPct: setup.invalidationOffsetPct,
|
|
271
|
+
targetAtrMultiple: setup.targetAtrMultiple,
|
|
272
|
+
...(setup.atrAtLastBar != null ? { atrAtLastBar: setup.atrAtLastBar } : {}),
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
export function normalizeSupertrendTradeSetup(setup) {
|
|
276
|
+
return {
|
|
277
|
+
status: setup.status,
|
|
278
|
+
side: setup.side,
|
|
279
|
+
confidence: setup.confidence,
|
|
280
|
+
lastClose: setup.lastClose,
|
|
281
|
+
entry: setup.status === 'clear' &&
|
|
282
|
+
setup.side !== 'neutral' &&
|
|
283
|
+
setup.entryPrice != null &&
|
|
284
|
+
isFiniteTradePrice(setup.entryPrice)
|
|
285
|
+
? { price: setup.entryPrice, label: setup.entryLabel ?? 'Supertrend entry' }
|
|
286
|
+
: undefined,
|
|
287
|
+
...(setup.targetPrice != null && isFiniteTradePrice(setup.targetPrice)
|
|
288
|
+
? { target: { price: setup.targetPrice, label: setup.targetLabel ?? 'Supertrend target' } }
|
|
289
|
+
: {}),
|
|
290
|
+
...(setup.invalidationPrice != null && isFiniteTradePrice(setup.invalidationPrice)
|
|
291
|
+
? {
|
|
292
|
+
invalidation: {
|
|
293
|
+
price: setup.invalidationPrice,
|
|
294
|
+
label: setup.invalidationLabel ?? 'Supertrend invalidation',
|
|
295
|
+
},
|
|
296
|
+
}
|
|
297
|
+
: {}),
|
|
298
|
+
unclearReason: setup.unclearReason,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=supertrend-trade-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supertrend-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/supertrend-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,41 @@ export declare const tradeDeskUniversalInputSchema: z.ZodObject<{
|
|
|
10
10
|
entryProximityAtrPeriod: z.ZodOptional<z.ZodNumber>;
|
|
11
11
|
entryOffsetPct: z.ZodOptional<z.ZodNumber>;
|
|
12
12
|
invalidationOffsetPct: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
fibKeyLevelMinConfidence: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
donchianPeriod: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
donchianEntryMode: z.ZodOptional<z.ZodEnum<{
|
|
16
|
+
retest: "retest";
|
|
17
|
+
immediate: "immediate";
|
|
18
|
+
}>>;
|
|
19
|
+
donchianTargetAtrMultiple: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
supertrendPeriod: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
supertrendMultiplier: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
supertrendEntryMode: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
retest: "retest";
|
|
24
|
+
flip: "flip";
|
|
25
|
+
}>>;
|
|
26
|
+
supertrendTargetAtrMultiple: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
ichimokuConversionPeriod: z.ZodOptional<z.ZodNumber>;
|
|
28
|
+
ichimokuBasePeriod: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
ichimokuSpanPeriod: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
ichimokuDisplacement: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
ichimokuTargetAtrMultiple: z.ZodOptional<z.ZodNumber>;
|
|
32
|
+
zScorePeriod: z.ZodOptional<z.ZodNumber>;
|
|
33
|
+
zScoreEntry: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
zScoreExit: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
zScoreStopAtrMultiple: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
zScoreAtrFilter: z.ZodOptional<z.ZodEnum<{
|
|
37
|
+
none: "none";
|
|
38
|
+
contracting: "contracting";
|
|
39
|
+
}>>;
|
|
40
|
+
divergenceOscillator: z.ZodOptional<z.ZodEnum<{
|
|
41
|
+
rsi: "rsi";
|
|
42
|
+
stochasticrsi: "stochasticrsi";
|
|
43
|
+
both: "both";
|
|
44
|
+
}>>;
|
|
45
|
+
divergenceMaxLag: z.ZodOptional<z.ZodNumber>;
|
|
13
46
|
}, z.core.$strict>;
|
|
14
47
|
export type TradeDeskUniversalInput = z.infer<typeof tradeDeskUniversalInputSchema>;
|
|
15
48
|
export declare function pickTradeDeskUniversalFromInput(input: TradeDeskUniversalInput | undefined): Partial<TradeDeskConfig>;
|
|
49
|
+
export declare function pickFibKeyLevelMinConfidenceFromInput(input: TradeDeskUniversalInput | undefined): number | undefined;
|
|
16
50
|
//# sourceMappingURL=trade-desk-universal-input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-desk-universal-input.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-desk-universal-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAE9D,2GAA2G;AAC3G,eAAO,MAAM,6BAA6B
|
|
1
|
+
{"version":3,"file":"trade-desk-universal-input.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-desk-universal-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAE9D,2GAA2G;AAC3G,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgDhC,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,uBAAuB,GAAG,SAAS,GACxC,OAAO,CAAC,eAAe,CAAC,CAW1B;AAED,wBAAgB,qCAAqC,CACpD,KAAK,EAAE,uBAAuB,GAAG,SAAS,GACxC,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -7,6 +7,46 @@ export const tradeDeskUniversalInputSchema = z
|
|
|
7
7
|
entryProximityAtrPeriod: z.number().int().min(2).max(100).optional(),
|
|
8
8
|
entryOffsetPct: z.number().min(0).max(50).optional(),
|
|
9
9
|
invalidationOffsetPct: z.number().min(0).max(50).optional(),
|
|
10
|
+
/** Per-leg strength/100 gate for key-level Fib strongest-bracket (default 0.35). */
|
|
11
|
+
fibKeyLevelMinConfidence: z.number().min(0).max(1).optional(),
|
|
12
|
+
/** Donchian channel length (bars); also bound as analyze `period` when unset. */
|
|
13
|
+
donchianPeriod: z.number().int().min(2).max(500).optional(),
|
|
14
|
+
/** Donchian primary entry style: retest (default) | immediate. */
|
|
15
|
+
donchianEntryMode: z.enum(['retest', 'immediate']).optional(),
|
|
16
|
+
/** Donchian target distance as multiple of ATR (default 3): entry ± multiple × ATR. */
|
|
17
|
+
donchianTargetAtrMultiple: z.number().min(0.1).max(50).optional(),
|
|
18
|
+
/** Supertrend ATR length; also bound as analyze `period` when unset. */
|
|
19
|
+
supertrendPeriod: z.number().int().min(2).max(500).optional(),
|
|
20
|
+
/** Supertrend ATR multiplier; also bound as analyze `multiplier` when unset. */
|
|
21
|
+
supertrendMultiplier: z.number().positive().max(20).optional(),
|
|
22
|
+
/** Supertrend primary entry style: flip (default) | retest. */
|
|
23
|
+
supertrendEntryMode: z.enum(['flip', 'retest']).optional(),
|
|
24
|
+
/** Supertrend target distance as multiple of ATR (default 3). */
|
|
25
|
+
supertrendTargetAtrMultiple: z.number().min(0.1).max(50).optional(),
|
|
26
|
+
/** Ichimoku Tenkan length. */
|
|
27
|
+
ichimokuConversionPeriod: z.number().int().min(2).max(500).optional(),
|
|
28
|
+
/** Ichimoku Kijun length. */
|
|
29
|
+
ichimokuBasePeriod: z.number().int().min(2).max(500).optional(),
|
|
30
|
+
/** Ichimoku Senkou Span B length. */
|
|
31
|
+
ichimokuSpanPeriod: z.number().int().min(2).max(500).optional(),
|
|
32
|
+
/** Ichimoku cloud / chikou displacement. */
|
|
33
|
+
ichimokuDisplacement: z.number().int().min(1).max(200).optional(),
|
|
34
|
+
/** Ichimoku target distance as multiple of ATR (default 3). */
|
|
35
|
+
ichimokuTargetAtrMultiple: z.number().min(0.1).max(50).optional(),
|
|
36
|
+
/** Z-score SMA/SD lookback (bars); also bound as analyze `period` when unset. */
|
|
37
|
+
zScorePeriod: z.number().int().min(2).max(500).optional(),
|
|
38
|
+
/** Enter when |Z| ≥ this threshold (default 2). */
|
|
39
|
+
zScoreEntry: z.number().positive().max(20).optional(),
|
|
40
|
+
/** Target when Z returns to this level vs mean (default 0.5). */
|
|
41
|
+
zScoreExit: z.number().min(0).max(10).optional(),
|
|
42
|
+
/** Invalidation distance as multiple of ATR (default 2). */
|
|
43
|
+
zScoreStopAtrMultiple: z.number().min(0.1).max(50).optional(),
|
|
44
|
+
/** Optional ATR contraction gate: none | contracting. */
|
|
45
|
+
zScoreAtrFilter: z.enum(['none', 'contracting']).optional(),
|
|
46
|
+
/** Divergence detector oscillator mode when analyze arg omitted. */
|
|
47
|
+
divergenceOscillator: z.enum(['rsi', 'stochasticrsi', 'both']).optional(),
|
|
48
|
+
/** Max bars between paired price/oscillator pivots (default 3). */
|
|
49
|
+
divergenceMaxLag: z.number().int().min(1).max(20).optional(),
|
|
10
50
|
})
|
|
11
51
|
.strict();
|
|
12
52
|
export function pickTradeDeskUniversalFromInput(input) {
|
|
@@ -21,4 +61,7 @@ export function pickTradeDeskUniversalFromInput(input) {
|
|
|
21
61
|
invalidationOffsetPct: input.invalidationOffsetPct,
|
|
22
62
|
};
|
|
23
63
|
}
|
|
64
|
+
export function pickFibKeyLevelMinConfidenceFromInput(input) {
|
|
65
|
+
return input?.fibKeyLevelMinConfidence;
|
|
66
|
+
}
|
|
24
67
|
//# sourceMappingURL=trade-desk-universal-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-desk-universal-input.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-desk-universal-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,2GAA2G;AAC3G,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC5C,MAAM,CAAC;IACP,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACxD,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACpE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"trade-desk-universal-input.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-desk-universal-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,21 @@ export type TradeIdeaListItem = {
|
|
|
39
39
|
invalidationOffsetPct?: number;
|
|
40
40
|
bollingerPeriod?: number;
|
|
41
41
|
bollingerStdDev?: number;
|
|
42
|
+
donchianPeriod?: number;
|
|
43
|
+
donchianEntryMode?: string;
|
|
44
|
+
supertrendPeriod?: number;
|
|
45
|
+
supertrendMultiplier?: number;
|
|
46
|
+
supertrendEntryMode?: string;
|
|
47
|
+
ichimokuConversionPeriod?: number;
|
|
48
|
+
ichimokuBasePeriod?: number;
|
|
49
|
+
ichimokuSpanPeriod?: number;
|
|
50
|
+
ichimokuDisplacement?: number;
|
|
51
|
+
ichimokuStrategy?: string;
|
|
52
|
+
tkState?: string;
|
|
53
|
+
cloudPosition?: string;
|
|
54
|
+
zScorePeriod?: number;
|
|
55
|
+
zScoreEntry?: number;
|
|
56
|
+
zScoreExit?: number;
|
|
42
57
|
tradeSummary?: string;
|
|
43
58
|
strategy?: string;
|
|
44
59
|
crossoverLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-idea-list.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-idea-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAC,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"trade-idea-list.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-idea-list.ts"],"names":[],"mappings":"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"}
|