@continuumdao/continuum-node-sdk 1.3.30 → 1.3.32
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 +7 -0
- package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-agent-view.js +48 -7
- package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.d.ts +19 -13
- package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
- package/dist/core/chart/analysis/analysis-catalog.js +132 -106
- package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts +31 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.js +301 -0
- package/dist/core/chart/analysis/elliott-wave-drawings-tools.js.map +1 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +161 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.js +139 -0
- package/dist/core/chart/analysis/elliott-waves-analyze-tools.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.d.ts +10 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.js +123 -0
- package/dist/core/chart/analysis/trade-setups/build-trade-uniswap-limit.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +29 -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 +267 -8
- package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts +50 -0
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js +116 -0
- package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js.map +1 -0
- 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 +13 -1
- 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 +11 -0
- package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +2 -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 +38 -3
- 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 +4 -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 +4 -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 -0
- 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 +6 -0
- 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 +8 -1
- 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 +13 -0
- package/dist/core/chart/analysis/trade-setups/trade-setup-selection.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts +20 -0
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js +54 -0
- package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js.map +1 -1
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.d.ts +41 -0
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.d.ts.map +1 -0
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.js +80 -0
- package/dist/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.js.map +1 -0
- package/dist/core/chart/fetch-agent-view.d.ts +17 -0
- package/dist/core/chart/fetch-agent-view.d.ts.map +1 -0
- package/dist/core/chart/fetch-agent-view.js +39 -0
- package/dist/core/chart/fetch-agent-view.js.map +1 -0
- package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
- package/dist/core/chart/live/binding-extract.js +34 -2
- package/dist/core/chart/live/binding-extract.js.map +1 -1
- package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
- package/dist/core/chart/live/fetch-tick.js +25 -1
- package/dist/core/chart/live/fetch-tick.js.map +1 -1
- package/dist/core/chart/live/index.d.ts +1 -1
- package/dist/core/chart/live/index.d.ts.map +1 -1
- package/dist/core/chart/live/index.js +1 -1
- package/dist/core/chart/live/index.js.map +1 -1
- package/dist/core/chart/live/schemas.d.ts +1 -0
- package/dist/core/chart/live/schemas.d.ts.map +1 -1
- package/dist/core/chart/live/schemas.js +1 -0
- package/dist/core/chart/live/schemas.js.map +1 -1
- package/dist/core/chart/overlay-schemas.d.ts +241 -0
- package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
- package/dist/core/chart/overlay-schemas.js +63 -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 +72 -1
- package/dist/core/chart/overlays.js.map +1 -1
- package/dist/core/chart/prepare-from-rows.d.ts +60 -0
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/schemas.d.ts +240 -0
- package/dist/core/chart/schemas.d.ts.map +1 -1
- package/dist/core/coinmarketcap/schemas.d.ts +2 -2
- package/dist/core/elliott-waves/analyze.d.ts +38 -0
- package/dist/core/elliott-waves/analyze.d.ts.map +1 -0
- package/dist/core/elliott-waves/analyze.js +276 -0
- package/dist/core/elliott-waves/analyze.js.map +1 -0
- package/dist/core/elliott-waves/constants.d.ts +24 -0
- package/dist/core/elliott-waves/constants.d.ts.map +1 -0
- package/dist/core/elliott-waves/constants.js +24 -0
- package/dist/core/elliott-waves/constants.js.map +1 -0
- package/dist/core/elliott-waves/data-requirements.d.ts +22 -0
- package/dist/core/elliott-waves/data-requirements.d.ts.map +1 -0
- package/dist/core/elliott-waves/data-requirements.js +105 -0
- package/dist/core/elliott-waves/data-requirements.js.map +1 -0
- package/dist/core/elliott-waves/fibonacci-projector.d.ts +7 -0
- package/dist/core/elliott-waves/fibonacci-projector.d.ts.map +1 -0
- package/dist/core/elliott-waves/fibonacci-projector.js +20 -0
- package/dist/core/elliott-waves/fibonacci-projector.js.map +1 -0
- package/dist/core/elliott-waves/impulse-detector.d.ts +11 -0
- package/dist/core/elliott-waves/impulse-detector.d.ts.map +1 -0
- package/dist/core/elliott-waves/impulse-detector.js +294 -0
- package/dist/core/elliott-waves/impulse-detector.js.map +1 -0
- package/dist/core/elliott-waves/index.d.ts +10 -0
- package/dist/core/elliott-waves/index.d.ts.map +1 -0
- package/dist/core/elliott-waves/index.js +10 -0
- package/dist/core/elliott-waves/index.js.map +1 -0
- package/dist/core/elliott-waves/pivot-scanner.d.ts +40 -0
- package/dist/core/elliott-waves/pivot-scanner.d.ts.map +1 -0
- package/dist/core/elliott-waves/pivot-scanner.js +121 -0
- package/dist/core/elliott-waves/pivot-scanner.js.map +1 -0
- package/dist/core/elliott-waves/projection-builder.d.ts +32 -0
- package/dist/core/elliott-waves/projection-builder.d.ts.map +1 -0
- package/dist/core/elliott-waves/projection-builder.js +153 -0
- package/dist/core/elliott-waves/projection-builder.js.map +1 -0
- package/dist/core/elliott-waves/types.d.ts +117 -0
- package/dist/core/elliott-waves/types.d.ts.map +1 -0
- package/dist/core/elliott-waves/types.js +6 -0
- package/dist/core/elliott-waves/types.js.map +1 -0
- package/dist/core/elliott-waves/wave-labeler.d.ts +34 -0
- package/dist/core/elliott-waves/wave-labeler.d.ts.map +1 -0
- package/dist/core/elliott-waves/wave-labeler.js +95 -0
- package/dist/core/elliott-waves/wave-labeler.js.map +1 -0
- package/dist/core/elliott-waves/wave-math.d.ts +10 -0
- package/dist/core/elliott-waves/wave-math.d.ts.map +1 -0
- package/dist/core/elliott-waves/wave-math.js +61 -0
- package/dist/core/elliott-waves/wave-math.js.map +1 -0
- package/dist/core/mpc/broadcast-sign-result.d.ts +1 -0
- package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/broadcast-sign-result.js +129 -0
- package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
- package/dist/core/mpc/deliver-arcus-exchange.d.ts +17 -0
- package/dist/core/mpc/deliver-arcus-exchange.d.ts.map +1 -0
- package/dist/core/mpc/deliver-arcus-exchange.js +380 -0
- package/dist/core/mpc/deliver-arcus-exchange.js.map +1 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.d.ts +13 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.d.ts.map +1 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.js +93 -0
- package/dist/core/mpc/deliver-hyperliquid-exchange.js.map +1 -0
- package/dist/core/mpc/deliver-personal-sign.d.ts +13 -0
- package/dist/core/mpc/deliver-personal-sign.d.ts.map +1 -0
- package/dist/core/mpc/deliver-personal-sign.js +17 -0
- package/dist/core/mpc/deliver-personal-sign.js.map +1 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.d.ts +6 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.d.ts.map +1 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.js +59 -0
- package/dist/core/mpc/deliver-uniswapx-limit-order.js.map +1 -0
- package/dist/core/mpc/eip712-sign-request.d.ts +8 -0
- package/dist/core/mpc/eip712-sign-request.d.ts.map +1 -0
- package/dist/core/mpc/eip712-sign-request.js +65 -0
- package/dist/core/mpc/eip712-sign-request.js.map +1 -0
- package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/trigger-sign-result.js +15 -1
- package/dist/core/mpc/trigger-sign-result.js.map +1 -1
- 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 +2 -1
- package/dist/mcp/agent-host-catalog.js.map +1 -1
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +33 -4
- 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 +7 -0
- package/dist/mcp/deferred/tool-group-map.js.map +1 -1
- package/dist/mcp/defi/bitquery-api-key.d.ts +16 -0
- package/dist/mcp/defi/bitquery-api-key.d.ts.map +1 -0
- package/dist/mcp/defi/bitquery-api-key.js +86 -0
- package/dist/mcp/defi/bitquery-api-key.js.map +1 -0
- package/dist/mcp/defi/catalog-adapter.d.ts +3 -2
- package/dist/mcp/defi/catalog-adapter.d.ts.map +1 -1
- package/dist/mcp/defi/catalog-adapter.js +7 -2
- package/dist/mcp/defi/catalog-adapter.js.map +1 -1
- package/dist/mcp/defi/defi-protocol-fetch-meta.d.ts.map +1 -1
- package/dist/mcp/defi/defi-protocol-fetch-meta.js +8 -4
- package/dist/mcp/defi/defi-protocol-fetch-meta.js.map +1 -1
- package/dist/mcp/defi/eip712-multisign.d.ts +26 -0
- package/dist/mcp/defi/eip712-multisign.d.ts.map +1 -0
- package/dist/mcp/defi/eip712-multisign.js +74 -0
- package/dist/mcp/defi/eip712-multisign.js.map +1 -0
- package/dist/mcp/defi/handler.d.ts.map +1 -1
- package/dist/mcp/defi/handler.js +46 -29
- package/dist/mcp/defi/handler.js.map +1 -1
- package/dist/mcp/defi/ohlcv-chart-workflow.d.ts +4 -2
- package/dist/mcp/defi/ohlcv-chart-workflow.d.ts.map +1 -1
- package/dist/mcp/defi/ohlcv-chart-workflow.js +20 -8
- package/dist/mcp/defi/ohlcv-chart-workflow.js.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +36 -5
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/tool-schemas.d.ts +1 -3
- package/dist/mcp/defi/tool-schemas.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.js +3 -0
- package/dist/mcp/defi/uniswap-api-key.js.map +1 -1
- package/dist/mcp/defi/uniswap-limit-order-input.d.ts +10 -0
- package/dist/mcp/defi/uniswap-limit-order-input.d.ts.map +1 -0
- package/dist/mcp/defi/uniswap-limit-order-input.js +39 -0
- package/dist/mcp/defi/uniswap-limit-order-input.js.map +1 -0
- package/dist/mcp/defi/uniswap-quote-input.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-quote-input.js +45 -26
- package/dist/mcp/defi/uniswap-quote-input.js.map +1 -1
- package/dist/mcp/defi/uniswap-v4-ohlcv-chains.d.ts +2 -2
- package/dist/mcp/defi/uniswap-v4-ohlcv-chains.js +3 -3
- package/dist/mcp/defi/uniswap-v4-ohlcv-chains.js.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.js +56 -2
- package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
- package/dist/mcp/resources/agent-cron-jobs.md +22 -1
- package/dist/mcp/resources/chart-analysis.md +37 -3
- package/dist/mcp/resources/chart.md +5 -2
- package/dist/mcp/resources/uniswap-tpsl-monitor-cron.example.md +27 -0
- package/dist/mcp/trade-tools.d.ts.map +1 -1
- package/dist/mcp/trade-tools.js +192 -4
- package/dist/mcp/trade-tools.js.map +1 -1
- package/package.json +2 -2
|
@@ -17,6 +17,8 @@ export type TradePurposeMetaCtm1Input = {
|
|
|
17
17
|
setup: string;
|
|
18
18
|
entryEffective: number;
|
|
19
19
|
patternFailureEffective?: number;
|
|
20
|
+
takeProfitEffective?: number;
|
|
21
|
+
stopLossEffective?: number;
|
|
20
22
|
symbolShort: string;
|
|
21
23
|
entryBase?: number;
|
|
22
24
|
patternFailureBase?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-purpose-format.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-purpose-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAEN,KAAK,4BAA4B,EACjC,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AA4BxD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC5C,YAAY,EAAE,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAC9F,SAAS,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IACpC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACtC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC;CAClH,GAAG,MAAM,CA8BT;AAOD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,4BAA4B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,yBAAyB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"trade-purpose-format.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-purpose-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAEN,KAAK,4BAA4B,EACjC,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AA4BxD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC5C,YAAY,EAAE,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAC9F,SAAS,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;IACpC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACtC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC;CAClH,GAAG,MAAM,CA8BT;AAOD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAc7D;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,4BAA4B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,yBAAyB,GAAG,oBAAoB,CAgCjG;AAaD,MAAM,MAAM,0BAA0B,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAmDzF;AAED,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,SAAa,EAC1B,QAAQ,SAAM,GACZ;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,CAoBhC"}
|
|
@@ -85,6 +85,12 @@ export function formatTradePurposeMetaCtm1(input) {
|
|
|
85
85
|
if (input.patternFailureEffective != null && Number.isFinite(input.patternFailureEffective)) {
|
|
86
86
|
parts.push(`pfE=${formatCompactHumanPrice(input.patternFailureEffective)}`);
|
|
87
87
|
}
|
|
88
|
+
if (input.takeProfitEffective != null && Number.isFinite(input.takeProfitEffective)) {
|
|
89
|
+
parts.push(`tpE=${formatCompactHumanPrice(input.takeProfitEffective)}`);
|
|
90
|
+
}
|
|
91
|
+
if (input.stopLossEffective != null && Number.isFinite(input.stopLossEffective)) {
|
|
92
|
+
parts.push(`slE=${formatCompactHumanPrice(input.stopLossEffective)}`);
|
|
93
|
+
}
|
|
88
94
|
parts.push(...formatChartDataPurposeTokens(input.chartData));
|
|
89
95
|
parts.push(sym);
|
|
90
96
|
let meta = parts.join('|');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-purpose-format.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-purpose-format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trade-purpose-format.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-purpose-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,11 @@ export type MomentumTradeSetupSelection = {
|
|
|
52
52
|
export type RangeVolatilityTradeSetupSelection = {
|
|
53
53
|
kind: 'range_volatility';
|
|
54
54
|
};
|
|
55
|
-
export type
|
|
55
|
+
export type ElliottWavesTradeSetupSelection = {
|
|
56
|
+
kind: 'elliott_waves';
|
|
57
|
+
waveMenuNumber: number;
|
|
58
|
+
};
|
|
59
|
+
export type TradeSetupSelection = TrendStructureTradeSetupSelection | KeyLevelsTradeSetupSelection | KeyLevelFibonacciTradeSetupSelection | ChartPatternTradeSetupSelection | CandlestickTradeSetupSelection | BollingerBandsTradeSetupSelection | MovingAveragesTradeSetupSelection | MomentumTradeSetupSelection | RangeVolatilityTradeSetupSelection | ElliottWavesTradeSetupSelection;
|
|
56
60
|
export declare const TradeSetupSelectionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
57
61
|
kind: z.ZodLiteral<"trend_structure">;
|
|
58
62
|
trendLineNumber: z.ZodNumber;
|
|
@@ -109,6 +113,9 @@ export declare const TradeSetupSelectionSchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
109
113
|
rsiPeriod: z.ZodNumber;
|
|
110
114
|
}, z.core.$strict>, z.ZodObject<{
|
|
111
115
|
kind: z.ZodLiteral<"range_volatility">;
|
|
116
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
117
|
+
kind: z.ZodLiteral<"elliott_waves">;
|
|
118
|
+
waveMenuNumber: z.ZodNumber;
|
|
112
119
|
}, z.core.$strict>], "kind">;
|
|
113
120
|
export declare function extractTradeSetupSelection(setup: AnalysisTradeSetup): TradeSetupSelection | undefined;
|
|
114
121
|
/** Partial analyze_* tool args to re-bind the same menu/geometry on refresh. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-setup-selection.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-setup-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAExD,0FAA0F;AAC1F,MAAM,MAAM,iCAAiC,GAAG;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAClD,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC7C,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,WAAW,GAAG,kBAAkB,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAChD,IAAI,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC5B,iCAAiC,GACjC,4BAA4B,GAC5B,oCAAoC,GACpC,+BAA+B,GAC/B,8BAA8B,GAC9B,iCAAiC,GACjC,iCAAiC,GACjC,2BAA2B,GAC3B,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"trade-setup-selection.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-setup-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,12 @@ const rangeVolatilitySelectionSchema = z
|
|
|
67
67
|
kind: z.literal('range_volatility'),
|
|
68
68
|
})
|
|
69
69
|
.strict();
|
|
70
|
+
const elliottWavesSelectionSchema = z
|
|
71
|
+
.object({
|
|
72
|
+
kind: z.literal('elliott_waves'),
|
|
73
|
+
waveMenuNumber: z.number().int().min(1),
|
|
74
|
+
})
|
|
75
|
+
.strict();
|
|
70
76
|
export const TradeSetupSelectionSchema = z.discriminatedUnion('kind', [
|
|
71
77
|
trendStructureSelectionSchema,
|
|
72
78
|
keyLevelsSelectionSchema,
|
|
@@ -77,6 +83,7 @@ export const TradeSetupSelectionSchema = z.discriminatedUnion('kind', [
|
|
|
77
83
|
movingAveragesSelectionSchema,
|
|
78
84
|
momentumSelectionSchema,
|
|
79
85
|
rangeVolatilitySelectionSchema,
|
|
86
|
+
elliottWavesSelectionSchema,
|
|
80
87
|
]);
|
|
81
88
|
export function extractTradeSetupSelection(setup) {
|
|
82
89
|
switch (setup.kind) {
|
|
@@ -169,6 +176,10 @@ export function extractTradeSetupSelection(setup) {
|
|
|
169
176
|
};
|
|
170
177
|
case 'range_volatility':
|
|
171
178
|
return { kind: 'range_volatility' };
|
|
179
|
+
case 'elliott_waves': {
|
|
180
|
+
const n = setup.setup.waveMenuNumber;
|
|
181
|
+
return n != null && n >= 1 ? { kind: 'elliott_waves', waveMenuNumber: n } : undefined;
|
|
182
|
+
}
|
|
172
183
|
default:
|
|
173
184
|
return undefined;
|
|
174
185
|
}
|
|
@@ -215,6 +226,8 @@ export function analyzeArgsFromTradeSetupSelection(selection) {
|
|
|
215
226
|
return { rsiPeriod: selection.rsiPeriod };
|
|
216
227
|
case 'range_volatility':
|
|
217
228
|
return {};
|
|
229
|
+
case 'elliott_waves':
|
|
230
|
+
return { waveMenuNumber: selection.waveMenuNumber };
|
|
218
231
|
default:
|
|
219
232
|
return {};
|
|
220
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trade-setup-selection.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-setup-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"trade-setup-selection.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trade-setup-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { TrendLine } from '../../levels/trend-lines.js';
|
|
2
2
|
import type { TradeSetupSide, TradeSetupStatus } from './shared.js';
|
|
3
|
+
export type TrendStructureMeasuredMove = {
|
|
4
|
+
targetPrice: number;
|
|
5
|
+
referencePrice: number;
|
|
6
|
+
height: number;
|
|
7
|
+
direction: 'up' | 'down';
|
|
8
|
+
formula: string;
|
|
9
|
+
status: 'projected';
|
|
10
|
+
};
|
|
3
11
|
export type TrendStructureTradeSetup = {
|
|
4
12
|
status: TradeSetupStatus;
|
|
5
13
|
source: 'trend_structure';
|
|
@@ -12,6 +20,8 @@ export type TrendStructureTradeSetup = {
|
|
|
12
20
|
triggerLabel?: string;
|
|
13
21
|
targetPrice?: number;
|
|
14
22
|
targetLabel?: string;
|
|
23
|
+
/** Impulse-leg projection from entry — supplementary to swing targetPrice. */
|
|
24
|
+
measuredMove?: TrendStructureMeasuredMove;
|
|
15
25
|
invalidationPrice?: number;
|
|
16
26
|
invalidationLabel?: string;
|
|
17
27
|
primaryTrendKind?: 'support' | 'resistance';
|
|
@@ -22,6 +32,16 @@ export type TrendStructureTradeSetup = {
|
|
|
22
32
|
setupPurposeCode?: string;
|
|
23
33
|
unclearReason?: string;
|
|
24
34
|
};
|
|
35
|
+
export declare function computeTrendStructureImpulseMeasuredMove(input: {
|
|
36
|
+
side: TradeSetupSide;
|
|
37
|
+
triggerPrice?: number;
|
|
38
|
+
swingHigh: {
|
|
39
|
+
price: number;
|
|
40
|
+
} | null;
|
|
41
|
+
swingLow: {
|
|
42
|
+
price: number;
|
|
43
|
+
} | null;
|
|
44
|
+
}): TrendStructureMeasuredMove | undefined;
|
|
25
45
|
export declare function buildTrendStructureTradeSetup(input: {
|
|
26
46
|
bias: 'bullish' | 'bearish' | 'neutral';
|
|
27
47
|
structure: 'higher_highs' | 'lower_lows' | 'range' | 'mixed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trend-structure-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trend-structure-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAC5C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAwBF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACpD,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,wBAAwB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"trend-structure-trade-setup.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trend-structure-trade-setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,0BAA0B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAC5C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAwBF,wBAAgB,wCAAwC,CAAC,KAAK,EAAE;IAC/D,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;CACjC,GAAG,0BAA0B,GAAG,SAAS,CA8CzC;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACpD,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,wBAAwB,GAAG,IAAI,CA6GlC;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;EAoBhF"}
|
|
@@ -20,6 +20,53 @@ function confidenceFromTrend(line, structure) {
|
|
|
20
20
|
}
|
|
21
21
|
return confidence;
|
|
22
22
|
}
|
|
23
|
+
export function computeTrendStructureImpulseMeasuredMove(input) {
|
|
24
|
+
if (input.side !== 'long' && input.side !== 'short') {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
if (!isFiniteTradePrice(input.triggerPrice)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
if (!input.swingHigh || !input.swingLow) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const high = input.swingHigh.price;
|
|
34
|
+
const low = input.swingLow.price;
|
|
35
|
+
if (!isFiniteTradePrice(high) || !isFiniteTradePrice(low)) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
const height = high - low;
|
|
39
|
+
if (height <= 0) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const entry = input.triggerPrice;
|
|
43
|
+
if (input.side === 'long') {
|
|
44
|
+
const targetPrice = entry + height;
|
|
45
|
+
if (!isFiniteTradePrice(targetPrice) || targetPrice <= entry) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
targetPrice,
|
|
50
|
+
referencePrice: entry,
|
|
51
|
+
height,
|
|
52
|
+
direction: 'up',
|
|
53
|
+
formula: 'entry + (swingHigh - swingLow)',
|
|
54
|
+
status: 'projected',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const targetPrice = entry - height;
|
|
58
|
+
if (!isFiniteTradePrice(targetPrice) || targetPrice >= entry) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
targetPrice,
|
|
63
|
+
referencePrice: entry,
|
|
64
|
+
height,
|
|
65
|
+
direction: 'down',
|
|
66
|
+
formula: 'entry - (swingHigh - swingLow)',
|
|
67
|
+
status: 'projected',
|
|
68
|
+
};
|
|
69
|
+
}
|
|
23
70
|
export function buildTrendStructureTradeSetup(input) {
|
|
24
71
|
const close = input.lastClose;
|
|
25
72
|
if (!isFiniteTradePrice(close)) {
|
|
@@ -104,6 +151,12 @@ export function buildTrendStructureTradeSetup(input) {
|
|
|
104
151
|
else if (!unclearReason && confidence < minConfidence) {
|
|
105
152
|
unclearReason = `Trend setup confidence ${confidence.toFixed(2)} is below threshold ${minConfidence.toFixed(2)}.`;
|
|
106
153
|
}
|
|
154
|
+
const measuredMove = computeTrendStructureImpulseMeasuredMove({
|
|
155
|
+
side,
|
|
156
|
+
triggerPrice,
|
|
157
|
+
swingHigh: input.swingHigh,
|
|
158
|
+
swingLow: input.swingLow,
|
|
159
|
+
});
|
|
107
160
|
return {
|
|
108
161
|
status,
|
|
109
162
|
source: 'trend_structure',
|
|
@@ -116,6 +169,7 @@ export function buildTrendStructureTradeSetup(input) {
|
|
|
116
169
|
setupPurposeCode: 'trend-ret',
|
|
117
170
|
...(isFiniteTradePrice(triggerPrice) ? { triggerPrice, triggerLabel: triggerLabel ?? '' } : {}),
|
|
118
171
|
...(isFiniteTradePrice(targetPrice) ? { targetPrice, targetLabel: targetLabel ?? '' } : {}),
|
|
172
|
+
...(measuredMove ? { measuredMove } : {}),
|
|
119
173
|
...(isFiniteTradePrice(invalidationPrice)
|
|
120
174
|
? { invalidationPrice, invalidationLabel: invalidationLabel ?? '' }
|
|
121
175
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trend-structure-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trend-structure-trade-setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"trend-structure-trade-setup.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/trend-structure-trade-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { TradeIdea } from './trade-idea.js';
|
|
2
|
+
import { type BuildTradeFromTradeIdeaInput } from './build-trade.js';
|
|
3
|
+
export type UniswapTpslTrigger = 'take_profit' | 'stop_loss';
|
|
4
|
+
export type UniswapTpslMonitorInput = {
|
|
5
|
+
side: 'long' | 'short';
|
|
6
|
+
lastPrice: number;
|
|
7
|
+
takeProfitPrice?: number;
|
|
8
|
+
stopLossPrice?: number;
|
|
9
|
+
};
|
|
10
|
+
export type UniswapTpslMonitorEvaluation = {
|
|
11
|
+
triggered: boolean;
|
|
12
|
+
trigger?: UniswapTpslTrigger;
|
|
13
|
+
lastPriceHuman: string;
|
|
14
|
+
takeProfitPriceHuman?: string;
|
|
15
|
+
stopLossPriceHuman?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function parseHumanPrice(value: string | undefined): number | null;
|
|
18
|
+
export declare function evaluateUniswapTpslMonitor(input: UniswapTpslMonitorInput): UniswapTpslMonitorEvaluation;
|
|
19
|
+
export declare function uniswapTpslPricesFromTradeIdea(idea: TradeIdea, input: BuildTradeFromTradeIdeaInput): {
|
|
20
|
+
takeProfitPrice?: number;
|
|
21
|
+
stopLossPrice?: number;
|
|
22
|
+
} | null;
|
|
23
|
+
export type UniswapTpslMonitorCronSpec = {
|
|
24
|
+
name: string;
|
|
25
|
+
tradeIdeaId: string;
|
|
26
|
+
chainId: number;
|
|
27
|
+
protocolId: 'uniswap';
|
|
28
|
+
sizeUsdHuman: string;
|
|
29
|
+
keyGenId: string;
|
|
30
|
+
pollEveryMinutes: number;
|
|
31
|
+
takeProfitPriceHuman?: string;
|
|
32
|
+
stopLossPriceHuman?: string;
|
|
33
|
+
side: 'long' | 'short';
|
|
34
|
+
};
|
|
35
|
+
export declare function buildUniswapTpslMonitorCronMessage(spec: UniswapTpslMonitorCronSpec): string;
|
|
36
|
+
export declare function uniswapTpslMonitorSchedule(pollEveryMinutes: number): {
|
|
37
|
+
kind: 'every';
|
|
38
|
+
everyMs: number;
|
|
39
|
+
};
|
|
40
|
+
export declare function uniswapTpslMonitorCronName(tradeIdeaId: string): string;
|
|
41
|
+
//# sourceMappingURL=uniswap-tpsl-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswap-tpsl-monitor.d.ts","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAA6C,KAAK,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAE/G,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,WAAW,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKxE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,uBAAuB,GAAG,4BAA4B,CAwBvG;AAED,wBAAgB,8BAA8B,CAC7C,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,4BAA4B,GACjC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAS3D;AAED,MAAM,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,0BAA0B,GAAG,MAAM,CA4B3F;AAED,wBAAgB,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,GAAG;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAGrG;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAGtE"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { formatHumanPrice, validateBuildTradePrices } from './build-trade.js';
|
|
2
|
+
export function parseHumanPrice(value) {
|
|
3
|
+
const trimmed = value?.trim();
|
|
4
|
+
if (!trimmed)
|
|
5
|
+
return null;
|
|
6
|
+
const n = Number.parseFloat(trimmed);
|
|
7
|
+
return Number.isFinite(n) && n > 0 ? n : null;
|
|
8
|
+
}
|
|
9
|
+
export function evaluateUniswapTpslMonitor(input) {
|
|
10
|
+
const { side, lastPrice, takeProfitPrice, stopLossPrice } = input;
|
|
11
|
+
const base = {
|
|
12
|
+
triggered: false,
|
|
13
|
+
lastPriceHuman: formatHumanPrice(lastPrice),
|
|
14
|
+
...(takeProfitPrice != null ? { takeProfitPriceHuman: formatHumanPrice(takeProfitPrice) } : {}),
|
|
15
|
+
...(stopLossPrice != null ? { stopLossPriceHuman: formatHumanPrice(stopLossPrice) } : {}),
|
|
16
|
+
};
|
|
17
|
+
if (side === 'long') {
|
|
18
|
+
if (takeProfitPrice != null && lastPrice >= takeProfitPrice) {
|
|
19
|
+
return { ...base, triggered: true, trigger: 'take_profit' };
|
|
20
|
+
}
|
|
21
|
+
if (stopLossPrice != null && lastPrice <= stopLossPrice) {
|
|
22
|
+
return { ...base, triggered: true, trigger: 'stop_loss' };
|
|
23
|
+
}
|
|
24
|
+
return base;
|
|
25
|
+
}
|
|
26
|
+
if (takeProfitPrice != null && lastPrice <= takeProfitPrice) {
|
|
27
|
+
return { ...base, triggered: true, trigger: 'take_profit' };
|
|
28
|
+
}
|
|
29
|
+
if (stopLossPrice != null && lastPrice >= stopLossPrice) {
|
|
30
|
+
return { ...base, triggered: true, trigger: 'stop_loss' };
|
|
31
|
+
}
|
|
32
|
+
return base;
|
|
33
|
+
}
|
|
34
|
+
export function uniswapTpslPricesFromTradeIdea(idea, input) {
|
|
35
|
+
const validated = validateBuildTradePrices(idea, input);
|
|
36
|
+
if (!validated.ok) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
...(validated.data.target != null ? { takeProfitPrice: validated.data.target } : {}),
|
|
41
|
+
...(validated.data.invalidation != null ? { stopLossPrice: validated.data.invalidation } : {}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function buildUniswapTpslMonitorCronMessage(spec) {
|
|
45
|
+
const yamlBlock = [
|
|
46
|
+
'tradeTpslMonitor:',
|
|
47
|
+
'```yaml',
|
|
48
|
+
`protocolId: ${spec.protocolId}`,
|
|
49
|
+
`chainId: ${spec.chainId}`,
|
|
50
|
+
`tradeIdeaId: ${spec.tradeIdeaId}`,
|
|
51
|
+
`sizeUsdHuman: "${spec.sizeUsdHuman}"`,
|
|
52
|
+
`side: ${spec.side}`,
|
|
53
|
+
`pollEveryMinutes: ${spec.pollEveryMinutes}`,
|
|
54
|
+
...(spec.takeProfitPriceHuman ? [`takeProfitPriceHuman: "${spec.takeProfitPriceHuman}"`] : []),
|
|
55
|
+
...(spec.stopLossPriceHuman ? [`stopLossPriceHuman: "${spec.stopLossPriceHuman}"`] : []),
|
|
56
|
+
'```',
|
|
57
|
+
].join('\n');
|
|
58
|
+
return `[Cron] Uniswap TP/SL monitor for trade idea ${spec.tradeIdeaId}
|
|
59
|
+
|
|
60
|
+
Each run:
|
|
61
|
+
1. \`load_defi_protocol({ protocolId: "uniswap-v4" })\`
|
|
62
|
+
2. Fetch current price via \`ctm_uniswap_v4_fetch_ohlcv\` (last candle close) or a small \`ctm_uniswap_v4_quote\` probe on chainId ${spec.chainId}.
|
|
63
|
+
3. Compare price to TP/SL levels in the YAML block below using long/short rules (long: TP when price >= TP, SL when price <= SL; short inverted).
|
|
64
|
+
4. If triggered: \`build_trade_from_trade_idea\` with protocolId uniswap, orderKind market, reversed exit side, sizeUsdHuman ${spec.sizeUsdHuman}, keyGenId ${spec.keyGenId}, chainId ${spec.chainId}. Purpose must note TP/SL exit.
|
|
65
|
+
5. If not triggered: reply \`monitor_ok\` with last price and distances.
|
|
66
|
+
6. If entry never filled and monitor is obsolete: \`deactivate_cron_job\` for this job.
|
|
67
|
+
|
|
68
|
+
Best-effort agent monitor — not exchange-grade resting TP/SL. Disable when filled or cancelled.
|
|
69
|
+
|
|
70
|
+
${yamlBlock}`;
|
|
71
|
+
}
|
|
72
|
+
export function uniswapTpslMonitorSchedule(pollEveryMinutes) {
|
|
73
|
+
const minutes = Math.max(1, Math.floor(pollEveryMinutes));
|
|
74
|
+
return { kind: 'every', everyMs: minutes * 60_000 };
|
|
75
|
+
}
|
|
76
|
+
export function uniswapTpslMonitorCronName(tradeIdeaId) {
|
|
77
|
+
const slug = tradeIdeaId.replace(/[^a-zA-Z0-9-]/g, '').slice(0, 24);
|
|
78
|
+
return `uniswap-tpsl-${slug || 'monitor'}`;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=uniswap-tpsl-monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniswap-tpsl-monitor.js","sourceRoot":"","sources":["../../../../../src/core/chart/analysis/trade-setups/uniswap-tpsl-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type OhlcvAnalysisMeta } from './analysis/analysis-meta.js';
|
|
2
|
+
import type { OhlcvFingerprint } from './ohlcv-integrity.js';
|
|
3
|
+
import type { OhlcvSessionBindHint } from './ohlcv-session-store.js';
|
|
4
|
+
export type FetchLoadMeta = OhlcvAnalysisMeta & {
|
|
5
|
+
sessionBind?: OhlcvSessionBindHint;
|
|
6
|
+
};
|
|
7
|
+
/** Build meta (ohlcvSummary, sessionBind, fetchContext) after a successful OHLCV fetch. */
|
|
8
|
+
export declare function buildFetchLoadMeta(payload: unknown, options?: {
|
|
9
|
+
title?: string;
|
|
10
|
+
fingerprint?: OhlcvFingerprint | null;
|
|
11
|
+
sessionBind?: OhlcvSessionBindHint;
|
|
12
|
+
}): FetchLoadMeta | undefined;
|
|
13
|
+
/** Agent-facing fetch payload — omits candle rows (UI / structuredContent keeps full fetch). */
|
|
14
|
+
export declare function slimFetchOutputForAgent(payload: unknown, meta: FetchLoadMeta): Record<string, unknown>;
|
|
15
|
+
/** Attach fetch meta to the full vendor payload without removing candle rows. */
|
|
16
|
+
export declare function attachFetchMetaToPayload(payload: unknown, meta: FetchLoadMeta): Record<string, unknown>;
|
|
17
|
+
//# sourceMappingURL=fetch-agent-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-agent-view.d.ts","sourceRoot":"","sources":["../../../src/core/chart/fetch-agent-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAG3F,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC/C,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,oBAAoB,CAAC;CAC9B,GACJ,aAAa,GAAG,SAAS,CAa3B;AAED,gGAAgG;AAChG,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { buildOhlcvAnalysisMeta } from './analysis/analysis-meta.js';
|
|
2
|
+
import { extractChartMetadataFromFetchPayload } from './fetch-metadata.js';
|
|
3
|
+
import { extractOhlcvBarsFromUnknown } from './fetch-result.js';
|
|
4
|
+
/** Build meta (ohlcvSummary, sessionBind, fetchContext) after a successful OHLCV fetch. */
|
|
5
|
+
export function buildFetchLoadMeta(payload, options = {}) {
|
|
6
|
+
const bars = extractOhlcvBarsFromUnknown(payload, { maxPoints: 10_000 });
|
|
7
|
+
if (!bars?.length) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const inferred = extractChartMetadataFromFetchPayload(payload);
|
|
11
|
+
const title = options.title?.trim() || inferred.title;
|
|
12
|
+
const meta = buildOhlcvAnalysisMeta(bars, {
|
|
13
|
+
title,
|
|
14
|
+
toolResult: payload,
|
|
15
|
+
ohlcvFingerprint: options.fingerprint,
|
|
16
|
+
});
|
|
17
|
+
return options.sessionBind ? { ...meta, sessionBind: options.sessionBind } : meta;
|
|
18
|
+
}
|
|
19
|
+
/** Agent-facing fetch payload — omits candle rows (UI / structuredContent keeps full fetch). */
|
|
20
|
+
export function slimFetchOutputForAgent(payload, meta) {
|
|
21
|
+
const inferred = extractChartMetadataFromFetchPayload(payload);
|
|
22
|
+
return {
|
|
23
|
+
agentView: 'slim',
|
|
24
|
+
fetch: {
|
|
25
|
+
...(inferred.title ? { title: inferred.title } : {}),
|
|
26
|
+
...(inferred.label ? { label: inferred.label } : {}),
|
|
27
|
+
barCount: meta.barCount,
|
|
28
|
+
},
|
|
29
|
+
meta,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/** Attach fetch meta to the full vendor payload without removing candle rows. */
|
|
33
|
+
export function attachFetchMetaToPayload(payload, meta) {
|
|
34
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
35
|
+
return { meta };
|
|
36
|
+
}
|
|
37
|
+
return { ...payload, meta };
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=fetch-agent-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-agent-view.js","sourceRoot":"","sources":["../../../src/core/chart/fetch-agent-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAyB,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAC,oCAAoC,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAQ9D,2FAA2F;AAC3F,MAAM,UAAU,kBAAkB,CACjC,OAAgB,EAChB,UAII,EAAE;IAEN,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC,CAAC,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;IACtD,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAiC,EAAE;QACtE,KAAK;QACL,UAAU,EAAE,OAAO;QACnB,gBAAgB,EAAE,OAAO,CAAC,WAAW;KACrC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAC,GAAG,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,uBAAuB,CACtC,OAAgB,EAChB,IAAmB;IAEnB,MAAM,QAAQ,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO;QACN,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE;YACN,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB;QACD,IAAI;KACJ,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CACvC,OAAgB,EAChB,IAAmB;IAEnB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,OAAO,EAAC,IAAI,EAAC,CAAC;IACf,CAAC;IACD,OAAO,EAAC,GAAI,OAAmC,EAAE,IAAI,EAAC,CAAC;AACxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-extract.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/binding-extract.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"binding-extract.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/live/binding-extract.ts"],"names":[],"mappings":"AAGA,OAAO,EAMN,KAAK,gBAAgB,EACrB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,yBAAyB,GAAG;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAiIF;;;GAGG;AACH,wBAAgB,kCAAkC,CACjD,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,yBAA8B,GACrC,gBAAgB,GAAG,SAAS,CAmC9B"}
|
|
@@ -1,7 +1,34 @@
|
|
|
1
1
|
import { DEFAULT_CHART_MAX_POINTS } from '../schemas.js';
|
|
2
2
|
import { coerceFiniteNumber } from '../point-normalize.js';
|
|
3
3
|
import { intervalLabelToBucketSec } from './interval.js';
|
|
4
|
-
import { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, } from './schemas.js';
|
|
4
|
+
import { CHART_LIVE_DEFAULT_POLL_MS, CHART_LIVE_PROVIDER_ARCUS_ALL_MIDS, CHART_LIVE_PROVIDER_COINGECKO_SIMPLE, CHART_LIVE_PROVIDER_GMX_MARK_PRICE, CHART_LIVE_PROVIDER_HYPERLIQUID_ALL_MIDS, } from './schemas.js';
|
|
5
|
+
function bindingFromArcusOhlcv(ohlcv, options) {
|
|
6
|
+
if (ohlcv.dataSource !== 'arcus') {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
const marketRaw = ohlcv.market ?? ohlcv.coin;
|
|
10
|
+
const market = typeof marketRaw === 'string' ? marketRaw.trim() : '';
|
|
11
|
+
if (!market) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const intervalRaw = ohlcv.interval ?? ohlcv.timeframe;
|
|
15
|
+
const interval = typeof intervalRaw === 'string' ? intervalRaw.trim() : '';
|
|
16
|
+
const bucketSec = options.bucketSec ??
|
|
17
|
+
(interval ? intervalLabelToBucketSec(interval) : null) ??
|
|
18
|
+
900;
|
|
19
|
+
return {
|
|
20
|
+
providerId: CHART_LIVE_PROVIDER_ARCUS_ALL_MIDS,
|
|
21
|
+
bucketSec,
|
|
22
|
+
pollMs: options.pollMs ?? CHART_LIVE_DEFAULT_POLL_MS,
|
|
23
|
+
maxPoints: options.maxPoints ?? DEFAULT_CHART_MAX_POINTS,
|
|
24
|
+
params: {
|
|
25
|
+
market,
|
|
26
|
+
chainId: 4663,
|
|
27
|
+
...(interval ? { interval } : {}),
|
|
28
|
+
...(ohlcv.marketKind === 'spot' ? { marketKind: 'spot' } : {}),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
|
5
32
|
function bindingFromHyperliquidOhlcv(ohlcv, options) {
|
|
6
33
|
const coinRaw = ohlcv.coin ?? ohlcv.symbol;
|
|
7
34
|
const coin = typeof coinRaw === 'string' ? coinRaw.trim() : '';
|
|
@@ -95,7 +122,12 @@ export function extractLiveBindingFromFetchPayload(payload, options = {}) {
|
|
|
95
122
|
}
|
|
96
123
|
const ohlcv = record.ohlcv;
|
|
97
124
|
if (ohlcv && typeof ohlcv === 'object' && !Array.isArray(ohlcv)) {
|
|
98
|
-
const
|
|
125
|
+
const ohlcvRecord = ohlcv;
|
|
126
|
+
const fromArcus = bindingFromArcusOhlcv(ohlcvRecord, options);
|
|
127
|
+
if (fromArcus) {
|
|
128
|
+
return fromArcus;
|
|
129
|
+
}
|
|
130
|
+
const fromHl = bindingFromHyperliquidOhlcv(ohlcvRecord, options);
|
|
99
131
|
if (fromHl) {
|
|
100
132
|
return fromHl;
|
|
101
133
|
}
|