openalgo-script 0.1.0-alpha.1 → 0.2.0
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/CHANGELOG.md +1200 -0
- package/README.md +49 -28
- package/dist/adapters/charts/alerts.d.ts +70 -0
- package/dist/adapters/charts/alerts.d.ts.map +1 -0
- package/dist/adapters/charts/alerts.js +52 -0
- package/dist/adapters/charts/alerts.js.map +1 -0
- package/dist/adapters/charts/bars.d.ts +39 -0
- package/dist/adapters/charts/bars.d.ts.map +1 -0
- package/dist/adapters/charts/bars.js +32 -0
- package/dist/adapters/charts/bars.js.map +1 -0
- package/dist/adapters/charts/candles.d.ts +40 -0
- package/dist/adapters/charts/candles.d.ts.map +1 -0
- package/dist/adapters/charts/candles.js +85 -0
- package/dist/adapters/charts/candles.js.map +1 -0
- package/dist/adapters/charts/colours.d.ts +47 -0
- package/dist/adapters/charts/colours.d.ts.map +1 -0
- package/dist/adapters/charts/colours.js +80 -0
- package/dist/adapters/charts/colours.js.map +1 -0
- package/dist/adapters/charts/columns.d.ts +37 -0
- package/dist/adapters/charts/columns.d.ts.map +1 -0
- package/dist/adapters/charts/columns.js +56 -0
- package/dist/adapters/charts/columns.js.map +1 -0
- package/dist/adapters/charts/contract.d.ts +278 -0
- package/dist/adapters/charts/contract.d.ts.map +1 -0
- package/dist/adapters/charts/contract.js +2 -0
- package/dist/adapters/charts/contract.js.map +1 -0
- package/dist/adapters/charts/descriptor.d.ts +48 -0
- package/dist/adapters/charts/descriptor.d.ts.map +1 -0
- package/dist/adapters/charts/descriptor.js +111 -0
- package/dist/adapters/charts/descriptor.js.map +1 -0
- package/dist/adapters/charts/drawings.d.ts +43 -0
- package/dist/adapters/charts/drawings.d.ts.map +1 -0
- package/dist/adapters/charts/drawings.js +172 -0
- package/dist/adapters/charts/drawings.js.map +1 -0
- package/dist/adapters/charts/errors.d.ts +28 -0
- package/dist/adapters/charts/errors.d.ts.map +1 -0
- package/dist/adapters/charts/errors.js +21 -0
- package/dist/adapters/charts/errors.js.map +1 -0
- package/dist/adapters/charts/fields.d.ts +33 -0
- package/dist/adapters/charts/fields.d.ts.map +1 -0
- package/dist/adapters/charts/fields.js +51 -0
- package/dist/adapters/charts/fields.js.map +1 -0
- package/dist/adapters/charts/fills.d.ts +23 -0
- package/dist/adapters/charts/fills.d.ts.map +1 -0
- package/dist/adapters/charts/fills.js +48 -0
- package/dist/adapters/charts/fills.js.map +1 -0
- package/dist/adapters/charts/index.d.ts +37 -0
- package/dist/adapters/charts/index.d.ts.map +1 -0
- package/dist/adapters/charts/index.js +33 -0
- package/dist/adapters/charts/index.js.map +1 -0
- package/dist/adapters/charts/levels.d.ts +39 -0
- package/dist/adapters/charts/levels.d.ts.map +1 -0
- package/dist/adapters/charts/levels.js +61 -0
- package/dist/adapters/charts/levels.js.map +1 -0
- package/dist/adapters/charts/markers.d.ts +41 -0
- package/dist/adapters/charts/markers.d.ts.map +1 -0
- package/dist/adapters/charts/markers.js +75 -0
- package/dist/adapters/charts/markers.js.map +1 -0
- package/dist/adapters/charts/paint.d.ts +61 -0
- package/dist/adapters/charts/paint.d.ts.map +1 -0
- package/dist/adapters/charts/paint.js +47 -0
- package/dist/adapters/charts/paint.js.map +1 -0
- package/dist/adapters/charts/plots.d.ts +39 -0
- package/dist/adapters/charts/plots.d.ts.map +1 -0
- package/dist/adapters/charts/plots.js +117 -0
- package/dist/adapters/charts/plots.js.map +1 -0
- package/dist/adapters/charts/produced.d.ts +57 -0
- package/dist/adapters/charts/produced.d.ts.map +1 -0
- package/dist/adapters/charts/produced.js +11 -0
- package/dist/adapters/charts/produced.js.map +1 -0
- package/dist/adapters/charts/requests.d.ts +114 -0
- package/dist/adapters/charts/requests.d.ts.map +1 -0
- package/dist/adapters/charts/requests.js +277 -0
- package/dist/adapters/charts/requests.js.map +1 -0
- package/dist/adapters/charts/run.d.ts +147 -0
- package/dist/adapters/charts/run.d.ts.map +1 -0
- package/dist/adapters/charts/run.js +148 -0
- package/dist/adapters/charts/run.js.map +1 -0
- package/dist/adapters/charts/settings.d.ts +78 -0
- package/dist/adapters/charts/settings.d.ts.map +1 -0
- package/dist/adapters/charts/settings.js +225 -0
- package/dist/adapters/charts/settings.js.map +1 -0
- package/dist/adapters/charts/surfaces.d.ts +204 -0
- package/dist/adapters/charts/surfaces.d.ts.map +1 -0
- package/dist/adapters/charts/surfaces.js +2 -0
- package/dist/adapters/charts/surfaces.js.map +1 -0
- package/dist/adapters/charts/tables.d.ts +65 -0
- package/dist/adapters/charts/tables.d.ts.map +1 -0
- package/dist/adapters/charts/tables.js +84 -0
- package/dist/adapters/charts/tables.js.map +1 -0
- package/dist/core/catalogue/catalogue.generated.d.ts +98 -10
- package/dist/core/catalogue/catalogue.generated.d.ts.map +1 -1
- package/dist/core/catalogue/catalogue.generated.js +17 -9
- package/dist/core/catalogue/catalogue.generated.js.map +1 -1
- package/dist/core/catalogue/values.generated.d.ts +25 -0
- package/dist/core/catalogue/values.generated.d.ts.map +1 -1
- package/dist/core/check/arguments.d.ts +41 -0
- package/dist/core/check/arguments.d.ts.map +1 -0
- package/dist/core/check/arguments.js +84 -0
- package/dist/core/check/arguments.js.map +1 -0
- package/dist/core/check/call-sites.d.ts +22 -0
- package/dist/core/check/call-sites.d.ts.map +1 -0
- package/dist/core/check/call-sites.js +329 -0
- package/dist/core/check/call-sites.js.map +1 -0
- package/dist/core/check/call-warmup.d.ts +37 -0
- package/dist/core/check/call-warmup.d.ts.map +1 -0
- package/dist/core/check/call-warmup.js +97 -0
- package/dist/core/check/call-warmup.js.map +1 -0
- package/dist/core/check/calls.d.ts +33 -0
- package/dist/core/check/calls.d.ts.map +1 -0
- package/dist/core/check/calls.js +348 -0
- package/dist/core/check/calls.js.map +1 -0
- package/dist/core/check/check.d.ts +23 -0
- package/dist/core/check/check.d.ts.map +1 -0
- package/dist/core/check/check.js +163 -0
- package/dist/core/check/check.js.map +1 -0
- package/dist/core/check/checked.d.ts +198 -0
- package/dist/core/check/checked.d.ts.map +1 -0
- package/dist/core/check/checked.js +19 -0
- package/dist/core/check/checked.js.map +1 -0
- package/dist/core/check/checker.d.ts +182 -0
- package/dist/core/check/checker.d.ts.map +1 -0
- package/dist/core/check/checker.js +280 -0
- package/dist/core/check/checker.js.map +1 -0
- package/dist/core/check/conditional.d.ts +35 -0
- package/dist/core/check/conditional.d.ts.map +1 -0
- package/dist/core/check/conditional.js +100 -0
- package/dist/core/check/conditional.js.map +1 -0
- package/dist/core/check/constant.d.ts +47 -0
- package/dist/core/check/constant.d.ts.map +1 -0
- package/dist/core/check/constant.js +101 -0
- package/dist/core/check/constant.js.map +1 -0
- package/dist/core/check/declaration.d.ts +33 -0
- package/dist/core/check/declaration.d.ts.map +1 -0
- package/dist/core/check/declaration.js +181 -0
- package/dist/core/check/declaration.js.map +1 -0
- package/dist/core/check/expressions.d.ts +36 -0
- package/dist/core/check/expressions.d.ts.map +1 -0
- package/dist/core/check/expressions.js +398 -0
- package/dist/core/check/expressions.js.map +1 -0
- package/dist/core/check/functions.d.ts +31 -0
- package/dist/core/check/functions.d.ts.map +1 -0
- package/dist/core/check/functions.js +238 -0
- package/dist/core/check/functions.js.map +1 -0
- package/dist/core/check/handles.d.ts +48 -0
- package/dist/core/check/handles.d.ts.map +1 -0
- package/dist/core/check/handles.js +43 -0
- package/dist/core/check/handles.js.map +1 -0
- package/dist/core/check/index.d.ts +30 -0
- package/dist/core/check/index.d.ts.map +1 -0
- package/dist/core/check/index.js +26 -0
- package/dist/core/check/index.js.map +1 -0
- package/dist/core/check/library-bars.d.ts +7 -0
- package/dist/core/check/library-bars.d.ts.map +1 -0
- package/dist/core/check/library-bars.js +181 -0
- package/dist/core/check/library-bars.js.map +1 -0
- package/dist/core/check/library-orders.d.ts +5 -0
- package/dist/core/check/library-orders.d.ts.map +1 -0
- package/dist/core/check/library-orders.js +250 -0
- package/dist/core/check/library-orders.js.map +1 -0
- package/dist/core/check/library-output.d.ts +7 -0
- package/dist/core/check/library-output.d.ts.map +1 -0
- package/dist/core/check/library-output.js +195 -0
- package/dist/core/check/library-output.js.map +1 -0
- package/dist/core/check/library-series.d.ts +3 -0
- package/dist/core/check/library-series.d.ts.map +1 -0
- package/dist/core/check/library-series.js +415 -0
- package/dist/core/check/library-series.js.map +1 -0
- package/dist/core/check/library.d.ts +204 -0
- package/dist/core/check/library.d.ts.map +1 -0
- package/dist/core/check/library.js +198 -0
- package/dist/core/check/library.js.map +1 -0
- package/dist/core/check/literals.d.ts +19 -0
- package/dist/core/check/literals.d.ts.map +1 -0
- package/dist/core/check/literals.js +22 -0
- package/dist/core/check/literals.js.map +1 -0
- package/dist/core/check/outputs.d.ts +31 -0
- package/dist/core/check/outputs.d.ts.map +1 -0
- package/dist/core/check/outputs.js +113 -0
- package/dist/core/check/outputs.js.map +1 -0
- package/dist/core/check/statements.d.ts +25 -0
- package/dist/core/check/statements.d.ts.map +1 -0
- package/dist/core/check/statements.js +377 -0
- package/dist/core/check/statements.js.map +1 -0
- package/dist/core/check/suggest.d.ts +25 -0
- package/dist/core/check/suggest.d.ts.map +1 -0
- package/dist/core/check/suggest.js +61 -0
- package/dist/core/check/suggest.js.map +1 -0
- package/dist/core/check/surface.d.ts +38 -0
- package/dist/core/check/surface.d.ts.map +1 -0
- package/dist/core/check/surface.js +100 -0
- package/dist/core/check/surface.js.map +1 -0
- package/dist/core/check/tags.d.ts +4 -0
- package/dist/core/check/tags.d.ts.map +1 -0
- package/dist/core/check/tags.js +54 -0
- package/dist/core/check/tags.js.map +1 -0
- package/dist/core/check/types.d.ts +153 -0
- package/dist/core/check/types.d.ts.map +1 -0
- package/dist/core/check/types.js +221 -0
- package/dist/core/check/types.js.map +1 -0
- package/dist/core/check/warmup.d.ts +73 -0
- package/dist/core/check/warmup.d.ts.map +1 -0
- package/dist/core/check/warmup.js +62 -0
- package/dist/core/check/warmup.js.map +1 -0
- package/dist/core/diagnostics/collector.d.ts +12 -0
- package/dist/core/diagnostics/collector.d.ts.map +1 -1
- package/dist/core/diagnostics/collector.js +27 -1
- package/dist/core/diagnostics/collector.js.map +1 -1
- package/dist/core/emit/calls.d.ts +38 -0
- package/dist/core/emit/calls.d.ts.map +1 -0
- package/dist/core/emit/calls.js +347 -0
- package/dist/core/emit/calls.js.map +1 -0
- package/dist/core/emit/canonical.d.ts +39 -0
- package/dist/core/emit/canonical.d.ts.map +1 -0
- package/dist/core/emit/canonical.js +71 -0
- package/dist/core/emit/canonical.js.map +1 -0
- package/dist/core/emit/channels.d.ts +28 -0
- package/dist/core/emit/channels.d.ts.map +1 -0
- package/dist/core/emit/channels.js +110 -0
- package/dist/core/emit/channels.js.map +1 -0
- package/dist/core/emit/code.d.ts +75 -0
- package/dist/core/emit/code.d.ts.map +1 -0
- package/dist/core/emit/code.js +104 -0
- package/dist/core/emit/code.js.map +1 -0
- package/dist/core/emit/colours.d.ts +35 -0
- package/dist/core/emit/colours.d.ts.map +1 -0
- package/dist/core/emit/colours.js +50 -0
- package/dist/core/emit/colours.js.map +1 -0
- package/dist/core/emit/context.d.ts +271 -0
- package/dist/core/emit/context.d.ts.map +1 -0
- package/dist/core/emit/context.js +358 -0
- package/dist/core/emit/context.js.map +1 -0
- package/dist/core/emit/defaults.d.ts +45 -0
- package/dist/core/emit/defaults.d.ts.map +1 -0
- package/dist/core/emit/defaults.js +116 -0
- package/dist/core/emit/defaults.js.map +1 -0
- package/dist/core/emit/emit.d.ts +13 -0
- package/dist/core/emit/emit.d.ts.map +1 -0
- package/dist/core/emit/emit.js +281 -0
- package/dist/core/emit/emit.js.map +1 -0
- package/dist/core/emit/events.d.ts +21 -0
- package/dist/core/emit/events.d.ts.map +1 -0
- package/dist/core/emit/events.js +112 -0
- package/dist/core/emit/events.js.map +1 -0
- package/dist/core/emit/expressions.d.ts +23 -0
- package/dist/core/emit/expressions.d.ts.map +1 -0
- package/dist/core/emit/expressions.js +253 -0
- package/dist/core/emit/expressions.js.map +1 -0
- package/dist/core/emit/functions.d.ts +30 -0
- package/dist/core/emit/functions.d.ts.map +1 -0
- package/dist/core/emit/functions.js +171 -0
- package/dist/core/emit/functions.js.map +1 -0
- package/dist/core/emit/gaps.d.ts +34 -0
- package/dist/core/emit/gaps.d.ts.map +1 -0
- package/dist/core/emit/gaps.js +16 -0
- package/dist/core/emit/gaps.js.map +1 -0
- package/dist/core/emit/index.d.ts +29 -0
- package/dist/core/emit/index.d.ts.map +1 -0
- package/dist/core/emit/index.js +23 -0
- package/dist/core/emit/index.js.map +1 -0
- package/dist/core/emit/inputs.d.ts +47 -0
- package/dist/core/emit/inputs.d.ts.map +1 -0
- package/dist/core/emit/inputs.js +150 -0
- package/dist/core/emit/inputs.js.map +1 -0
- package/dist/core/emit/layout.d.ts +73 -0
- package/dist/core/emit/layout.d.ts.map +1 -0
- package/dist/core/emit/layout.js +126 -0
- package/dist/core/emit/layout.js.map +1 -0
- package/dist/core/emit/meta.d.ts +14 -0
- package/dist/core/emit/meta.d.ts.map +1 -0
- package/dist/core/emit/meta.js +68 -0
- package/dist/core/emit/meta.js.map +1 -0
- package/dist/core/emit/opcodes.d.ts +28 -0
- package/dist/core/emit/opcodes.d.ts.map +1 -0
- package/dist/core/emit/opcodes.js +137 -0
- package/dist/core/emit/opcodes.js.map +1 -0
- package/dist/core/emit/outputs.d.ts +67 -0
- package/dist/core/emit/outputs.d.ts.map +1 -0
- package/dist/core/emit/outputs.js +293 -0
- package/dist/core/emit/outputs.js.map +1 -0
- package/dist/core/emit/pool.d.ts +33 -0
- package/dist/core/emit/pool.d.ts.map +1 -0
- package/dist/core/emit/pool.js +79 -0
- package/dist/core/emit/pool.js.map +1 -0
- package/dist/core/emit/program.d.ts +333 -0
- package/dist/core/emit/program.d.ts.map +1 -0
- package/dist/core/emit/program.js +15 -0
- package/dist/core/emit/program.js.map +1 -0
- package/dist/core/emit/registers.d.ts +35 -0
- package/dist/core/emit/registers.d.ts.map +1 -0
- package/dist/core/emit/registers.js +170 -0
- package/dist/core/emit/registers.js.map +1 -0
- package/dist/core/emit/request-scope.d.ts +36 -0
- package/dist/core/emit/request-scope.d.ts.map +1 -0
- package/dist/core/emit/request-scope.js +41 -0
- package/dist/core/emit/request-scope.js.map +1 -0
- package/dist/core/emit/requests.d.ts +69 -0
- package/dist/core/emit/requests.d.ts.map +1 -0
- package/dist/core/emit/requests.js +230 -0
- package/dist/core/emit/requests.js.map +1 -0
- package/dist/core/emit/requires.d.ts +4 -0
- package/dist/core/emit/requires.d.ts.map +1 -0
- package/dist/core/emit/requires.js +71 -0
- package/dist/core/emit/requires.js.map +1 -0
- package/dist/core/emit/sha256.d.ts +24 -0
- package/dist/core/emit/sha256.d.ts.map +1 -0
- package/dist/core/emit/sha256.js +109 -0
- package/dist/core/emit/sha256.js.map +1 -0
- package/dist/core/emit/statements.d.ts +20 -0
- package/dist/core/emit/statements.d.ts.map +1 -0
- package/dist/core/emit/statements.js +393 -0
- package/dist/core/emit/statements.js.map +1 -0
- package/dist/core/emit/values.d.ts +80 -0
- package/dist/core/emit/values.d.ts.map +1 -0
- package/dist/core/emit/values.js +242 -0
- package/dist/core/emit/values.js.map +1 -0
- package/dist/core/engine/alerts.d.ts +66 -0
- package/dist/core/engine/alerts.d.ts.map +1 -0
- package/dist/core/engine/alerts.js +119 -0
- package/dist/core/engine/alerts.js.map +1 -0
- package/dist/core/engine/arithmetic.d.ts +82 -0
- package/dist/core/engine/arithmetic.d.ts.map +1 -0
- package/dist/core/engine/arithmetic.js +141 -0
- package/dist/core/engine/arithmetic.js.map +1 -0
- package/dist/core/engine/bars.d.ts +95 -0
- package/dist/core/engine/bars.d.ts.map +1 -0
- package/dist/core/engine/bars.js +133 -0
- package/dist/core/engine/bars.js.map +1 -0
- package/dist/core/engine/budget.d.ts +162 -0
- package/dist/core/engine/budget.d.ts.map +1 -0
- package/dist/core/engine/budget.js +188 -0
- package/dist/core/engine/budget.js.map +1 -0
- package/dist/core/engine/channels.d.ts +106 -0
- package/dist/core/engine/channels.d.ts.map +1 -0
- package/dist/core/engine/channels.js +99 -0
- package/dist/core/engine/channels.js.map +1 -0
- package/dist/core/engine/drawings.d.ts +64 -0
- package/dist/core/engine/drawings.d.ts.map +1 -0
- package/dist/core/engine/drawings.js +67 -0
- package/dist/core/engine/drawings.js.map +1 -0
- package/dist/core/engine/engine.d.ts +140 -0
- package/dist/core/engine/engine.d.ts.map +1 -0
- package/dist/core/engine/engine.js +405 -0
- package/dist/core/engine/engine.js.map +1 -0
- package/dist/core/engine/errors.d.ts +64 -0
- package/dist/core/engine/errors.d.ts.map +1 -0
- package/dist/core/engine/errors.js +63 -0
- package/dist/core/engine/errors.js.map +1 -0
- package/dist/core/engine/frames.d.ts +48 -0
- package/dist/core/engine/frames.d.ts.map +1 -0
- package/dist/core/engine/frames.js +41 -0
- package/dist/core/engine/frames.js.map +1 -0
- package/dist/core/engine/grids.d.ts +25 -0
- package/dist/core/engine/grids.d.ts.map +1 -0
- package/dist/core/engine/grids.js +77 -0
- package/dist/core/engine/grids.js.map +1 -0
- package/dist/core/engine/guard.d.ts +4 -0
- package/dist/core/engine/guard.d.ts.map +1 -0
- package/dist/core/engine/guard.js +46 -0
- package/dist/core/engine/guard.js.map +1 -0
- package/dist/core/engine/host.d.ts +219 -0
- package/dist/core/engine/host.d.ts.map +1 -0
- package/dist/core/engine/host.js +38 -0
- package/dist/core/engine/host.js.map +1 -0
- package/dist/core/engine/index.d.ts +49 -0
- package/dist/core/engine/index.d.ts.map +1 -0
- package/dist/core/engine/index.js +33 -0
- package/dist/core/engine/index.js.map +1 -0
- package/dist/core/engine/inputs.d.ts +77 -0
- package/dist/core/engine/inputs.d.ts.map +1 -0
- package/dist/core/engine/inputs.js +205 -0
- package/dist/core/engine/inputs.js.map +1 -0
- package/dist/core/engine/ledger/call.d.ts +63 -0
- package/dist/core/engine/ledger/call.d.ts.map +1 -0
- package/dist/core/engine/ledger/call.js +136 -0
- package/dist/core/engine/ledger/call.js.map +1 -0
- package/dist/core/engine/ledger/closable.d.ts +155 -0
- package/dist/core/engine/ledger/closable.d.ts.map +1 -0
- package/dist/core/engine/ledger/closable.js +173 -0
- package/dist/core/engine/ledger/closable.js.map +1 -0
- package/dist/core/engine/ledger/holdings.d.ts +194 -0
- package/dist/core/engine/ledger/holdings.d.ts.map +1 -0
- package/dist/core/engine/ledger/holdings.js +237 -0
- package/dist/core/engine/ledger/holdings.js.map +1 -0
- package/dist/core/engine/ledger/index.d.ts +19 -0
- package/dist/core/engine/ledger/index.d.ts.map +1 -0
- package/dist/core/engine/ledger/index.js +2 -0
- package/dist/core/engine/ledger/index.js.map +1 -0
- package/dist/core/engine/ledger/intent.d.ts +106 -0
- package/dist/core/engine/ledger/intent.d.ts.map +1 -0
- package/dist/core/engine/ledger/intent.js +21 -0
- package/dist/core/engine/ledger/intent.js.map +1 -0
- package/dist/core/engine/ledger/ledger.d.ts +143 -0
- package/dist/core/engine/ledger/ledger.d.ts.map +1 -0
- package/dist/core/engine/ledger/ledger.js +237 -0
- package/dist/core/engine/ledger/ledger.js.map +1 -0
- package/dist/core/engine/ledger/place.d.ts +75 -0
- package/dist/core/engine/ledger/place.d.ts.map +1 -0
- package/dist/core/engine/ledger/place.js +174 -0
- package/dist/core/engine/ledger/place.js.map +1 -0
- package/dist/core/engine/ledger/positions.d.ts +68 -0
- package/dist/core/engine/ledger/positions.d.ts.map +1 -0
- package/dist/core/engine/ledger/positions.js +114 -0
- package/dist/core/engine/ledger/positions.js.map +1 -0
- package/dist/core/engine/ledger/refuse.d.ts +43 -0
- package/dist/core/engine/ledger/refuse.d.ts.map +1 -0
- package/dist/core/engine/ledger/refuse.js +329 -0
- package/dist/core/engine/ledger/refuse.js.map +1 -0
- package/dist/core/engine/ledger/row.d.ts +176 -0
- package/dist/core/engine/ledger/row.d.ts.map +1 -0
- package/dist/core/engine/ledger/row.js +169 -0
- package/dist/core/engine/ledger/row.js.map +1 -0
- package/dist/core/engine/ledger/sizing.d.ts +142 -0
- package/dist/core/engine/ledger/sizing.d.ts.map +1 -0
- package/dist/core/engine/ledger/sizing.js +223 -0
- package/dist/core/engine/ledger/sizing.js.map +1 -0
- package/dist/core/engine/library/arrays.d.ts +14 -0
- package/dist/core/engine/library/arrays.d.ts.map +1 -0
- package/dist/core/engine/library/arrays.js +285 -0
- package/dist/core/engine/library/arrays.js.map +1 -0
- package/dist/core/engine/library/averages.d.ts +9 -0
- package/dist/core/engine/library/averages.d.ts.map +1 -0
- package/dist/core/engine/library/averages.js +41 -0
- package/dist/core/engine/library/averages.js.map +1 -0
- package/dist/core/engine/library/binding.d.ts +230 -0
- package/dist/core/engine/library/binding.d.ts.map +1 -0
- package/dist/core/engine/library/binding.js +109 -0
- package/dist/core/engine/library/binding.js.map +1 -0
- package/dist/core/engine/library/chart.d.ts +3 -0
- package/dist/core/engine/library/chart.d.ts.map +1 -0
- package/dist/core/engine/library/chart.js +83 -0
- package/dist/core/engine/library/chart.js.map +1 -0
- package/dist/core/engine/library/colours.d.ts +26 -0
- package/dist/core/engine/library/colours.d.ts.map +1 -0
- package/dist/core/engine/library/colours.js +81 -0
- package/dist/core/engine/library/colours.js.map +1 -0
- package/dist/core/engine/library/dates.d.ts +3 -0
- package/dist/core/engine/library/dates.d.ts.map +1 -0
- package/dist/core/engine/library/dates.js +75 -0
- package/dist/core/engine/library/dates.js.map +1 -0
- package/dist/core/engine/library/index.d.ts +13 -0
- package/dist/core/engine/library/index.d.ts.map +1 -0
- package/dist/core/engine/library/index.js +86 -0
- package/dist/core/engine/library/index.js.map +1 -0
- package/dist/core/engine/library/maths.d.ts +3 -0
- package/dist/core/engine/library/maths.d.ts.map +1 -0
- package/dist/core/engine/library/maths.js +89 -0
- package/dist/core/engine/library/maths.js.map +1 -0
- package/dist/core/engine/library/objects.d.ts +3 -0
- package/dist/core/engine/library/objects.d.ts.map +1 -0
- package/dist/core/engine/library/objects.js +199 -0
- package/dist/core/engine/library/objects.js.map +1 -0
- package/dist/core/engine/library/oscillators.d.ts +3 -0
- package/dist/core/engine/library/oscillators.d.ts.map +1 -0
- package/dist/core/engine/library/oscillators.js +29 -0
- package/dist/core/engine/library/oscillators.js.map +1 -0
- package/dist/core/engine/library/ranges.d.ts +3 -0
- package/dist/core/engine/library/ranges.d.ts.map +1 -0
- package/dist/core/engine/library/ranges.js +23 -0
- package/dist/core/engine/library/ranges.js.map +1 -0
- package/dist/core/engine/library/series.d.ts +3 -0
- package/dist/core/engine/library/series.d.ts.map +1 -0
- package/dist/core/engine/library/series.js +46 -0
- package/dist/core/engine/library/series.js.map +1 -0
- package/dist/core/engine/library/state.d.ts +35 -0
- package/dist/core/engine/library/state.d.ts.map +1 -0
- package/dist/core/engine/library/state.js +19 -0
- package/dist/core/engine/library/state.js.map +1 -0
- package/dist/core/engine/library/studies.d.ts +3 -0
- package/dist/core/engine/library/studies.d.ts.map +1 -0
- package/dist/core/engine/library/studies.js +35 -0
- package/dist/core/engine/library/studies.js.map +1 -0
- package/dist/core/engine/library/text.d.ts +6 -0
- package/dist/core/engine/library/text.d.ts.map +1 -0
- package/dist/core/engine/library/text.js +280 -0
- package/dist/core/engine/library/text.js.map +1 -0
- package/dist/core/engine/library/trend.d.ts +3 -0
- package/dist/core/engine/library/trend.d.ts.map +1 -0
- package/dist/core/engine/library/trend.js +29 -0
- package/dist/core/engine/library/trend.js.map +1 -0
- package/dist/core/engine/library/volume.d.ts +3 -0
- package/dist/core/engine/library/volume.d.ts.map +1 -0
- package/dist/core/engine/library/volume.js +51 -0
- package/dist/core/engine/library/volume.js.map +1 -0
- package/dist/core/engine/load.d.ts +45 -0
- package/dist/core/engine/load.d.ts.map +1 -0
- package/dist/core/engine/load.js +60 -0
- package/dist/core/engine/load.js.map +1 -0
- package/dist/core/engine/machine.d.ts +107 -0
- package/dist/core/engine/machine.d.ts.map +1 -0
- package/dist/core/engine/machine.js +337 -0
- package/dist/core/engine/machine.js.map +1 -0
- package/dist/core/engine/memory.d.ts +60 -0
- package/dist/core/engine/memory.d.ts.map +1 -0
- package/dist/core/engine/memory.js +92 -0
- package/dist/core/engine/memory.js.map +1 -0
- package/dist/core/engine/operations.d.ts +62 -0
- package/dist/core/engine/operations.d.ts.map +1 -0
- package/dist/core/engine/operations.js +149 -0
- package/dist/core/engine/operations.js.map +1 -0
- package/dist/core/engine/orders.d.ts +56 -0
- package/dist/core/engine/orders.d.ts.map +1 -0
- package/dist/core/engine/orders.js +83 -0
- package/dist/core/engine/orders.js.map +1 -0
- package/dist/core/engine/registers.d.ts +50 -0
- package/dist/core/engine/registers.d.ts.map +1 -0
- package/dist/core/engine/registers.js +85 -0
- package/dist/core/engine/registers.js.map +1 -0
- package/dist/core/engine/request-body.d.ts +138 -0
- package/dist/core/engine/request-body.d.ts.map +1 -0
- package/dist/core/engine/request-body.js +227 -0
- package/dist/core/engine/request-body.js.map +1 -0
- package/dist/core/engine/request-plan.d.ts +79 -0
- package/dist/core/engine/request-plan.d.ts.map +1 -0
- package/dist/core/engine/request-plan.js +228 -0
- package/dist/core/engine/request-plan.js.map +1 -0
- package/dist/core/engine/requests.d.ts +105 -0
- package/dist/core/engine/requests.d.ts.map +1 -0
- package/dist/core/engine/requests.js +260 -0
- package/dist/core/engine/requests.js.map +1 -0
- package/dist/core/engine/results.d.ts +40 -0
- package/dist/core/engine/results.d.ts.map +1 -0
- package/dist/core/engine/results.js +2 -0
- package/dist/core/engine/results.js.map +1 -0
- package/dist/core/engine/series.d.ts +61 -0
- package/dist/core/engine/series.d.ts.map +1 -0
- package/dist/core/engine/series.js +41 -0
- package/dist/core/engine/series.js.map +1 -0
- package/dist/core/engine/session/hours.d.ts +49 -0
- package/dist/core/engine/session/hours.d.ts.map +1 -0
- package/dist/core/engine/session/hours.js +31 -0
- package/dist/core/engine/session/hours.js.map +1 -0
- package/dist/core/engine/session/index.d.ts +17 -0
- package/dist/core/engine/session/index.d.ts.map +1 -0
- package/dist/core/engine/session/index.js +3 -0
- package/dist/core/engine/session/index.js.map +1 -0
- package/dist/core/engine/session/record.d.ts +56 -0
- package/dist/core/engine/session/record.d.ts.map +1 -0
- package/dist/core/engine/session/record.js +165 -0
- package/dist/core/engine/session/record.js.map +1 -0
- package/dist/core/engine/session/spec.d.ts +19 -0
- package/dist/core/engine/session/spec.d.ts.map +1 -0
- package/dist/core/engine/session/spec.js +31 -0
- package/dist/core/engine/session/spec.js.map +1 -0
- package/dist/core/engine/timeframe.d.ts +59 -0
- package/dist/core/engine/timeframe.d.ts.map +1 -0
- package/dist/core/engine/timeframe.js +140 -0
- package/dist/core/engine/timeframe.js.map +1 -0
- package/dist/core/engine/types.d.ts +15 -0
- package/dist/core/engine/types.d.ts.map +1 -0
- package/dist/core/engine/types.js +2 -0
- package/dist/core/engine/types.js.map +1 -0
- package/dist/core/engine/values/heap.d.ts +134 -0
- package/dist/core/engine/values/heap.d.ts.map +1 -0
- package/dist/core/engine/values/heap.js +230 -0
- package/dist/core/engine/values/heap.js.map +1 -0
- package/dist/core/engine/values/index.d.ts +13 -0
- package/dist/core/engine/values/index.d.ts.map +1 -0
- package/dist/core/engine/values/index.js +3 -0
- package/dist/core/engine/values/index.js.map +1 -0
- package/dist/core/engine/values/value.d.ts +82 -0
- package/dist/core/engine/values/value.d.ts.map +1 -0
- package/dist/core/engine/values/value.js +134 -0
- package/dist/core/engine/values/value.js.map +1 -0
- package/dist/core/engine/verify-budgets.d.ts +35 -0
- package/dist/core/engine/verify-budgets.d.ts.map +1 -0
- package/dist/core/engine/verify-budgets.js +172 -0
- package/dist/core/engine/verify-budgets.js.map +1 -0
- package/dist/core/engine/verify-code.d.ts +32 -0
- package/dist/core/engine/verify-code.d.ts.map +1 -0
- package/dist/core/engine/verify-code.js +278 -0
- package/dist/core/engine/verify-code.js.map +1 -0
- package/dist/core/engine/verify-requests.d.ts +44 -0
- package/dist/core/engine/verify-requests.d.ts.map +1 -0
- package/dist/core/engine/verify-requests.js +220 -0
- package/dist/core/engine/verify-requests.js.map +1 -0
- package/dist/core/engine/verify-shape.d.ts +46 -0
- package/dist/core/engine/verify-shape.d.ts.map +1 -0
- package/dist/core/engine/verify-shape.js +147 -0
- package/dist/core/engine/verify-shape.js.map +1 -0
- package/dist/core/engine/verify-tables.d.ts +19 -0
- package/dist/core/engine/verify-tables.d.ts.map +1 -0
- package/dist/core/engine/verify-tables.js +171 -0
- package/dist/core/engine/verify-tables.js.map +1 -0
- package/dist/core/engine/verify.d.ts +19 -0
- package/dist/core/engine/verify.d.ts.map +1 -0
- package/dist/core/engine/verify.js +309 -0
- package/dist/core/engine/verify.js.map +1 -0
- package/dist/core/index.d.ts +61 -6
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +48 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/parse/expressions.js +1 -1
- package/dist/core/parse/expressions.js.map +1 -1
- package/dist/core/parse/names.d.ts +7 -1
- package/dist/core/parse/names.d.ts.map +1 -1
- package/dist/core/parse/names.js +28 -2
- package/dist/core/parse/names.js.map +1 -1
- package/dist/core/stdlib/averages/exponential.d.ts +51 -0
- package/dist/core/stdlib/averages/exponential.d.ts.map +1 -0
- package/dist/core/stdlib/averages/exponential.js +72 -0
- package/dist/core/stdlib/averages/exponential.js.map +1 -0
- package/dist/core/stdlib/averages/index.d.ts +7 -0
- package/dist/core/stdlib/averages/index.d.ts.map +1 -0
- package/dist/core/stdlib/averages/index.js +5 -0
- package/dist/core/stdlib/averages/index.js.map +1 -0
- package/dist/core/stdlib/averages/select.d.ts +35 -0
- package/dist/core/stdlib/averages/select.d.ts.map +1 -0
- package/dist/core/stdlib/averages/select.js +43 -0
- package/dist/core/stdlib/averages/select.js.map +1 -0
- package/dist/core/stdlib/averages/shaped.d.ts +61 -0
- package/dist/core/stdlib/averages/shaped.d.ts.map +1 -0
- package/dist/core/stdlib/averages/shaped.js +126 -0
- package/dist/core/stdlib/averages/shaped.js.map +1 -0
- package/dist/core/stdlib/averages/simple.d.ts +58 -0
- package/dist/core/stdlib/averages/simple.d.ts.map +1 -0
- package/dist/core/stdlib/averages/simple.js +92 -0
- package/dist/core/stdlib/averages/simple.js.map +1 -0
- package/dist/core/stdlib/calendar/civil.d.ts +56 -0
- package/dist/core/stdlib/calendar/civil.d.ts.map +1 -0
- package/dist/core/stdlib/calendar/civil.js +70 -0
- package/dist/core/stdlib/calendar/civil.js.map +1 -0
- package/dist/core/stdlib/calendar/fields.d.ts +36 -0
- package/dist/core/stdlib/calendar/fields.d.ts.map +1 -0
- package/dist/core/stdlib/calendar/fields.js +93 -0
- package/dist/core/stdlib/calendar/fields.js.map +1 -0
- package/dist/core/stdlib/calendar/format.d.ts +19 -0
- package/dist/core/stdlib/calendar/format.d.ts.map +1 -0
- package/dist/core/stdlib/calendar/format.js +51 -0
- package/dist/core/stdlib/calendar/format.js.map +1 -0
- package/dist/core/stdlib/calendar/index.d.ts +7 -0
- package/dist/core/stdlib/calendar/index.d.ts.map +1 -0
- package/dist/core/stdlib/calendar/index.js +5 -0
- package/dist/core/stdlib/calendar/index.js.map +1 -0
- package/dist/core/stdlib/calendar/zone.d.ts +53 -0
- package/dist/core/stdlib/calendar/zone.d.ts.map +1 -0
- package/dist/core/stdlib/calendar/zone.js +138 -0
- package/dist/core/stdlib/calendar/zone.js.map +1 -0
- package/dist/core/stdlib/index.d.ts +57 -0
- package/dist/core/stdlib/index.d.ts.map +1 -0
- package/dist/core/stdlib/index.js +51 -0
- package/dist/core/stdlib/index.js.map +1 -0
- package/dist/core/stdlib/maths/arithmetic.d.ts +38 -0
- package/dist/core/stdlib/maths/arithmetic.d.ts.map +1 -0
- package/dist/core/stdlib/maths/arithmetic.js +66 -0
- package/dist/core/stdlib/maths/arithmetic.js.map +1 -0
- package/dist/core/stdlib/maths/elementary.d.ts +65 -0
- package/dist/core/stdlib/maths/elementary.d.ts.map +1 -0
- package/dist/core/stdlib/maths/elementary.js +93 -0
- package/dist/core/stdlib/maths/elementary.js.map +1 -0
- package/dist/core/stdlib/maths/index.d.ts +4 -0
- package/dist/core/stdlib/maths/index.d.ts.map +1 -0
- package/dist/core/stdlib/maths/index.js +4 -0
- package/dist/core/stdlib/maths/index.js.map +1 -0
- package/dist/core/stdlib/maths/rounding.d.ts +43 -0
- package/dist/core/stdlib/maths/rounding.d.ts.map +1 -0
- package/dist/core/stdlib/maths/rounding.js +62 -0
- package/dist/core/stdlib/maths/rounding.js.map +1 -0
- package/dist/core/stdlib/momentum/convergence.d.ts +36 -0
- package/dist/core/stdlib/momentum/convergence.d.ts.map +1 -0
- package/dist/core/stdlib/momentum/convergence.js +48 -0
- package/dist/core/stdlib/momentum/convergence.js.map +1 -0
- package/dist/core/stdlib/momentum/index.d.ts +6 -0
- package/dist/core/stdlib/momentum/index.d.ts.map +1 -0
- package/dist/core/stdlib/momentum/index.js +6 -0
- package/dist/core/stdlib/momentum/index.js.map +1 -0
- package/dist/core/stdlib/momentum/pressure.d.ts +43 -0
- package/dist/core/stdlib/momentum/pressure.d.ts.map +1 -0
- package/dist/core/stdlib/momentum/pressure.js +103 -0
- package/dist/core/stdlib/momentum/pressure.js.map +1 -0
- package/dist/core/stdlib/momentum/rates.d.ts +74 -0
- package/dist/core/stdlib/momentum/rates.d.ts.map +1 -0
- package/dist/core/stdlib/momentum/rates.js +134 -0
- package/dist/core/stdlib/momentum/rates.js.map +1 -0
- package/dist/core/stdlib/momentum/rsi.d.ts +21 -0
- package/dist/core/stdlib/momentum/rsi.d.ts.map +1 -0
- package/dist/core/stdlib/momentum/rsi.js +30 -0
- package/dist/core/stdlib/momentum/rsi.js.map +1 -0
- package/dist/core/stdlib/momentum/stochastic.d.ts +44 -0
- package/dist/core/stdlib/momentum/stochastic.d.ts.map +1 -0
- package/dist/core/stdlib/momentum/stochastic.js +97 -0
- package/dist/core/stdlib/momentum/stochastic.js.map +1 -0
- package/dist/core/stdlib/series/changes.d.ts +59 -0
- package/dist/core/stdlib/series/changes.d.ts.map +1 -0
- package/dist/core/stdlib/series/changes.js +129 -0
- package/dist/core/stdlib/series/changes.js.map +1 -0
- package/dist/core/stdlib/series/conditions.d.ts +34 -0
- package/dist/core/stdlib/series/conditions.d.ts.map +1 -0
- package/dist/core/stdlib/series/conditions.js +52 -0
- package/dist/core/stdlib/series/conditions.js.map +1 -0
- package/dist/core/stdlib/series/extremes.d.ts +29 -0
- package/dist/core/stdlib/series/extremes.d.ts.map +1 -0
- package/dist/core/stdlib/series/extremes.js +62 -0
- package/dist/core/stdlib/series/extremes.js.map +1 -0
- package/dist/core/stdlib/series/index.d.ts +9 -0
- package/dist/core/stdlib/series/index.d.ts.map +1 -0
- package/dist/core/stdlib/series/index.js +7 -0
- package/dist/core/stdlib/series/index.js.map +1 -0
- package/dist/core/stdlib/series/pivots.d.ts +25 -0
- package/dist/core/stdlib/series/pivots.d.ts.map +1 -0
- package/dist/core/stdlib/series/pivots.js +42 -0
- package/dist/core/stdlib/series/pivots.js.map +1 -0
- package/dist/core/stdlib/series/statistics.d.ts +64 -0
- package/dist/core/stdlib/series/statistics.d.ts.map +1 -0
- package/dist/core/stdlib/series/statistics.js +148 -0
- package/dist/core/stdlib/series/statistics.js.map +1 -0
- package/dist/core/stdlib/series/totals.d.ts +68 -0
- package/dist/core/stdlib/series/totals.d.ts.map +1 -0
- package/dist/core/stdlib/series/totals.js +115 -0
- package/dist/core/stdlib/series/totals.js.map +1 -0
- package/dist/core/stdlib/trend/directional.d.ts +69 -0
- package/dist/core/stdlib/trend/directional.d.ts.map +1 -0
- package/dist/core/stdlib/trend/directional.js +151 -0
- package/dist/core/stdlib/trend/directional.js.map +1 -0
- package/dist/core/stdlib/trend/index.d.ts +4 -0
- package/dist/core/stdlib/trend/index.d.ts.map +1 -0
- package/dist/core/stdlib/trend/index.js +4 -0
- package/dist/core/stdlib/trend/index.js.map +1 -0
- package/dist/core/stdlib/trend/psar.d.ts +33 -0
- package/dist/core/stdlib/trend/psar.d.ts.map +1 -0
- package/dist/core/stdlib/trend/psar.js +86 -0
- package/dist/core/stdlib/trend/psar.js.map +1 -0
- package/dist/core/stdlib/trend/supertrend.d.ts +30 -0
- package/dist/core/stdlib/trend/supertrend.d.ts.map +1 -0
- package/dist/core/stdlib/trend/supertrend.js +65 -0
- package/dist/core/stdlib/trend/supertrend.js.map +1 -0
- package/dist/core/stdlib/values/bar.d.ts +39 -0
- package/dist/core/stdlib/values/bar.d.ts.map +1 -0
- package/dist/core/stdlib/values/bar.js +33 -0
- package/dist/core/stdlib/values/bar.js.map +1 -0
- package/dist/core/stdlib/values/index.d.ts +11 -0
- package/dist/core/stdlib/values/index.d.ts.map +1 -0
- package/dist/core/stdlib/values/index.js +6 -0
- package/dist/core/stdlib/values/index.js.map +1 -0
- package/dist/core/stdlib/values/lookback.d.ts +83 -0
- package/dist/core/stdlib/values/lookback.d.ts.map +1 -0
- package/dist/core/stdlib/values/lookback.js +134 -0
- package/dist/core/stdlib/values/lookback.js.map +1 -0
- package/dist/core/stdlib/values/region.d.ts +55 -0
- package/dist/core/stdlib/values/region.d.ts.map +1 -0
- package/dist/core/stdlib/values/region.js +73 -0
- package/dist/core/stdlib/values/region.js.map +1 -0
- package/dist/core/stdlib/values/tail.d.ts +44 -0
- package/dist/core/stdlib/values/tail.d.ts.map +1 -0
- package/dist/core/stdlib/values/tail.js +23 -0
- package/dist/core/stdlib/values/tail.js.map +1 -0
- package/dist/core/stdlib/values/value.d.ts +64 -0
- package/dist/core/stdlib/values/value.d.ts.map +1 -0
- package/dist/core/stdlib/values/value.js +61 -0
- package/dist/core/stdlib/values/value.js.map +1 -0
- package/dist/core/stdlib/volatility/bands.d.ts +50 -0
- package/dist/core/stdlib/volatility/bands.d.ts.map +1 -0
- package/dist/core/stdlib/volatility/bands.js +101 -0
- package/dist/core/stdlib/volatility/bands.js.map +1 -0
- package/dist/core/stdlib/volatility/deviation.d.ts +43 -0
- package/dist/core/stdlib/volatility/deviation.d.ts.map +1 -0
- package/dist/core/stdlib/volatility/deviation.js +75 -0
- package/dist/core/stdlib/volatility/deviation.js.map +1 -0
- package/dist/core/stdlib/volatility/index.d.ts +6 -0
- package/dist/core/stdlib/volatility/index.d.ts.map +1 -0
- package/dist/core/stdlib/volatility/index.js +5 -0
- package/dist/core/stdlib/volatility/index.js.map +1 -0
- package/dist/core/stdlib/volatility/measures.d.ts +48 -0
- package/dist/core/stdlib/volatility/measures.d.ts.map +1 -0
- package/dist/core/stdlib/volatility/measures.js +73 -0
- package/dist/core/stdlib/volatility/measures.js.map +1 -0
- package/dist/core/stdlib/volatility/range.d.ts +69 -0
- package/dist/core/stdlib/volatility/range.d.ts.map +1 -0
- package/dist/core/stdlib/volatility/range.js +86 -0
- package/dist/core/stdlib/volatility/range.js.map +1 -0
- package/dist/core/stdlib/volume/accumulation.d.ts +61 -0
- package/dist/core/stdlib/volume/accumulation.d.ts.map +1 -0
- package/dist/core/stdlib/volume/accumulation.js +127 -0
- package/dist/core/stdlib/volume/accumulation.js.map +1 -0
- package/dist/core/stdlib/volume/flow.d.ts +60 -0
- package/dist/core/stdlib/volume/flow.d.ts.map +1 -0
- package/dist/core/stdlib/volume/flow.js +125 -0
- package/dist/core/stdlib/volume/flow.js.map +1 -0
- package/dist/core/stdlib/volume/index.d.ts +5 -0
- package/dist/core/stdlib/volume/index.d.ts.map +1 -0
- package/dist/core/stdlib/volume/index.js +4 -0
- package/dist/core/stdlib/volume/index.js.map +1 -0
- package/dist/core/stdlib/volume/weighted.d.ts +52 -0
- package/dist/core/stdlib/volume/weighted.d.ts.map +1 -0
- package/dist/core/stdlib/volume/weighted.js +64 -0
- package/dist/core/stdlib/volume/weighted.js.map +1 -0
- package/dist/core/version/version.generated.d.ts +2 -2
- package/dist/core/version/version.generated.d.ts.map +1 -1
- package/dist/core/version/version.generated.js +2 -2
- package/dist/core/version/version.generated.js.map +1 -1
- package/package.json +38 -14
- package/spec/errors.json +382 -183
- package/src/adapters/charts/alerts.ts +116 -0
- package/src/adapters/charts/bars.ts +63 -0
- package/src/adapters/charts/candles.ts +137 -0
- package/src/adapters/charts/colours.ts +113 -0
- package/src/adapters/charts/columns.ts +99 -0
- package/src/adapters/charts/contract.ts +320 -0
- package/src/adapters/charts/descriptor.ts +199 -0
- package/src/adapters/charts/drawings.ts +213 -0
- package/src/adapters/charts/errors.ts +45 -0
- package/src/adapters/charts/fields.ts +74 -0
- package/src/adapters/charts/fills.ts +71 -0
- package/src/adapters/charts/index.ts +78 -0
- package/src/adapters/charts/levels.ts +92 -0
- package/src/adapters/charts/markers.ts +119 -0
- package/src/adapters/charts/paint.ts +101 -0
- package/src/adapters/charts/plots.ts +185 -0
- package/src/adapters/charts/produced.ts +68 -0
- package/src/adapters/charts/requests.ts +357 -0
- package/src/adapters/charts/run.ts +327 -0
- package/src/adapters/charts/settings.ts +273 -0
- package/src/adapters/charts/surfaces.ts +238 -0
- package/src/adapters/charts/tables.ts +155 -0
- package/src/core/catalogue/catalogue.generated.ts +17 -9
- package/src/core/catalogue/values.generated.ts +8 -0
- package/src/core/check/arguments.ts +126 -0
- package/src/core/check/call-sites.ts +385 -0
- package/src/core/check/call-warmup.ts +121 -0
- package/src/core/check/calls.ts +412 -0
- package/src/core/check/check.ts +183 -0
- package/src/core/check/checked.ts +228 -0
- package/src/core/check/checker.ts +393 -0
- package/src/core/check/conditional.ts +143 -0
- package/src/core/check/constant.ts +127 -0
- package/src/core/check/declaration.ts +230 -0
- package/src/core/check/expressions.ts +471 -0
- package/src/core/check/functions.ts +283 -0
- package/src/core/check/handles.ts +75 -0
- package/src/core/check/index.ts +67 -0
- package/src/core/check/library-bars.ts +194 -0
- package/src/core/check/library-orders.ts +290 -0
- package/src/core/check/library-output.ts +241 -0
- package/src/core/check/library-series.ts +457 -0
- package/src/core/check/library.ts +374 -0
- package/src/core/check/literals.ts +35 -0
- package/src/core/check/outputs.ts +152 -0
- package/src/core/check/statements.ts +465 -0
- package/src/core/check/suggest.ts +63 -0
- package/src/core/check/surface.ts +115 -0
- package/src/core/check/tags.ts +94 -0
- package/src/core/check/types.ts +260 -0
- package/src/core/check/warmup.ts +100 -0
- package/src/core/diagnostics/collector.ts +27 -1
- package/src/core/emit/calls.ts +415 -0
- package/src/core/emit/canonical.ts +81 -0
- package/src/core/emit/channels.ts +144 -0
- package/src/core/emit/code.ts +155 -0
- package/src/core/emit/colours.ts +75 -0
- package/src/core/emit/context.ts +461 -0
- package/src/core/emit/defaults.ts +150 -0
- package/src/core/emit/emit.ts +313 -0
- package/src/core/emit/events.ts +141 -0
- package/src/core/emit/expressions.ts +292 -0
- package/src/core/emit/functions.ts +195 -0
- package/src/core/emit/gaps.ts +44 -0
- package/src/core/emit/index.ts +74 -0
- package/src/core/emit/inputs.ts +179 -0
- package/src/core/emit/layout.ts +165 -0
- package/src/core/emit/meta.ts +104 -0
- package/src/core/emit/opcodes.ts +160 -0
- package/src/core/emit/outputs.ts +357 -0
- package/src/core/emit/pool.ts +102 -0
- package/src/core/emit/program.ts +385 -0
- package/src/core/emit/registers.ts +179 -0
- package/src/core/emit/request-scope.ts +52 -0
- package/src/core/emit/requests.ts +258 -0
- package/src/core/emit/requires.ts +91 -0
- package/src/core/emit/sha256.ts +119 -0
- package/src/core/emit/statements.ts +438 -0
- package/src/core/emit/values.ts +284 -0
- package/src/core/engine/alerts.ts +152 -0
- package/src/core/engine/arithmetic.ts +165 -0
- package/src/core/engine/bars.ts +224 -0
- package/src/core/engine/budget.ts +284 -0
- package/src/core/engine/channels.ts +171 -0
- package/src/core/engine/drawings.ts +127 -0
- package/src/core/engine/engine.ts +498 -0
- package/src/core/engine/errors.ts +100 -0
- package/src/core/engine/frames.ts +85 -0
- package/src/core/engine/grids.ts +98 -0
- package/src/core/engine/guard.ts +71 -0
- package/src/core/engine/host.ts +251 -0
- package/src/core/engine/index.ts +93 -0
- package/src/core/engine/inputs.ts +263 -0
- package/src/core/engine/ledger/call.ts +218 -0
- package/src/core/engine/ledger/closable.ts +269 -0
- package/src/core/engine/ledger/holdings.ts +354 -0
- package/src/core/engine/ledger/index.ts +28 -0
- package/src/core/engine/ledger/intent.ts +112 -0
- package/src/core/engine/ledger/ledger.ts +314 -0
- package/src/core/engine/ledger/place.ts +277 -0
- package/src/core/engine/ledger/positions.ts +123 -0
- package/src/core/engine/ledger/refuse.ts +378 -0
- package/src/core/engine/ledger/row.ts +318 -0
- package/src/core/engine/ledger/sizing.ts +292 -0
- package/src/core/engine/library/arrays.ts +316 -0
- package/src/core/engine/library/averages.ts +97 -0
- package/src/core/engine/library/binding.ts +325 -0
- package/src/core/engine/library/chart.ts +115 -0
- package/src/core/engine/library/colours.ts +111 -0
- package/src/core/engine/library/dates.ts +109 -0
- package/src/core/engine/library/index.ts +103 -0
- package/src/core/engine/library/maths.ts +134 -0
- package/src/core/engine/library/objects.ts +265 -0
- package/src/core/engine/library/oscillators.ts +124 -0
- package/src/core/engine/library/ranges.ts +51 -0
- package/src/core/engine/library/series.ts +236 -0
- package/src/core/engine/library/state.ts +47 -0
- package/src/core/engine/library/studies.ts +150 -0
- package/src/core/engine/library/text.ts +303 -0
- package/src/core/engine/library/trend.ts +79 -0
- package/src/core/engine/library/volume.ts +101 -0
- package/src/core/engine/load.ts +104 -0
- package/src/core/engine/machine.ts +446 -0
- package/src/core/engine/memory.ts +129 -0
- package/src/core/engine/operations.ts +171 -0
- package/src/core/engine/orders.ts +121 -0
- package/src/core/engine/registers.ts +104 -0
- package/src/core/engine/request-body.ts +328 -0
- package/src/core/engine/request-plan.ts +270 -0
- package/src/core/engine/requests.ts +382 -0
- package/src/core/engine/results.ts +41 -0
- package/src/core/engine/series.ts +82 -0
- package/src/core/engine/session/hours.ts +86 -0
- package/src/core/engine/session/index.ts +17 -0
- package/src/core/engine/session/record.ts +191 -0
- package/src/core/engine/session/spec.ts +45 -0
- package/src/core/engine/timeframe.ts +161 -0
- package/src/core/engine/types.ts +47 -0
- package/src/core/engine/values/heap.ts +295 -0
- package/src/core/engine/values/index.ts +34 -0
- package/src/core/engine/values/value.ts +158 -0
- package/src/core/engine/verify-budgets.ts +202 -0
- package/src/core/engine/verify-code.ts +332 -0
- package/src/core/engine/verify-requests.ts +255 -0
- package/src/core/engine/verify-shape.ts +164 -0
- package/src/core/engine/verify-tables.ts +176 -0
- package/src/core/engine/verify.ts +341 -0
- package/src/core/index.ts +128 -6
- package/src/core/parse/expressions.ts +1 -1
- package/src/core/parse/names.ts +29 -2
- package/src/core/stdlib/averages/exponential.ts +119 -0
- package/src/core/stdlib/averages/index.ts +45 -0
- package/src/core/stdlib/averages/select.ts +71 -0
- package/src/core/stdlib/averages/shaped.ts +161 -0
- package/src/core/stdlib/averages/simple.ts +139 -0
- package/src/core/stdlib/calendar/civil.ts +89 -0
- package/src/core/stdlib/calendar/fields.ts +124 -0
- package/src/core/stdlib/calendar/format.ts +71 -0
- package/src/core/stdlib/calendar/index.ts +15 -0
- package/src/core/stdlib/calendar/zone.ts +161 -0
- package/src/core/stdlib/index.ts +400 -0
- package/src/core/stdlib/maths/arithmetic.ts +74 -0
- package/src/core/stdlib/maths/elementary.ts +124 -0
- package/src/core/stdlib/maths/index.ts +43 -0
- package/src/core/stdlib/maths/rounding.ts +78 -0
- package/src/core/stdlib/momentum/convergence.ts +82 -0
- package/src/core/stdlib/momentum/index.ts +47 -0
- package/src/core/stdlib/momentum/pressure.ts +141 -0
- package/src/core/stdlib/momentum/rates.ts +188 -0
- package/src/core/stdlib/momentum/rsi.ts +49 -0
- package/src/core/stdlib/momentum/stochastic.ts +147 -0
- package/src/core/stdlib/series/changes.ts +177 -0
- package/src/core/stdlib/series/conditions.ts +74 -0
- package/src/core/stdlib/series/extremes.ts +92 -0
- package/src/core/stdlib/series/index.ts +83 -0
- package/src/core/stdlib/series/pivots.ts +63 -0
- package/src/core/stdlib/series/statistics.ts +207 -0
- package/src/core/stdlib/series/totals.ts +164 -0
- package/src/core/stdlib/trend/directional.ts +196 -0
- package/src/core/stdlib/trend/index.ts +13 -0
- package/src/core/stdlib/trend/psar.ts +131 -0
- package/src/core/stdlib/trend/supertrend.ts +100 -0
- package/src/core/stdlib/values/bar.ts +54 -0
- package/src/core/stdlib/values/index.ts +14 -0
- package/src/core/stdlib/values/lookback.ts +198 -0
- package/src/core/stdlib/values/region.ts +86 -0
- package/src/core/stdlib/values/tail.ts +58 -0
- package/src/core/stdlib/values/value.ts +82 -0
- package/src/core/stdlib/volatility/bands.ts +178 -0
- package/src/core/stdlib/volatility/deviation.ts +111 -0
- package/src/core/stdlib/volatility/index.ts +48 -0
- package/src/core/stdlib/volatility/measures.ts +96 -0
- package/src/core/stdlib/volatility/range.ts +143 -0
- package/src/core/stdlib/volume/accumulation.ts +152 -0
- package/src/core/stdlib/volume/flow.ts +173 -0
- package/src/core/stdlib/volume/index.ts +43 -0
- package/src/core/stdlib/volume/weighted.ts +101 -0
- package/src/core/version/version.generated.ts +2 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The instruction engine: a compiled program and bars in, values out.
|
|
3
|
+
*
|
|
4
|
+
* It walks an instruction list. There is no `eval`, no `Function` constructor
|
|
5
|
+
* and nothing built from text anywhere behind this door, which is what lets the
|
|
6
|
+
* language run under a content security policy that forbids turning text into
|
|
7
|
+
* code and what lets a platform run many customers' scripts in one process.
|
|
8
|
+
*
|
|
9
|
+
* Three guarantees a host is buying, each enforced by a counter in the loop
|
|
10
|
+
* rather than by hoping a script behaves:
|
|
11
|
+
*
|
|
12
|
+
* - **A runaway script stops.** The loop budget is the program's own
|
|
13
|
+
* `limits()` and is counted in `TICK` executions, so two engines fail at the
|
|
14
|
+
* same iteration of the same loop on the same bar. A step ceiling derived
|
|
15
|
+
* from the program and an optional wall clock stop a bar that somehow passes
|
|
16
|
+
* what verification proved about it.
|
|
17
|
+
* - **One script failing takes nothing else down.** Nothing on this surface
|
|
18
|
+
* throws. A failure is a diagnostic with a catalogue code and a source
|
|
19
|
+
* position, returned on the bar that produced it.
|
|
20
|
+
* - **A moving bar is idempotent.** The newest bar rolls back to the start of
|
|
21
|
+
* itself before it runs again, so a live chart and a backtest of the same
|
|
22
|
+
* data produce the same numbers.
|
|
23
|
+
*/
|
|
24
|
+
export { Engine } from './engine.js';
|
|
25
|
+
export type { BarResult, RunResult } from './results.js';
|
|
26
|
+
export { load } from './load.js';
|
|
27
|
+
export type { LoadOptions, LoadResult } from './load.js';
|
|
28
|
+
export type { AlertFiring } from './alerts.js';
|
|
29
|
+
export type { Grid } from './grids.js';
|
|
30
|
+
export type { BarFacts, BarState, HostBar } from './bars.js';
|
|
31
|
+
export { BAR_FIELDS, barField, isBarField } from './bars.js';
|
|
32
|
+
export type { Clock, EngineLimits } from './budget.js';
|
|
33
|
+
export { DEFAULT_LIMITS, stepBound } from './budget.js';
|
|
34
|
+
export type { Anchor, Drawing, DrawingKind } from './drawings.js';
|
|
35
|
+
export type { PendingEffect } from './channels.js';
|
|
36
|
+
export type { EffectRoute, EngineHost, Instrument, RequestAnswer, RequestProvider, RequestQuery, RequestRefusal, RoutedEffect, } from './host.js';
|
|
37
|
+
export type { FrameOutcome, FrameRefusal, Identity, IntentBar, IntentKind, LedgerRow, OrderFrame, OrderIntent, OrderSide, OrderStatus, OrderType, } from './ledger/index.js';
|
|
38
|
+
export type { SessionFacts, SessionHours } from './session/index.js';
|
|
39
|
+
export type { Timeframe, TimeframeUnit } from './timeframe.js';
|
|
40
|
+
export { bucketKeyOf, isIntraday, minutesOf, nominalMinutes, parseTimeframe } from './timeframe.js';
|
|
41
|
+
export type { ResolvedInput, SettingCheck, TimeResolver } from './inputs.js';
|
|
42
|
+
export { checkSetting, constantValue, utcTime } from './inputs.js';
|
|
43
|
+
export { LANGUAGE_VERSIONS, capabilitiesFor, verify } from './verify.js';
|
|
44
|
+
export type { VerifyOptions, VerifyResult } from './verify.js';
|
|
45
|
+
export type { ArrayObject, ColourValue, DrawingObject, GridCell, HeapObject, Reference, TableObject, Value, } from './values/index.js';
|
|
46
|
+
export { isAbsent, isColour, isRef, tagOf, valuesEqual } from './values/index.js';
|
|
47
|
+
export type { BarView, CallContext, Effect, ManifestEntry, StateRecord } from './library/index.js';
|
|
48
|
+
export { COLOUR_NAMES, manifestEntries, manifestEntry, namedColour, spell } from './library/index.js';
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEzD,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE7D,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpG,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACzE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElF,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The instruction engine: a compiled program and bars in, values out.
|
|
3
|
+
*
|
|
4
|
+
* It walks an instruction list. There is no `eval`, no `Function` constructor
|
|
5
|
+
* and nothing built from text anywhere behind this door, which is what lets the
|
|
6
|
+
* language run under a content security policy that forbids turning text into
|
|
7
|
+
* code and what lets a platform run many customers' scripts in one process.
|
|
8
|
+
*
|
|
9
|
+
* Three guarantees a host is buying, each enforced by a counter in the loop
|
|
10
|
+
* rather than by hoping a script behaves:
|
|
11
|
+
*
|
|
12
|
+
* - **A runaway script stops.** The loop budget is the program's own
|
|
13
|
+
* `limits()` and is counted in `TICK` executions, so two engines fail at the
|
|
14
|
+
* same iteration of the same loop on the same bar. A step ceiling derived
|
|
15
|
+
* from the program and an optional wall clock stop a bar that somehow passes
|
|
16
|
+
* what verification proved about it.
|
|
17
|
+
* - **One script failing takes nothing else down.** Nothing on this surface
|
|
18
|
+
* throws. A failure is a diagnostic with a catalogue code and a source
|
|
19
|
+
* position, returned on the bar that produced it.
|
|
20
|
+
* - **A moving bar is idempotent.** The newest bar rolls back to the start of
|
|
21
|
+
* itself before it runs again, so a live chart and a backtest of the same
|
|
22
|
+
* data produce the same numbers.
|
|
23
|
+
*/
|
|
24
|
+
export { Engine } from './engine.js';
|
|
25
|
+
export { load } from './load.js';
|
|
26
|
+
export { BAR_FIELDS, barField, isBarField } from './bars.js';
|
|
27
|
+
export { DEFAULT_LIMITS, stepBound } from './budget.js';
|
|
28
|
+
export { bucketKeyOf, isIntraday, minutesOf, nominalMinutes, parseTimeframe } from './timeframe.js';
|
|
29
|
+
export { checkSetting, constantValue, utcTime } from './inputs.js';
|
|
30
|
+
export { LANGUAGE_VERSIONS, capabilitiesFor, verify } from './verify.js';
|
|
31
|
+
export { isAbsent, isColour, isRef, tagOf, valuesEqual } from './values/index.js';
|
|
32
|
+
export { COLOUR_NAMES, manifestEntries, manifestEntry, namedColour, spell } from './library/index.js';
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkCxD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGpG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAazE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inputs, resolved once at load, `compiled-program.md` 2.6 and 5.1.
|
|
3
|
+
*
|
|
4
|
+
* Input resolution and the substitution of every `{ "input": ... }` reference
|
|
5
|
+
* happen **once, before step 1 of bar 0**, so the declarations in `outputs` and
|
|
6
|
+
* anything built from them exist before the first bar runs. Step 5 writes
|
|
7
|
+
* already resolved values into slots and resolves nothing.
|
|
8
|
+
*
|
|
9
|
+
* **A value that fails validation is a refusal, not a fallback.** The host's
|
|
10
|
+
* value is used when it passes and the declared default when the host supplies
|
|
11
|
+
* none, and a supplied value that fails is OS6019 and the program does not run.
|
|
12
|
+
* Falling back to the default would be a settings dialog that silently ignores
|
|
13
|
+
* what a user typed, which is worse than one that says the value is out of
|
|
14
|
+
* range.
|
|
15
|
+
*
|
|
16
|
+
* **An input value is never absent.** `input()` cannot declare `none` as a
|
|
17
|
+
* default, because the default's type is what fixes the input's type.
|
|
18
|
+
*/
|
|
19
|
+
import type { Diagnostic } from '../diagnostics/index.js';
|
|
20
|
+
import type { CompiledInput, CompiledProgram, Constant, Field } from './types.js';
|
|
21
|
+
import type { Value } from './values/index.js';
|
|
22
|
+
export interface ResolvedInput {
|
|
23
|
+
readonly key: string;
|
|
24
|
+
readonly slot: number;
|
|
25
|
+
/** The bar field a `"source"` input selected, which step 5 reads per bar. */
|
|
26
|
+
readonly field: string | undefined;
|
|
27
|
+
/** The effective value, for every other kind. */
|
|
28
|
+
readonly value: Value;
|
|
29
|
+
}
|
|
30
|
+
export type InputResult = {
|
|
31
|
+
readonly ok: true;
|
|
32
|
+
readonly inputs: readonly ResolvedInput[];
|
|
33
|
+
} | {
|
|
34
|
+
readonly ok: false;
|
|
35
|
+
readonly diagnostic: Diagnostic;
|
|
36
|
+
};
|
|
37
|
+
/** A host's own conversion for a `"time"` input, which needs the chart's zone. */
|
|
38
|
+
export type TimeResolver = (text: string) => number | null;
|
|
39
|
+
/** What a stored value is worth to a declared input: the value, or the rule it breaks. */
|
|
40
|
+
export type SettingCheck = {
|
|
41
|
+
readonly ok: true;
|
|
42
|
+
readonly value: Value;
|
|
43
|
+
readonly field: string | undefined;
|
|
44
|
+
} | {
|
|
45
|
+
readonly ok: false;
|
|
46
|
+
readonly refusal: string;
|
|
47
|
+
};
|
|
48
|
+
/** The value a constant pool entry denotes. */
|
|
49
|
+
export declare function constantValue(entry: Constant): Value;
|
|
50
|
+
export declare function resolveInputs(program: CompiledProgram, settings: Readonly<Record<string, unknown>>, resolveTime: TimeResolver): InputResult;
|
|
51
|
+
/**
|
|
52
|
+
* What the engine will run with for one stored value, or the rule it breaks.
|
|
53
|
+
*
|
|
54
|
+
* **This is exported because the question is asked outside the engine as well.**
|
|
55
|
+
* A chart builds the settings dialog and the declared shape of a study before
|
|
56
|
+
* anything is loaded, so it has to know what a stored value is worth before the
|
|
57
|
+
* run that would refuse it exists. A second copy of these rules in an adapter
|
|
58
|
+
* would be the same fact written in two files, and the two would answer
|
|
59
|
+
* differently the first time either was edited: the chart adapter had its own
|
|
60
|
+
* idea of an unusable value, and handed out a precision an input's own `max`
|
|
61
|
+
* forbade while the engine beside it refused the same map with OS6019.
|
|
62
|
+
*
|
|
63
|
+
* `resolveTime` is optional, and leaving it out narrows exactly one answer. A
|
|
64
|
+
* `"time"` input's string is read by the host's own conversion, which is the
|
|
65
|
+
* host's to supply, so a caller with none takes a string on trust and leaves
|
|
66
|
+
* that half to the load. Every other kind is decided here.
|
|
67
|
+
*/
|
|
68
|
+
export declare function checkSetting(declared: CompiledInput, supplied: unknown, resolveTime?: TimeResolver): SettingCheck;
|
|
69
|
+
/**
|
|
70
|
+
* A declaration field with its `{ "input": key }` reference substituted.
|
|
71
|
+
*
|
|
72
|
+
* Every field of `meta`, of `meta.strategy` and of every declaration in
|
|
73
|
+
* `outputs` may hold the reference, and it is gone before bar 0.
|
|
74
|
+
*/
|
|
75
|
+
export declare function fieldValue(field: Field, inputs: readonly ResolvedInput[]): Value;
|
|
76
|
+
export declare function utcTime(text: string): number | null;
|
|
77
|
+
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../src/core/engine/inputs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAc/C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5D,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AAE3D,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAWpD;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC3C,WAAW,EAAE,YAAY,GACxB,WAAW,CAQb;AA2CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,OAAO,EACjB,WAAW,CAAC,EAAE,YAAY,GACzB,YAAY,CAwBd;AA8CD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,KAAK,CAahF;AAaD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnD"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { isBarField } from './bars.js';
|
|
2
|
+
import { NO_POSITION, failure } from './errors.js';
|
|
3
|
+
/** The eight built-in series a `"source"` input may select, 2.6. */
|
|
4
|
+
const SOURCES = [
|
|
5
|
+
'open',
|
|
6
|
+
'high',
|
|
7
|
+
'low',
|
|
8
|
+
'close',
|
|
9
|
+
'hl2',
|
|
10
|
+
'hlc3',
|
|
11
|
+
'ohlc4',
|
|
12
|
+
'volume',
|
|
13
|
+
];
|
|
14
|
+
/** The value a constant pool entry denotes. */
|
|
15
|
+
export function constantValue(entry) {
|
|
16
|
+
switch (entry[0]) {
|
|
17
|
+
case 'z':
|
|
18
|
+
return null;
|
|
19
|
+
case 'b':
|
|
20
|
+
case 'n':
|
|
21
|
+
case 's':
|
|
22
|
+
return entry[1];
|
|
23
|
+
default:
|
|
24
|
+
return { tag: 'color', r: entry[1][0], g: entry[1][1], b: entry[1][2], a: entry[1][3] };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function resolveInputs(program, settings, resolveTime) {
|
|
28
|
+
const inputs = [];
|
|
29
|
+
for (const declared of program.inputs) {
|
|
30
|
+
const resolved = resolveOne(declared, settings, resolveTime);
|
|
31
|
+
if ('diagnostic' in resolved)
|
|
32
|
+
return { ok: false, diagnostic: resolved.diagnostic };
|
|
33
|
+
inputs.push(resolved.input);
|
|
34
|
+
}
|
|
35
|
+
return { ok: true, inputs };
|
|
36
|
+
}
|
|
37
|
+
function refuse(key, value, validation) {
|
|
38
|
+
return {
|
|
39
|
+
diagnostic: failure('OS6019', NO_POSITION, { value: describe(value), key, validation }),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function resolveOne(declared, settings, resolveTime) {
|
|
43
|
+
const supplied = Object.prototype.hasOwnProperty.call(settings, declared.key)
|
|
44
|
+
? settings[declared.key]
|
|
45
|
+
: undefined;
|
|
46
|
+
const fallback = constantValue(declared.default);
|
|
47
|
+
// A source and a time are checked even where the host stored nothing, because
|
|
48
|
+
// each declares its value as text that this engine still has to read. Every
|
|
49
|
+
// other kind takes its declared default unexamined, which is this engine's
|
|
50
|
+
// behaviour as it stands: a default is written in the source and validation
|
|
51
|
+
// here is about a value that arrived from outside it.
|
|
52
|
+
const askAnyway = declared.kind === 'source' || declared.kind === 'time';
|
|
53
|
+
if (supplied === undefined && !askAnyway) {
|
|
54
|
+
return { input: { key: declared.key, slot: declared.slot, field: undefined, value: fallback } };
|
|
55
|
+
}
|
|
56
|
+
const held = supplied === undefined ? fallback : supplied;
|
|
57
|
+
const checked = checkSetting(declared, held, resolveTime);
|
|
58
|
+
if (!checked.ok)
|
|
59
|
+
return refuse(declared.key, held, checked.refusal);
|
|
60
|
+
return {
|
|
61
|
+
input: {
|
|
62
|
+
key: declared.key,
|
|
63
|
+
slot: declared.slot,
|
|
64
|
+
field: checked.field,
|
|
65
|
+
value: checked.value,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* What the engine will run with for one stored value, or the rule it breaks.
|
|
71
|
+
*
|
|
72
|
+
* **This is exported because the question is asked outside the engine as well.**
|
|
73
|
+
* A chart builds the settings dialog and the declared shape of a study before
|
|
74
|
+
* anything is loaded, so it has to know what a stored value is worth before the
|
|
75
|
+
* run that would refuse it exists. A second copy of these rules in an adapter
|
|
76
|
+
* would be the same fact written in two files, and the two would answer
|
|
77
|
+
* differently the first time either was edited: the chart adapter had its own
|
|
78
|
+
* idea of an unusable value, and handed out a precision an input's own `max`
|
|
79
|
+
* forbade while the engine beside it refused the same map with OS6019.
|
|
80
|
+
*
|
|
81
|
+
* `resolveTime` is optional, and leaving it out narrows exactly one answer. A
|
|
82
|
+
* `"time"` input's string is read by the host's own conversion, which is the
|
|
83
|
+
* host's to supply, so a caller with none takes a string on trust and leaves
|
|
84
|
+
* that half to the load. Every other kind is decided here.
|
|
85
|
+
*/
|
|
86
|
+
export function checkSetting(declared, supplied, resolveTime) {
|
|
87
|
+
if (declared.kind === 'source') {
|
|
88
|
+
if (typeof supplied !== 'string' || !SOURCES.includes(supplied)) {
|
|
89
|
+
return { ok: false, refusal: `a source names one of ${SOURCES.join(', ')}` };
|
|
90
|
+
}
|
|
91
|
+
if (!isBarField(supplied)) {
|
|
92
|
+
return { ok: false, refusal: 'this engine has no bar field of that name' };
|
|
93
|
+
}
|
|
94
|
+
return { ok: true, value: null, field: supplied };
|
|
95
|
+
}
|
|
96
|
+
if (declared.kind === 'time') {
|
|
97
|
+
const unreadable = 'a time is a timestamp or a date and time the host can read';
|
|
98
|
+
if (typeof supplied === 'number')
|
|
99
|
+
return { ok: true, value: supplied, field: undefined };
|
|
100
|
+
if (typeof supplied !== 'string')
|
|
101
|
+
return { ok: false, refusal: unreadable };
|
|
102
|
+
if (resolveTime === undefined)
|
|
103
|
+
return { ok: true, value: supplied, field: undefined };
|
|
104
|
+
const time = resolveTime(supplied);
|
|
105
|
+
if (time === null)
|
|
106
|
+
return { ok: false, refusal: unreadable };
|
|
107
|
+
return { ok: true, value: time, field: undefined };
|
|
108
|
+
}
|
|
109
|
+
const wrong = validate(declared, supplied);
|
|
110
|
+
if (wrong !== undefined)
|
|
111
|
+
return { ok: false, refusal: wrong };
|
|
112
|
+
return { ok: true, value: supplied, field: undefined };
|
|
113
|
+
}
|
|
114
|
+
/** What rule the host's value broke, or nothing when it passes. */
|
|
115
|
+
function validate(declared, supplied) {
|
|
116
|
+
switch (declared.kind) {
|
|
117
|
+
case 'number': {
|
|
118
|
+
if (typeof supplied !== 'number' || !Number.isFinite(supplied)) {
|
|
119
|
+
return 'this input takes a number';
|
|
120
|
+
}
|
|
121
|
+
if (declared.min !== null && supplied < declared.min) {
|
|
122
|
+
return `the minimum is ${declared.min}`;
|
|
123
|
+
}
|
|
124
|
+
if (declared.max !== null && supplied > declared.max) {
|
|
125
|
+
return `the maximum is ${declared.max}`;
|
|
126
|
+
}
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
case 'bool':
|
|
130
|
+
return typeof supplied === 'boolean' ? undefined : 'this input takes true or false';
|
|
131
|
+
case 'color':
|
|
132
|
+
return isColourValue(supplied) ? undefined : 'this input takes a colour';
|
|
133
|
+
case 'select': {
|
|
134
|
+
if (typeof supplied !== 'string')
|
|
135
|
+
return 'this input takes one of its listed values';
|
|
136
|
+
const allowed = (declared.options ?? []).map((one) => constantValue(one));
|
|
137
|
+
if (!allowed.includes(supplied)) {
|
|
138
|
+
return `the choices are ${allowed.map((one) => String(one)).join(', ')}`;
|
|
139
|
+
}
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
default:
|
|
143
|
+
return typeof supplied === 'string' ? undefined : 'this input takes a string';
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function isColourValue(value) {
|
|
147
|
+
if (typeof value !== 'object' || value === null)
|
|
148
|
+
return false;
|
|
149
|
+
const held = value;
|
|
150
|
+
return (held['tag'] === 'color' &&
|
|
151
|
+
typeof held['r'] === 'number' &&
|
|
152
|
+
typeof held['g'] === 'number' &&
|
|
153
|
+
typeof held['b'] === 'number' &&
|
|
154
|
+
typeof held['a'] === 'number');
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* A declaration field with its `{ "input": key }` reference substituted.
|
|
158
|
+
*
|
|
159
|
+
* Every field of `meta`, of `meta.strategy` and of every declaration in
|
|
160
|
+
* `outputs` may hold the reference, and it is gone before bar 0.
|
|
161
|
+
*/
|
|
162
|
+
export function fieldValue(field, inputs) {
|
|
163
|
+
if (field === null)
|
|
164
|
+
return null;
|
|
165
|
+
if (typeof field === 'object' && !Array.isArray(field)) {
|
|
166
|
+
const key = field.input;
|
|
167
|
+
const found = inputs.find((one) => one.key === key);
|
|
168
|
+
return found === undefined ? null : found.value;
|
|
169
|
+
}
|
|
170
|
+
if (Array.isArray(field)) {
|
|
171
|
+
const [r, g, b, a] = field;
|
|
172
|
+
if (r === undefined || g === undefined || b === undefined || a === undefined)
|
|
173
|
+
return null;
|
|
174
|
+
return { tag: 'color', r, g, b, a };
|
|
175
|
+
}
|
|
176
|
+
return field;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* A date and time read as if it were UTC.
|
|
180
|
+
*
|
|
181
|
+
* **This is a stand-in.** `stdlib.md` 12.1 reads every calendar field in the
|
|
182
|
+
* chart's timezone, which is an IANA zone name the host states, and an engine
|
|
183
|
+
* that has not been given one cannot apply it. A host with a zone supplies its
|
|
184
|
+
* own resolver; this one is what a test and a host with no zone get, and it is
|
|
185
|
+
* deterministic, which is the property that matters most here.
|
|
186
|
+
*/
|
|
187
|
+
const STAMP = /^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2})(?::(\d{2}))?)?$/;
|
|
188
|
+
export function utcTime(text) {
|
|
189
|
+
const parsed = STAMP.exec(text.trim());
|
|
190
|
+
if (parsed === null)
|
|
191
|
+
return null;
|
|
192
|
+
const at = (index) => Number(parsed[index] ?? '0');
|
|
193
|
+
const value = Date.UTC(at(1), at(2) - 1, at(3), at(4), at(5), at(6));
|
|
194
|
+
return Number.isFinite(value) ? value : null;
|
|
195
|
+
}
|
|
196
|
+
function describe(value) {
|
|
197
|
+
if (value === undefined || value === null)
|
|
198
|
+
return 'none';
|
|
199
|
+
if (typeof value === 'string')
|
|
200
|
+
return JSON.stringify(value);
|
|
201
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
202
|
+
return String(value);
|
|
203
|
+
return 'a value of another type';
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../../src/core/engine/inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One order call, read once into the fields `stdlib.md` 17.2 and 17.3 name.
|
|
3
|
+
*
|
|
4
|
+
* **The positions the arguments arrive in are read here and nowhere else.**
|
|
5
|
+
* Which slot holds a quantity and which holds a trigger is a fact about the
|
|
6
|
+
* library surface, and a fact read in two places is one that has to be corrected
|
|
7
|
+
* in two places. The mapping to orders and the refusals both read this record,
|
|
8
|
+
* so neither of them counts arguments.
|
|
9
|
+
*
|
|
10
|
+
* **An argument the script left out and an argument it wrote as absent are not
|
|
11
|
+
* the same thing, and an order is where the difference matters most.** `buy()`
|
|
12
|
+
* means "use the size I declared" and takes the declaration's own quantity.
|
|
13
|
+
* `buy(qty = none)` means "I computed a size and it came out absent", which is a
|
|
14
|
+
* sizing calculation that has not warmed up or a divisor that was zero, and it
|
|
15
|
+
* is OS7002: an order is the one place in the language where doing nothing
|
|
16
|
+
* quietly is worse than stopping loudly (`language.md` 6.8).
|
|
17
|
+
*
|
|
18
|
+
* The two used to arrive here as one value, because two of an order call's
|
|
19
|
+
* defaults are absence itself and the compiler filled them in. So an order call
|
|
20
|
+
* now carries one argument more than the language surface shows, and it is the
|
|
21
|
+
* last one: the names of the arguments the script wrote, in parameter order
|
|
22
|
+
* (`compiled-program.md` 4.10). `absent` is read from it, and names every
|
|
23
|
+
* argument the script wrote that came out absent. Everything the script did not
|
|
24
|
+
* write is left absent here and takes the default `stdlib.md` documents, which
|
|
25
|
+
* the mapping applies.
|
|
26
|
+
*/
|
|
27
|
+
import type { Span } from '../../span/index.js';
|
|
28
|
+
import type { OrderSide, OrderType } from './intent.js';
|
|
29
|
+
/**
|
|
30
|
+
* An order call, with every argument under the name its signature gives it.
|
|
31
|
+
*
|
|
32
|
+
* `trigger` is an order's stop price, which `buy` and `sell` spell `stop` and
|
|
33
|
+
* `order.place` spells `trigger`. `stop` and `target` are a bracket's two
|
|
34
|
+
* levels, which `exit` spells `stop` and `limit`. The two are separate fields
|
|
35
|
+
* because they are separate things: one rests at a venue and one is a level the
|
|
36
|
+
* strategy holds.
|
|
37
|
+
*/
|
|
38
|
+
export interface OrderCall {
|
|
39
|
+
readonly name: string;
|
|
40
|
+
/** Where the call is written, so a refusal points at it. */
|
|
41
|
+
readonly at: Span;
|
|
42
|
+
/** Arguments the script wrote that came out absent, in signature order. */
|
|
43
|
+
readonly absent: readonly string[];
|
|
44
|
+
readonly side: OrderSide | null;
|
|
45
|
+
/** The quantity the script stated, absent where it stated none. */
|
|
46
|
+
readonly qty: number | null;
|
|
47
|
+
/** The type the script named, on the one call that takes one. */
|
|
48
|
+
readonly type: OrderType | null;
|
|
49
|
+
readonly limit: number | null;
|
|
50
|
+
readonly trigger: number | null;
|
|
51
|
+
/** A bracket's target, as a price. */
|
|
52
|
+
readonly target: number | null;
|
|
53
|
+
/** A bracket's stop, as a price. */
|
|
54
|
+
readonly stop: number | null;
|
|
55
|
+
/** A bracket's target and stop as distances from the entry. */
|
|
56
|
+
readonly profit: number | null;
|
|
57
|
+
readonly loss: number | null;
|
|
58
|
+
/** The tag the call named, absent where it named none. */
|
|
59
|
+
readonly tag: string | null;
|
|
60
|
+
}
|
|
61
|
+
/** Reads one call, whichever of the nine it is. */
|
|
62
|
+
export declare function callOf(name: string, params: readonly string[], args: readonly unknown[], at: Span): OrderCall;
|
|
63
|
+
//# sourceMappingURL=call.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../../src/core/engine/ledger/call.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxD;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAiFD,mDAAmD;AACnD,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,IAAI,GACP,SAAS,CAIX"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/** The two sides, `stdlib.md` 17.2. */
|
|
2
|
+
const SIDES = ['buy', 'sell'];
|
|
3
|
+
/** The four types, `stdlib.md` 17.2. */
|
|
4
|
+
const TYPES = ['market', 'limit', 'stop', 'stopLimit'];
|
|
5
|
+
/** The fields every call states, so each case below states only its own. */
|
|
6
|
+
const NOTHING = {
|
|
7
|
+
absent: [],
|
|
8
|
+
side: null,
|
|
9
|
+
qty: null,
|
|
10
|
+
type: null,
|
|
11
|
+
limit: null,
|
|
12
|
+
trigger: null,
|
|
13
|
+
target: null,
|
|
14
|
+
stop: null,
|
|
15
|
+
profit: null,
|
|
16
|
+
loss: null,
|
|
17
|
+
tag: null,
|
|
18
|
+
};
|
|
19
|
+
/** A number the script stated, or nothing where it stated none. */
|
|
20
|
+
function number(args, index) {
|
|
21
|
+
const value = args[index];
|
|
22
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
23
|
+
}
|
|
24
|
+
function text(args, index) {
|
|
25
|
+
const value = args[index];
|
|
26
|
+
return typeof value === 'string' ? value : null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Whether this argument holds no value.
|
|
30
|
+
*
|
|
31
|
+
* Absence and nothing at the position are the same answer, because a program
|
|
32
|
+
* that supplied fewer arguments than the signature declares would have been
|
|
33
|
+
* refused at load (`compiled-program.md` 2.5) and cannot reach here.
|
|
34
|
+
*/
|
|
35
|
+
function missing(args, index) {
|
|
36
|
+
const value = args[index];
|
|
37
|
+
return value === null || value === undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The arguments the script wrote that came out absent, in signature order.
|
|
41
|
+
*
|
|
42
|
+
* The last argument of an order call is the names of the arguments the script
|
|
43
|
+
* wrote, so this is the whole of telling a default apart from a value nobody
|
|
44
|
+
* computed. It reads the names rather than a list of its own, because the
|
|
45
|
+
* signature is the manifest's and a second copy of it here is one more thing to
|
|
46
|
+
* correct when a signature changes.
|
|
47
|
+
*/
|
|
48
|
+
function absentOf(params, args) {
|
|
49
|
+
const last = params.length - 1;
|
|
50
|
+
if (last < 0)
|
|
51
|
+
return [];
|
|
52
|
+
const value = args[last];
|
|
53
|
+
const written = new Set(typeof value === 'string' ? value.split(' ') : []);
|
|
54
|
+
const found = [];
|
|
55
|
+
for (let i = 0; i < last; i += 1) {
|
|
56
|
+
const name = params[i];
|
|
57
|
+
if (name !== undefined && written.has(name) && missing(args, i))
|
|
58
|
+
found.push(name);
|
|
59
|
+
}
|
|
60
|
+
return found;
|
|
61
|
+
}
|
|
62
|
+
/** A word that is one of a set, or nothing where it is not. */
|
|
63
|
+
function oneOf(set, word) {
|
|
64
|
+
return set.find((one) => one === word) ?? null;
|
|
65
|
+
}
|
|
66
|
+
/** `buy` and `sell`, whose name is their side. */
|
|
67
|
+
function placing(side, args, at) {
|
|
68
|
+
return {
|
|
69
|
+
...NOTHING,
|
|
70
|
+
name: side,
|
|
71
|
+
at,
|
|
72
|
+
side,
|
|
73
|
+
qty: number(args, 0),
|
|
74
|
+
limit: number(args, 1),
|
|
75
|
+
trigger: number(args, 2),
|
|
76
|
+
tag: text(args, 3),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** Reads one call, whichever of the nine it is. */
|
|
80
|
+
export function callOf(name, params, args, at) {
|
|
81
|
+
const absent = absentOf(params, args);
|
|
82
|
+
const read = readCall(name, args, at);
|
|
83
|
+
return absent.length === 0 ? read : { ...read, absent };
|
|
84
|
+
}
|
|
85
|
+
function readCall(name, args, at) {
|
|
86
|
+
switch (name) {
|
|
87
|
+
case 'buy':
|
|
88
|
+
return placing('buy', args, at);
|
|
89
|
+
case 'sell':
|
|
90
|
+
return placing('sell', args, at);
|
|
91
|
+
case 'close':
|
|
92
|
+
// tag, qty. The tag defaults to absence rather than to the empty string,
|
|
93
|
+
// because a call that names none flattens the whole leg and the empty
|
|
94
|
+
// string is a tag an order can carry.
|
|
95
|
+
return { ...NOTHING, name, at, qty: number(args, 1), tag: text(args, 0) };
|
|
96
|
+
case 'exit':
|
|
97
|
+
// tag, qty, limit, stop, profit, loss. An absolute price and a distance
|
|
98
|
+
// for the same side cannot both be given, which the checker refuses at
|
|
99
|
+
// the call with OS3010.
|
|
100
|
+
return {
|
|
101
|
+
...NOTHING,
|
|
102
|
+
name,
|
|
103
|
+
at,
|
|
104
|
+
qty: number(args, 1),
|
|
105
|
+
target: number(args, 2),
|
|
106
|
+
stop: number(args, 3),
|
|
107
|
+
profit: number(args, 4),
|
|
108
|
+
loss: number(args, 5),
|
|
109
|
+
tag: text(args, 0),
|
|
110
|
+
};
|
|
111
|
+
case 'cancel':
|
|
112
|
+
return { ...NOTHING, name, at, tag: text(args, 0) };
|
|
113
|
+
case 'order.place': {
|
|
114
|
+
// side, qty, type, price, trigger, tag.
|
|
115
|
+
return {
|
|
116
|
+
...NOTHING,
|
|
117
|
+
name,
|
|
118
|
+
at,
|
|
119
|
+
side: oneOf(SIDES, text(args, 0)),
|
|
120
|
+
qty: number(args, 1),
|
|
121
|
+
type: oneOf(TYPES, text(args, 2)),
|
|
122
|
+
limit: number(args, 3),
|
|
123
|
+
trigger: number(args, 4),
|
|
124
|
+
tag: text(args, 5),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
case 'order.reverse':
|
|
128
|
+
return { ...NOTHING, name, at, qty: number(args, 0), tag: text(args, 1) };
|
|
129
|
+
case 'order.bracket':
|
|
130
|
+
// tag, profit, loss: distances only, which is the whole of this spelling.
|
|
131
|
+
return { ...NOTHING, name, at, profit: number(args, 1), loss: number(args, 2), tag: text(args, 0) };
|
|
132
|
+
default:
|
|
133
|
+
return { ...NOTHING, name, at };
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../src/core/engine/ledger/call.ts"],"names":[],"mappings":"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"}
|