oakscriptjs 0.8.1 → 0.9.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/LICENSE +1 -1
- package/README.md +31 -9
- package/dist/cjs/array/index.d.ts +701 -0
- package/dist/cjs/array/index.d.ts.map +1 -0
- package/dist/cjs/array/index.js +392 -0
- package/dist/cjs/array/index.js.map +7 -0
- package/dist/cjs/box/index.d.ts +444 -0
- package/dist/cjs/box/index.d.ts.map +1 -0
- package/dist/cjs/box/index.js +246 -0
- package/dist/cjs/box/index.js.map +7 -0
- package/dist/cjs/callsite/index.d.ts +61 -0
- package/dist/cjs/callsite/index.d.ts.map +1 -0
- package/dist/cjs/callsite/index.js +65 -0
- package/dist/cjs/callsite/index.js.map +7 -0
- package/dist/cjs/chartpoint/index.d.ts +90 -0
- package/dist/cjs/chartpoint/index.d.ts.map +1 -0
- package/dist/cjs/chartpoint/index.js +56 -0
- package/dist/cjs/chartpoint/index.js.map +7 -0
- package/dist/cjs/color/index.d.ts +285 -0
- package/dist/cjs/color/index.d.ts.map +1 -0
- package/dist/cjs/color/index.js +143 -0
- package/dist/cjs/color/index.js.map +7 -0
- package/dist/cjs/compare/index.d.ts +26 -0
- package/dist/cjs/compare/index.d.ts.map +1 -0
- package/dist/cjs/compare/index.js +50 -0
- package/dist/cjs/compare/index.js.map +7 -0
- package/dist/cjs/drawing/registry.d.ts +42 -0
- package/dist/cjs/drawing/registry.d.ts.map +1 -0
- package/dist/cjs/drawing/registry.js +87 -0
- package/dist/cjs/drawing/registry.js.map +7 -0
- package/dist/cjs/index.d.ts +85 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +184 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/indicator.d.ts +117 -0
- package/dist/cjs/indicator.d.ts.map +1 -0
- package/dist/cjs/indicator.js +74 -0
- package/dist/cjs/indicator.js.map +7 -0
- package/dist/cjs/input.d.ts +196 -0
- package/dist/cjs/input.d.ts.map +1 -0
- package/dist/cjs/input.js +197 -0
- package/dist/cjs/input.js.map +7 -0
- package/dist/cjs/label/index.d.ts +303 -0
- package/dist/cjs/label/index.d.ts.map +1 -0
- package/dist/cjs/label/index.js +190 -0
- package/dist/cjs/label/index.js.map +7 -0
- package/dist/cjs/lib/index.d.ts +8 -0
- package/dist/cjs/lib/index.d.ts.map +1 -0
- package/dist/cjs/lib/index.js +19 -0
- package/dist/cjs/lib/index.js.map +7 -0
- package/dist/{lib → cjs/lib}/zigzag/index.d.ts +4 -1
- package/dist/cjs/lib/zigzag/index.d.ts.map +1 -0
- package/dist/cjs/lib/zigzag/index.js +27 -0
- package/dist/cjs/lib/zigzag/index.js.map +7 -0
- package/dist/cjs/lib/zigzag/zigzag.d.ts +100 -0
- package/dist/cjs/lib/zigzag/zigzag.d.ts.map +1 -0
- package/dist/cjs/lib/zigzag/zigzag.js +207 -0
- package/dist/cjs/lib/zigzag/zigzag.js.map +7 -0
- package/dist/cjs/line/index.d.ts +342 -0
- package/dist/cjs/line/index.d.ts.map +1 -0
- package/dist/cjs/line/index.js +193 -0
- package/dist/cjs/line/index.js.map +7 -0
- package/dist/cjs/linefill/index.d.ts +124 -0
- package/dist/cjs/linefill/index.d.ts.map +1 -0
- package/dist/cjs/linefill/index.js +56 -0
- package/dist/cjs/linefill/index.js.map +7 -0
- package/dist/cjs/map/index.d.ts +69 -0
- package/dist/cjs/map/index.d.ts.map +1 -0
- package/dist/cjs/map/index.js +80 -0
- package/dist/cjs/map/index.js.map +7 -0
- package/dist/cjs/math/index.d.ts +560 -0
- package/dist/cjs/math/index.d.ts.map +1 -0
- package/dist/cjs/math/index.js +441 -0
- package/dist/cjs/math/index.js.map +7 -0
- package/dist/cjs/matrix/index.d.ts +1231 -0
- package/dist/cjs/matrix/index.d.ts.map +1 -0
- package/dist/cjs/matrix/index.js +1200 -0
- package/dist/cjs/matrix/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plot.d.ts +76 -0
- package/dist/cjs/plot.d.ts.map +1 -0
- package/dist/cjs/plot.js +51 -0
- package/dist/cjs/plot.js.map +7 -0
- package/dist/cjs/polyline/index.d.ts +115 -0
- package/dist/cjs/polyline/index.d.ts.map +1 -0
- package/dist/cjs/polyline/index.js +76 -0
- package/dist/cjs/polyline/index.js.map +7 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js +141 -0
- package/dist/cjs/runtime/adapters/LightweightChartsAdapter.js.map +7 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.js +117 -0
- package/dist/cjs/runtime/adapters/SimpleInputAdapter.js.map +7 -0
- package/dist/{runtime → cjs/runtime}/index.d.ts +12 -5
- package/dist/cjs/runtime/index.d.ts.map +1 -0
- package/dist/cjs/runtime/index.js +49 -0
- package/dist/cjs/runtime/index.js.map +7 -0
- package/dist/cjs/runtime/inputs.d.ts +91 -0
- package/dist/cjs/runtime/inputs.d.ts.map +1 -0
- package/dist/cjs/runtime/inputs.js +262 -0
- package/dist/cjs/runtime/inputs.js.map +7 -0
- package/dist/cjs/runtime/runtime.d.ts +70 -0
- package/dist/cjs/runtime/runtime.d.ts.map +1 -0
- package/dist/cjs/runtime/runtime.js +148 -0
- package/dist/cjs/runtime/runtime.js.map +7 -0
- package/dist/cjs/runtime/series.d.ts +362 -0
- package/dist/cjs/runtime/series.d.ts.map +1 -0
- package/dist/cjs/runtime/series.js +560 -0
- package/dist/cjs/runtime/series.js.map +7 -0
- package/dist/cjs/runtime/types.d.ts +282 -0
- package/dist/cjs/runtime/types.d.ts.map +1 -0
- package/dist/cjs/runtime/types.js +17 -0
- package/dist/cjs/runtime/types.js.map +7 -0
- package/dist/cjs/script/index.d.ts +987 -0
- package/dist/cjs/script/index.d.ts.map +1 -0
- package/dist/cjs/script/index.js +1169 -0
- package/dist/cjs/script/index.js.map +7 -0
- package/dist/cjs/security/resample.d.ts +63 -0
- package/dist/cjs/security/resample.d.ts.map +1 -0
- package/dist/cjs/security/resample.js +84 -0
- package/dist/cjs/security/resample.js.map +7 -0
- package/dist/cjs/session/bars.d.ts +80 -0
- package/dist/cjs/session/bars.d.ts.map +1 -0
- package/dist/cjs/session/bars.js +219 -0
- package/dist/cjs/session/bars.js.map +7 -0
- package/dist/cjs/session/calendar.d.ts +70 -0
- package/dist/cjs/session/calendar.d.ts.map +1 -0
- package/dist/cjs/session/calendar.js +164 -0
- package/dist/cjs/session/calendar.js.map +7 -0
- package/dist/cjs/str/dateformat.d.ts +15 -0
- package/dist/cjs/str/dateformat.d.ts.map +1 -0
- package/dist/cjs/str/dateformat.js +149 -0
- package/dist/cjs/str/dateformat.js.map +7 -0
- package/dist/cjs/str/index.d.ts +459 -0
- package/dist/cjs/str/index.d.ts.map +1 -0
- package/dist/cjs/str/index.js +143 -0
- package/dist/cjs/str/index.js.map +7 -0
- package/dist/cjs/str/messageformat.d.ts +14 -0
- package/dist/cjs/str/messageformat.d.ts.map +1 -0
- package/dist/cjs/str/messageformat.js +114 -0
- package/dist/cjs/str/messageformat.js.map +7 -0
- package/dist/cjs/str/numberformat.d.ts +19 -0
- package/dist/cjs/str/numberformat.d.ts.map +1 -0
- package/dist/cjs/str/numberformat.js +170 -0
- package/dist/cjs/str/numberformat.js.map +7 -0
- package/dist/{strategy → cjs/strategy}/index.d.ts +50 -0
- package/dist/cjs/strategy/index.d.ts.map +1 -0
- package/dist/cjs/strategy/index.js +92 -0
- package/dist/cjs/strategy/index.js.map +7 -0
- package/dist/cjs/ta/index.d.ts +1397 -0
- package/dist/cjs/ta/index.d.ts.map +1 -0
- package/dist/cjs/ta/index.js +1715 -0
- package/dist/cjs/ta/index.js.map +7 -0
- package/dist/cjs/ta/running-sum.d.ts +30 -0
- package/dist/cjs/ta/running-sum.d.ts.map +1 -0
- package/dist/cjs/ta/running-sum.js +99 -0
- package/dist/cjs/ta/running-sum.js.map +7 -0
- package/dist/cjs/ta-series.d.ts +558 -0
- package/dist/cjs/ta-series.d.ts.map +1 -0
- package/dist/cjs/ta-series.js +606 -0
- package/dist/cjs/ta-series.js.map +7 -0
- package/dist/cjs/text/index.d.ts +14 -0
- package/dist/cjs/text/index.d.ts.map +1 -0
- package/dist/cjs/text/index.js +29 -0
- package/dist/cjs/text/index.js.map +7 -0
- package/dist/cjs/time/datestring.d.ts +23 -0
- package/dist/cjs/time/datestring.d.ts.map +1 -0
- package/dist/cjs/time/datestring.js +106 -0
- package/dist/cjs/time/datestring.js.map +7 -0
- package/dist/cjs/time/index.d.ts +89 -0
- package/dist/cjs/time/index.d.ts.map +1 -0
- package/dist/cjs/time/index.js +85 -0
- package/dist/cjs/time/index.js.map +7 -0
- package/dist/cjs/time/session.d.ts +17 -0
- package/dist/cjs/time/session.d.ts.map +1 -0
- package/dist/cjs/time/session.js +65 -0
- package/dist/cjs/time/session.js.map +7 -0
- package/dist/cjs/time/timezone.d.ts +40 -0
- package/dist/cjs/time/timezone.d.ts.map +1 -0
- package/dist/cjs/time/timezone.js +125 -0
- package/dist/cjs/time/timezone.js.map +7 -0
- package/dist/cjs/timeframe/index.d.ts +73 -0
- package/dist/cjs/timeframe/index.d.ts.map +1 -0
- package/dist/cjs/timeframe/index.js +85 -0
- package/dist/cjs/timeframe/index.js.map +7 -0
- package/dist/cjs/types/index.d.ts +343 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js +32 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/types/metadata.d.ts +300 -0
- package/dist/cjs/types/metadata.d.ts.map +1 -0
- package/dist/cjs/types/metadata.js +17 -0
- package/dist/cjs/types/metadata.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +167 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +209 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/esm/array/index.d.ts +701 -0
- package/dist/esm/array/index.d.ts.map +1 -0
- package/dist/esm/array/index.js +983 -0
- package/dist/esm/array/index.js.map +1 -0
- package/dist/esm/box/index.d.ts +444 -0
- package/dist/esm/box/index.d.ts.map +1 -0
- package/dist/esm/box/index.js +602 -0
- package/dist/esm/box/index.js.map +1 -0
- package/dist/esm/callsite/index.d.ts +61 -0
- package/dist/esm/callsite/index.d.ts.map +1 -0
- package/dist/esm/callsite/index.js +97 -0
- package/dist/esm/callsite/index.js.map +1 -0
- package/dist/esm/chartpoint/index.d.ts +90 -0
- package/dist/esm/chartpoint/index.d.ts.map +1 -0
- package/dist/esm/chartpoint/index.js +113 -0
- package/dist/esm/chartpoint/index.js.map +1 -0
- package/dist/esm/color/index.d.ts +285 -0
- package/dist/esm/color/index.d.ts.map +1 -0
- package/dist/esm/color/index.js +373 -0
- package/dist/esm/color/index.js.map +1 -0
- package/dist/esm/compare/index.d.ts +26 -0
- package/dist/esm/compare/index.d.ts.map +1 -0
- package/dist/esm/compare/index.js +39 -0
- package/dist/esm/compare/index.js.map +1 -0
- package/dist/esm/drawing/registry.d.ts +42 -0
- package/dist/esm/drawing/registry.d.ts.map +1 -0
- package/dist/esm/drawing/registry.js +89 -0
- package/dist/esm/drawing/registry.js.map +1 -0
- package/dist/esm/index.d.ts +85 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +96 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/indicator.d.ts +117 -0
- package/dist/esm/indicator.d.ts.map +1 -0
- package/dist/esm/indicator.js +84 -0
- package/dist/esm/indicator.js.map +1 -0
- package/dist/esm/input.d.ts +196 -0
- package/dist/esm/input.d.ts.map +1 -0
- package/dist/esm/input.js +183 -0
- package/dist/esm/input.js.map +1 -0
- package/dist/esm/label/index.d.ts +303 -0
- package/dist/esm/label/index.d.ts.map +1 -0
- package/dist/esm/label/index.js +417 -0
- package/dist/esm/label/index.js.map +1 -0
- package/dist/esm/lib/index.d.ts +8 -0
- package/dist/esm/lib/index.d.ts.map +1 -0
- package/dist/esm/lib/index.js +8 -0
- package/dist/esm/lib/index.js.map +1 -0
- package/dist/esm/lib/zigzag/index.d.ts +5 -0
- package/dist/esm/lib/zigzag/index.d.ts.map +1 -0
- package/dist/esm/lib/zigzag/index.js +5 -0
- package/dist/esm/lib/zigzag/index.js.map +1 -0
- package/dist/esm/lib/zigzag/zigzag.d.ts +100 -0
- package/dist/esm/lib/zigzag/zigzag.d.ts.map +1 -0
- package/dist/esm/lib/zigzag/zigzag.js +229 -0
- package/dist/esm/lib/zigzag/zigzag.js.map +1 -0
- package/dist/esm/line/index.d.ts +342 -0
- package/dist/esm/line/index.d.ts.map +1 -0
- package/dist/esm/line/index.js +470 -0
- package/dist/esm/line/index.js.map +1 -0
- package/dist/esm/linefill/index.d.ts +124 -0
- package/dist/esm/linefill/index.d.ts.map +1 -0
- package/dist/esm/linefill/index.js +144 -0
- package/dist/esm/linefill/index.js.map +1 -0
- package/dist/esm/map/index.d.ts +69 -0
- package/dist/esm/map/index.d.ts.map +1 -0
- package/dist/esm/map/index.js +106 -0
- package/dist/esm/map/index.js.map +1 -0
- package/dist/esm/math/index.d.ts +560 -0
- package/dist/esm/math/index.d.ts.map +1 -0
- package/dist/esm/math/index.js +495 -0
- package/dist/esm/math/index.js.map +1 -0
- package/dist/esm/matrix/index.d.ts +1231 -0
- package/dist/esm/matrix/index.d.ts.map +1 -0
- package/dist/esm/matrix/index.js +2450 -0
- package/dist/esm/matrix/index.js.map +1 -0
- package/dist/esm/plot.d.ts +76 -0
- package/dist/esm/plot.d.ts.map +1 -0
- package/dist/esm/plot.js +63 -0
- package/dist/esm/plot.js.map +1 -0
- package/dist/esm/polyline/index.d.ts +115 -0
- package/dist/esm/polyline/index.d.ts.map +1 -0
- package/dist/esm/polyline/index.js +157 -0
- package/dist/esm/polyline/index.js.map +1 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts +86 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.d.ts.map +1 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.js +140 -0
- package/dist/esm/runtime/adapters/LightweightChartsAdapter.js.map +1 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts +59 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.d.ts.map +1 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.js +115 -0
- package/dist/esm/runtime/adapters/SimpleInputAdapter.js.map +1 -0
- package/dist/esm/runtime/index.d.ts +13 -0
- package/dist/esm/runtime/index.d.ts.map +1 -0
- package/dist/esm/runtime/index.js +14 -0
- package/dist/esm/runtime/index.js.map +1 -0
- package/dist/esm/runtime/inputs.d.ts +91 -0
- package/dist/esm/runtime/inputs.d.ts.map +1 -0
- package/dist/esm/runtime/inputs.js +334 -0
- package/dist/esm/runtime/inputs.js.map +1 -0
- package/dist/esm/runtime/runtime.d.ts +70 -0
- package/dist/esm/runtime/runtime.d.ts.map +1 -0
- package/dist/esm/runtime/runtime.js +193 -0
- package/dist/esm/runtime/runtime.js.map +1 -0
- package/dist/esm/runtime/series.d.ts +362 -0
- package/dist/esm/runtime/series.d.ts.map +1 -0
- package/dist/esm/runtime/series.js +583 -0
- package/dist/esm/runtime/series.js.map +1 -0
- package/dist/esm/runtime/types.d.ts +282 -0
- package/dist/esm/runtime/types.d.ts.map +1 -0
- package/dist/esm/runtime/types.js +7 -0
- package/dist/esm/runtime/types.js.map +1 -0
- package/dist/esm/script/index.d.ts +987 -0
- package/dist/esm/script/index.d.ts.map +1 -0
- package/dist/esm/script/index.js +1289 -0
- package/dist/esm/script/index.js.map +1 -0
- package/dist/esm/security/resample.d.ts +63 -0
- package/dist/esm/security/resample.d.ts.map +1 -0
- package/dist/esm/security/resample.js +110 -0
- package/dist/esm/security/resample.js.map +1 -0
- package/dist/esm/session/bars.d.ts +80 -0
- package/dist/esm/session/bars.d.ts.map +1 -0
- package/dist/esm/session/bars.js +232 -0
- package/dist/esm/session/bars.js.map +1 -0
- package/dist/esm/session/calendar.d.ts +70 -0
- package/dist/esm/session/calendar.d.ts.map +1 -0
- package/dist/esm/session/calendar.js +172 -0
- package/dist/esm/session/calendar.js.map +1 -0
- package/dist/esm/str/dateformat.d.ts +15 -0
- package/dist/esm/str/dateformat.d.ts.map +1 -0
- package/dist/esm/str/dateformat.js +136 -0
- package/dist/esm/str/dateformat.js.map +1 -0
- package/dist/esm/str/index.d.ts +459 -0
- package/dist/esm/str/index.d.ts.map +1 -0
- package/dist/esm/str/index.js +540 -0
- package/dist/esm/str/index.js.map +1 -0
- package/dist/esm/str/messageformat.d.ts +14 -0
- package/dist/esm/str/messageformat.d.ts.map +1 -0
- package/dist/esm/str/messageformat.js +111 -0
- package/dist/esm/str/messageformat.js.map +1 -0
- package/dist/esm/str/numberformat.d.ts +19 -0
- package/dist/esm/str/numberformat.d.ts.map +1 -0
- package/dist/esm/str/numberformat.js +189 -0
- package/dist/esm/str/numberformat.js.map +1 -0
- package/dist/esm/strategy/index.d.ts +245 -0
- package/dist/esm/strategy/index.d.ts.map +1 -0
- package/dist/esm/strategy/index.js +84 -0
- package/dist/esm/strategy/index.js.map +1 -0
- package/dist/esm/ta/index.d.ts +1397 -0
- package/dist/esm/ta/index.d.ts.map +1 -0
- package/dist/esm/ta/index.js +3227 -0
- package/dist/esm/ta/index.js.map +1 -0
- package/dist/esm/ta/running-sum.d.ts +30 -0
- package/dist/esm/ta/running-sum.d.ts.map +1 -0
- package/dist/esm/ta/running-sum.js +113 -0
- package/dist/esm/ta/running-sum.js.map +1 -0
- package/dist/esm/ta-series.d.ts +558 -0
- package/dist/esm/ta-series.d.ts.map +1 -0
- package/dist/esm/ta-series.js +910 -0
- package/dist/esm/ta-series.js.map +1 -0
- package/dist/esm/text/index.d.ts +14 -0
- package/dist/esm/text/index.d.ts.map +1 -0
- package/dist/esm/text/index.js +14 -0
- package/dist/esm/text/index.js.map +1 -0
- package/dist/esm/time/datestring.d.ts +23 -0
- package/dist/esm/time/datestring.d.ts.map +1 -0
- package/dist/esm/time/datestring.js +94 -0
- package/dist/esm/time/datestring.js.map +1 -0
- package/dist/esm/time/index.d.ts +89 -0
- package/dist/esm/time/index.d.ts.map +1 -0
- package/dist/esm/time/index.js +108 -0
- package/dist/esm/time/index.js.map +1 -0
- package/dist/esm/time/session.d.ts +17 -0
- package/dist/esm/time/session.d.ts.map +1 -0
- package/dist/esm/time/session.js +69 -0
- package/dist/esm/time/session.js.map +1 -0
- package/dist/esm/time/timezone.d.ts +40 -0
- package/dist/esm/time/timezone.d.ts.map +1 -0
- package/dist/esm/time/timezone.js +144 -0
- package/dist/esm/time/timezone.js.map +1 -0
- package/dist/esm/timeframe/index.d.ts +73 -0
- package/dist/esm/timeframe/index.d.ts.map +1 -0
- package/dist/esm/timeframe/index.js +131 -0
- package/dist/esm/timeframe/index.js.map +1 -0
- package/dist/esm/types/index.d.ts +343 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +17 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/metadata.d.ts +300 -0
- package/dist/esm/types/metadata.d.ts.map +1 -0
- package/dist/esm/types/metadata.js +7 -0
- package/dist/esm/types/metadata.js.map +1 -0
- package/dist/esm/utils/index.d.ts +167 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +295 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/package.json +53 -23
- package/src/array/index.ts +1056 -0
- package/src/box/index.ts +680 -0
- package/src/callsite/index.ts +104 -0
- package/src/chartpoint/index.ts +126 -0
- package/src/color/index.ts +411 -0
- package/src/compare/index.ts +46 -0
- package/src/drawing/registry.ts +106 -0
- package/src/index.ts +201 -0
- package/src/indicator.ts +185 -0
- package/src/input.ts +280 -0
- package/src/label/index.ts +490 -0
- package/src/lib/index.ts +8 -0
- package/src/lib/zigzag/index.ts +13 -0
- package/src/lib/zigzag/zigzag.ts +318 -0
- package/src/line/index.ts +530 -0
- package/src/linefill/index.ts +152 -0
- package/src/map/index.ts +115 -0
- package/src/math/index.ts +1071 -0
- package/src/matrix/index.ts +2697 -0
- package/src/plot.ts +121 -0
- package/src/polyline/index.ts +184 -0
- package/src/runtime/adapters/LightweightChartsAdapter.ts +201 -0
- package/src/runtime/adapters/SimpleInputAdapter.ts +132 -0
- package/src/runtime/index.ts +52 -0
- package/src/runtime/inputs.ts +377 -0
- package/src/runtime/runtime.ts +241 -0
- package/src/runtime/series.ts +644 -0
- package/src/runtime/types.ts +292 -0
- package/src/script/index.ts +1865 -0
- package/src/security/resample.ts +119 -0
- package/src/session/bars.ts +262 -0
- package/src/session/calendar.ts +199 -0
- package/src/str/dateformat.ts +104 -0
- package/src/str/index.ts +557 -0
- package/src/str/messageformat.ts +109 -0
- package/src/str/numberformat.ts +197 -0
- package/src/strategy/index.ts +281 -0
- package/src/ta/index.ts +3580 -0
- package/src/ta/running-sum.ts +117 -0
- package/src/ta-series.ts +1036 -0
- package/src/text/index.ts +14 -0
- package/src/time/datestring.ts +96 -0
- package/src/time/index.ts +161 -0
- package/src/time/session.ts +79 -0
- package/src/time/timezone.ts +180 -0
- package/src/timeframe/index.ts +144 -0
- package/src/types/index.ts +398 -0
- package/src/types/metadata.ts +334 -0
- package/src/utils/index.ts +334 -0
- package/dist/array/index.d.ts +0 -57
- package/dist/array/index.d.ts.map +0 -1
- package/dist/box/index.d.ts +0 -37
- package/dist/box/index.d.ts.map +0 -1
- package/dist/callsite/index.d.ts +0 -7
- package/dist/callsite/index.d.ts.map +0 -1
- package/dist/chartpoint/index.d.ts +0 -8
- package/dist/chartpoint/index.d.ts.map +0 -1
- package/dist/color/index.d.ts +0 -28
- package/dist/color/index.d.ts.map +0 -1
- package/dist/compare/index.d.ts +0 -8
- package/dist/compare/index.d.ts.map +0 -1
- package/dist/drawing/registry.d.ts +0 -19
- package/dist/drawing/registry.d.ts.map +0 -1
- package/dist/index.cjs +0 -7979
- package/dist/index.d.ts +0 -64
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs +0 -7962
- package/dist/indicator.d.ts +0 -42
- package/dist/indicator.d.ts.map +0 -1
- package/dist/input.d.ts +0 -47
- package/dist/input.d.ts.map +0 -1
- package/dist/label/index.d.ts +0 -30
- package/dist/label/index.d.ts.map +0 -1
- package/dist/lib/index.d.ts +0 -2
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/zigzag/index.d.ts.map +0 -1
- package/dist/lib/zigzag/zigzag.d.ts +0 -47
- package/dist/lib/zigzag/zigzag.d.ts.map +0 -1
- package/dist/line/index.d.ts +0 -30
- package/dist/line/index.d.ts.map +0 -1
- package/dist/linefill/index.d.ts +0 -10
- package/dist/linefill/index.d.ts.map +0 -1
- package/dist/map/index.d.ts +0 -14
- package/dist/map/index.d.ts.map +0 -1
- package/dist/math/index.d.ts +0 -53
- package/dist/math/index.d.ts.map +0 -1
- package/dist/matrix/index.d.ts +0 -52
- package/dist/matrix/index.d.ts.map +0 -1
- package/dist/plot.d.ts +0 -20
- package/dist/plot.d.ts.map +0 -1
- package/dist/polyline/index.d.ts +0 -11
- package/dist/polyline/index.d.ts.map +0 -1
- package/dist/runtime/adapters/LightweightChartsAdapter.d.ts +0 -15
- package/dist/runtime/adapters/LightweightChartsAdapter.d.ts.map +0 -1
- package/dist/runtime/adapters/SimpleInputAdapter.d.ts +0 -16
- package/dist/runtime/adapters/SimpleInputAdapter.d.ts.map +0 -1
- package/dist/runtime/index.cjs +0 -600
- package/dist/runtime/index.d.ts.map +0 -1
- package/dist/runtime/index.mjs +0 -577
- package/dist/runtime/inputs.d.ts +0 -13
- package/dist/runtime/inputs.d.ts.map +0 -1
- package/dist/runtime/runtime.d.ts +0 -16
- package/dist/runtime/runtime.d.ts.map +0 -1
- package/dist/runtime/series.d.ts +0 -60
- package/dist/runtime/series.d.ts.map +0 -1
- package/dist/runtime/types.d.ts +0 -122
- package/dist/runtime/types.d.ts.map +0 -1
- package/dist/script/index.cjs +0 -6372
- package/dist/script/index.d.ts +0 -709
- package/dist/script/index.d.ts.map +0 -1
- package/dist/script/index.mjs +0 -6355
- package/dist/security/resample.d.ts +0 -13
- package/dist/security/resample.d.ts.map +0 -1
- package/dist/session/bars.d.ts +0 -34
- package/dist/session/bars.d.ts.map +0 -1
- package/dist/session/calendar.d.ts +0 -31
- package/dist/session/calendar.d.ts.map +0 -1
- package/dist/str/dateformat.d.ts +0 -2
- package/dist/str/dateformat.d.ts.map +0 -1
- package/dist/str/index.d.ts +0 -24
- package/dist/str/index.d.ts.map +0 -1
- package/dist/str/messageformat.d.ts +0 -2
- package/dist/str/messageformat.d.ts.map +0 -1
- package/dist/str/numberformat.d.ts +0 -3
- package/dist/str/numberformat.d.ts.map +0 -1
- package/dist/strategy/index.d.ts.map +0 -1
- package/dist/ta/index.d.ts +0 -72
- package/dist/ta/index.d.ts.map +0 -1
- package/dist/ta-series.d.ts +0 -143
- package/dist/ta-series.d.ts.map +0 -1
- package/dist/text/index.d.ts +0 -4
- package/dist/text/index.d.ts.map +0 -1
- package/dist/time/datestring.d.ts +0 -2
- package/dist/time/datestring.d.ts.map +0 -1
- package/dist/time/index.d.ts +0 -15
- package/dist/time/index.d.ts.map +0 -1
- package/dist/time/session.d.ts +0 -2
- package/dist/time/session.d.ts.map +0 -1
- package/dist/time/timezone.d.ts +0 -13
- package/dist/time/timezone.d.ts.map +0 -1
- package/dist/timeframe/index.d.ts +0 -17
- package/dist/timeframe/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -181
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/metadata.d.ts +0 -131
- package/dist/types/metadata.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -26
- package/dist/utils/index.d.ts.map +0 -1
|
@@ -1,9 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Types and constants of the PineScript `strategy.*` API.
|
|
3
|
+
*
|
|
4
|
+
* OakScriptJS does not simulate orders. The script API (`oakscriptjs/script`) declares the strategy,
|
|
5
|
+
* forwards every `strategy.*` call to a {@link StrategyEngine} that the host supplies, and reads the
|
|
6
|
+
* `strategy.*` variables from it. The engine fills the orders, keeps the trades and computes the
|
|
7
|
+
* results.
|
|
8
|
+
*
|
|
9
|
+
* Names follow PineScript v6: option objects use the PineScript argument names, and the engine
|
|
10
|
+
* receives them unchanged. An `na` (NaN) numeric argument is removed before the call, since in
|
|
11
|
+
* PineScript it means "not given". The deprecated `when` argument does not exist: use `if`.
|
|
12
|
+
*
|
|
13
|
+
* @module strategy
|
|
14
|
+
*/
|
|
1
15
|
export type StrategyDirection = 'long' | 'short';
|
|
2
16
|
export type StrategyQtyType = 'fixed' | 'cash' | 'percent_of_equity';
|
|
3
17
|
export type StrategyCommissionType = 'percent' | 'cash_per_contract' | 'cash_per_order';
|
|
4
18
|
export type StrategyOcaType = 'none' | 'cancel' | 'reduce';
|
|
19
|
+
/** `strategy.direction.*`, for `strategy.risk.allow_entry_in`. */
|
|
5
20
|
export type StrategyRiskDirection = 'all' | 'long' | 'short';
|
|
6
21
|
export type StrategyRiskValueType = 'percent_of_equity' | 'cash';
|
|
22
|
+
/** PineScript `strategy.*` constants. */
|
|
7
23
|
export declare const STRATEGY_CONSTANTS: {
|
|
8
24
|
readonly long: "long";
|
|
9
25
|
readonly short: "short";
|
|
@@ -26,6 +42,7 @@ export declare const STRATEGY_CONSTANTS: {
|
|
|
26
42
|
readonly reduce: "reduce";
|
|
27
43
|
};
|
|
28
44
|
};
|
|
45
|
+
/** Arguments of the PineScript `strategy()` declaration, after `title`. */
|
|
29
46
|
export interface StrategyOptions {
|
|
30
47
|
shorttitle?: string;
|
|
31
48
|
overlay?: boolean;
|
|
@@ -40,7 +57,9 @@ export interface StrategyOptions {
|
|
|
40
57
|
default_qty_type?: StrategyQtyType;
|
|
41
58
|
default_qty_value?: number;
|
|
42
59
|
initial_capital?: number;
|
|
60
|
+
/** Account currency; default: the symbol currency. */
|
|
43
61
|
currency?: string;
|
|
62
|
+
/** Ticks added to market and stop fills. */
|
|
44
63
|
slippage?: number;
|
|
45
64
|
commission_type?: StrategyCommissionType;
|
|
46
65
|
commission_value?: number;
|
|
@@ -58,6 +77,7 @@ export interface StrategyOptions {
|
|
|
58
77
|
fill_orders_on_standard_ohlc?: boolean;
|
|
59
78
|
max_polylines_count?: number;
|
|
60
79
|
}
|
|
80
|
+
/** Strategy properties passed to the engine: the declared values, else the PineScript defaults. */
|
|
61
81
|
export interface StrategyProperties {
|
|
62
82
|
pyramiding: number;
|
|
63
83
|
calc_on_order_fills: boolean;
|
|
@@ -66,6 +86,7 @@ export interface StrategyProperties {
|
|
|
66
86
|
default_qty_type: StrategyQtyType;
|
|
67
87
|
default_qty_value: number;
|
|
68
88
|
initial_capital: number;
|
|
89
|
+
/** undefined: the symbol currency. */
|
|
69
90
|
currency?: string;
|
|
70
91
|
slippage: number;
|
|
71
92
|
commission_type: StrategyCommissionType;
|
|
@@ -79,7 +100,9 @@ export interface StrategyProperties {
|
|
|
79
100
|
use_bar_magnifier: boolean;
|
|
80
101
|
fill_orders_on_standard_ohlc: boolean;
|
|
81
102
|
}
|
|
103
|
+
/** PineScript defaults of the `strategy()` arguments (v6 reference). */
|
|
82
104
|
export declare const STRATEGY_DEFAULTS: StrategyProperties;
|
|
105
|
+
/** `strategy.entry()` / `strategy.order()` arguments after `id` and `direction`. */
|
|
83
106
|
export interface StrategyEntryOptions {
|
|
84
107
|
qty?: number;
|
|
85
108
|
limit?: number;
|
|
@@ -90,6 +113,7 @@ export interface StrategyEntryOptions {
|
|
|
90
113
|
alert_message?: string;
|
|
91
114
|
disable_alert?: boolean;
|
|
92
115
|
}
|
|
116
|
+
/** `strategy.exit()` arguments after `id`. `profit`, `loss`, `trail_points` and `trail_offset` are in ticks. */
|
|
93
117
|
export interface StrategyExitOptions {
|
|
94
118
|
from_entry?: string;
|
|
95
119
|
qty?: number;
|
|
@@ -112,6 +136,7 @@ export interface StrategyExitOptions {
|
|
|
112
136
|
alert_trailing?: string;
|
|
113
137
|
disable_alert?: boolean;
|
|
114
138
|
}
|
|
139
|
+
/** `strategy.close()` arguments after `id`. */
|
|
115
140
|
export interface StrategyCloseOptions {
|
|
116
141
|
comment?: string;
|
|
117
142
|
qty?: number;
|
|
@@ -120,12 +145,14 @@ export interface StrategyCloseOptions {
|
|
|
120
145
|
immediately?: boolean;
|
|
121
146
|
disable_alert?: boolean;
|
|
122
147
|
}
|
|
148
|
+
/** `strategy.close_all()` arguments. */
|
|
123
149
|
export interface StrategyCloseAllOptions {
|
|
124
150
|
comment?: string;
|
|
125
151
|
alert_message?: string;
|
|
126
152
|
immediately?: boolean;
|
|
127
153
|
disable_alert?: boolean;
|
|
128
154
|
}
|
|
155
|
+
/** A `strategy.risk.*` rule. */
|
|
129
156
|
export type StrategyRiskRule = {
|
|
130
157
|
rule: 'allow_entry_in';
|
|
131
158
|
direction: StrategyRiskDirection;
|
|
@@ -151,12 +178,19 @@ export type StrategyRiskRule = {
|
|
|
151
178
|
rule: 'max_position_size';
|
|
152
179
|
contracts: number;
|
|
153
180
|
};
|
|
181
|
+
/**
|
|
182
|
+
* One trade, as the PineScript `strategy.opentrades.*(i)` / `strategy.closedtrades.*(i)` functions
|
|
183
|
+
* return it. Times are UNIX milliseconds. The `exit_*` fields are for closed trades only; `exit_id` and the
|
|
184
|
+
* comments are undefined when the engine does not provide them.
|
|
185
|
+
*/
|
|
154
186
|
export interface StrategyTrade {
|
|
155
187
|
entry_id: string;
|
|
156
188
|
entry_price: number;
|
|
157
189
|
entry_bar_index: number;
|
|
158
190
|
entry_time: number;
|
|
191
|
+
/** undefined when the order had no comment, or when the engine does not keep it apart from the id. */
|
|
159
192
|
entry_comment?: string;
|
|
193
|
+
/** Signed quantity: positive for a long trade, negative for a short trade. */
|
|
160
194
|
size: number;
|
|
161
195
|
profit: number;
|
|
162
196
|
profit_percent: number;
|
|
@@ -171,11 +205,22 @@ export interface StrategyTrade {
|
|
|
171
205
|
exit_time?: number;
|
|
172
206
|
exit_comment?: string;
|
|
173
207
|
}
|
|
208
|
+
/** Numeric `strategy.*` variables. */
|
|
174
209
|
export declare const STRATEGY_NUMBER_VARIABLES: readonly ["position_size", "position_avg_price", "equity", "initial_capital", "netprofit", "netprofit_percent", "openprofit", "openprofit_percent", "grossprofit", "grossprofit_percent", "grossloss", "grossloss_percent", "opentrades", "closedtrades", "wintrades", "losstrades", "eventrades", "avg_trade", "avg_trade_percent", "avg_winning_trade", "avg_winning_trade_percent", "avg_losing_trade", "avg_losing_trade_percent", "max_drawdown", "max_drawdown_percent", "max_runup", "max_runup_percent", "max_contracts_held_all", "max_contracts_held_long", "max_contracts_held_short", "margin_liquidation_price"];
|
|
210
|
+
/** Text `strategy.*` variables. */
|
|
175
211
|
export declare const STRATEGY_TEXT_VARIABLES: readonly ["position_entry_name", "account_currency"];
|
|
176
212
|
export type StrategyNumberVariable = (typeof STRATEGY_NUMBER_VARIABLES)[number];
|
|
177
213
|
export type StrategyTextVariable = (typeof STRATEGY_TEXT_VARIABLES)[number];
|
|
178
214
|
export type StrategyVariable = StrategyNumberVariable | StrategyTextVariable;
|
|
215
|
+
/**
|
|
216
|
+
* The order engine the host supplies. OakScriptJS calls it in this order on each bar `i` of
|
|
217
|
+
* `strategy.eachBar()`:
|
|
218
|
+
*
|
|
219
|
+
* 1. `processBar(i)`: fill the orders placed before bar `i` (at the open and inside the bar);
|
|
220
|
+
* 2. the script runs at the close of bar `i`: order calls and variable reads;
|
|
221
|
+
* 3. `processClose(i)`: after the script; with `process_orders_on_close`, fill the new market orders
|
|
222
|
+
* at the close.
|
|
223
|
+
*/
|
|
179
224
|
export interface StrategyEngine {
|
|
180
225
|
processBar(bar: number): void;
|
|
181
226
|
processClose(bar: number): void;
|
|
@@ -186,10 +231,15 @@ export interface StrategyEngine {
|
|
|
186
231
|
close_all(options: StrategyCloseAllOptions): void;
|
|
187
232
|
cancel(id: string): void;
|
|
188
233
|
cancel_all(): void;
|
|
234
|
+
/** Current value of a `strategy.*` variable; undefined when the engine does not provide it. */
|
|
189
235
|
get(variable: StrategyVariable): number | string | undefined;
|
|
236
|
+
/** Open trade number `index` (0 = oldest); undefined when it does not exist. */
|
|
190
237
|
openTrade(index: number): StrategyTrade | undefined;
|
|
238
|
+
/** Closed trade number `index` (0 = oldest); undefined when it does not exist. */
|
|
191
239
|
closedTrade(index: number): StrategyTrade | undefined;
|
|
240
|
+
/** `strategy.risk.*` rules; optional. */
|
|
192
241
|
risk?(rule: StrategyRiskRule): void;
|
|
242
|
+
/** `strategy.default_entry_qty(fill_price)`; optional. */
|
|
193
243
|
defaultEntryQty?(fillPrice: number): number;
|
|
194
244
|
}
|
|
195
245
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/strategy/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var strategy_exports = {};
|
|
20
|
+
__export(strategy_exports, {
|
|
21
|
+
STRATEGY_CONSTANTS: () => STRATEGY_CONSTANTS,
|
|
22
|
+
STRATEGY_DEFAULTS: () => STRATEGY_DEFAULTS,
|
|
23
|
+
STRATEGY_NUMBER_VARIABLES: () => STRATEGY_NUMBER_VARIABLES,
|
|
24
|
+
STRATEGY_TEXT_VARIABLES: () => STRATEGY_TEXT_VARIABLES
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(strategy_exports);
|
|
27
|
+
const STRATEGY_CONSTANTS = {
|
|
28
|
+
long: "long",
|
|
29
|
+
short: "short",
|
|
30
|
+
fixed: "fixed",
|
|
31
|
+
cash: "cash",
|
|
32
|
+
percent_of_equity: "percent_of_equity",
|
|
33
|
+
commission: { percent: "percent", cash_per_contract: "cash_per_contract", cash_per_order: "cash_per_order" },
|
|
34
|
+
direction: { all: "all", long: "long", short: "short" },
|
|
35
|
+
oca: { none: "none", cancel: "cancel", reduce: "reduce" }
|
|
36
|
+
};
|
|
37
|
+
const STRATEGY_DEFAULTS = {
|
|
38
|
+
pyramiding: 0,
|
|
39
|
+
calc_on_order_fills: false,
|
|
40
|
+
calc_on_every_tick: false,
|
|
41
|
+
backtest_fill_limits_assumption: 0,
|
|
42
|
+
// v6 values; PineScript v5: fixed / 1 / 1000000 and margins 0
|
|
43
|
+
default_qty_type: "percent_of_equity",
|
|
44
|
+
default_qty_value: 100,
|
|
45
|
+
initial_capital: 1e5,
|
|
46
|
+
slippage: 0,
|
|
47
|
+
commission_type: "percent",
|
|
48
|
+
commission_value: 0,
|
|
49
|
+
process_orders_on_close: false,
|
|
50
|
+
close_entries_rule: "FIFO",
|
|
51
|
+
margin_long: 100,
|
|
52
|
+
margin_short: 100,
|
|
53
|
+
calc_bars_count: 0,
|
|
54
|
+
risk_free_rate: 2,
|
|
55
|
+
use_bar_magnifier: false,
|
|
56
|
+
fill_orders_on_standard_ohlc: false
|
|
57
|
+
};
|
|
58
|
+
const STRATEGY_NUMBER_VARIABLES = [
|
|
59
|
+
"position_size",
|
|
60
|
+
"position_avg_price",
|
|
61
|
+
"equity",
|
|
62
|
+
"initial_capital",
|
|
63
|
+
"netprofit",
|
|
64
|
+
"netprofit_percent",
|
|
65
|
+
"openprofit",
|
|
66
|
+
"openprofit_percent",
|
|
67
|
+
"grossprofit",
|
|
68
|
+
"grossprofit_percent",
|
|
69
|
+
"grossloss",
|
|
70
|
+
"grossloss_percent",
|
|
71
|
+
"opentrades",
|
|
72
|
+
"closedtrades",
|
|
73
|
+
"wintrades",
|
|
74
|
+
"losstrades",
|
|
75
|
+
"eventrades",
|
|
76
|
+
"avg_trade",
|
|
77
|
+
"avg_trade_percent",
|
|
78
|
+
"avg_winning_trade",
|
|
79
|
+
"avg_winning_trade_percent",
|
|
80
|
+
"avg_losing_trade",
|
|
81
|
+
"avg_losing_trade_percent",
|
|
82
|
+
"max_drawdown",
|
|
83
|
+
"max_drawdown_percent",
|
|
84
|
+
"max_runup",
|
|
85
|
+
"max_runup_percent",
|
|
86
|
+
"max_contracts_held_all",
|
|
87
|
+
"max_contracts_held_long",
|
|
88
|
+
"max_contracts_held_short",
|
|
89
|
+
"margin_liquidation_price"
|
|
90
|
+
];
|
|
91
|
+
const STRATEGY_TEXT_VARIABLES = ["position_entry_name", "account_currency"];
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/strategy/index.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @fileoverview Types and constants of the PineScript `strategy.*` API.\n *\n * OakScriptJS does not simulate orders. The script API (`oakscriptjs/script`) declares the strategy,\n * forwards every `strategy.*` call to a {@link StrategyEngine} that the host supplies, and reads the\n * `strategy.*` variables from it. The engine fills the orders, keeps the trades and computes the\n * results.\n *\n * Names follow PineScript v6: option objects use the PineScript argument names, and the engine\n * receives them unchanged. An `na` (NaN) numeric argument is removed before the call, since in\n * PineScript it means \"not given\". The deprecated `when` argument does not exist: use `if`.\n *\n * @module strategy\n */\n\nexport type StrategyDirection = 'long' | 'short';\nexport type StrategyQtyType = 'fixed' | 'cash' | 'percent_of_equity';\nexport type StrategyCommissionType = 'percent' | 'cash_per_contract' | 'cash_per_order';\nexport type StrategyOcaType = 'none' | 'cancel' | 'reduce';\n/** `strategy.direction.*`, for `strategy.risk.allow_entry_in`. */\nexport type StrategyRiskDirection = 'all' | 'long' | 'short';\nexport type StrategyRiskValueType = 'percent_of_equity' | 'cash';\n\n/** PineScript `strategy.*` constants. */\nexport const STRATEGY_CONSTANTS = {\n long: 'long',\n short: 'short',\n fixed: 'fixed',\n cash: 'cash',\n percent_of_equity: 'percent_of_equity',\n commission: { percent: 'percent', cash_per_contract: 'cash_per_contract', cash_per_order: 'cash_per_order' },\n direction: { all: 'all', long: 'long', short: 'short' },\n oca: { none: 'none', cancel: 'cancel', reduce: 'reduce' },\n} as const;\n\n/** Arguments of the PineScript `strategy()` declaration, after `title`. */\nexport interface StrategyOptions {\n shorttitle?: string;\n overlay?: boolean;\n format?: string;\n precision?: number;\n scale?: string;\n pyramiding?: number;\n calc_on_order_fills?: boolean;\n calc_on_every_tick?: boolean;\n max_bars_back?: number;\n backtest_fill_limits_assumption?: number;\n default_qty_type?: StrategyQtyType;\n default_qty_value?: number;\n initial_capital?: number;\n /** Account currency; default: the symbol currency. */\n currency?: string;\n /** Ticks added to market and stop fills. */\n slippage?: number;\n commission_type?: StrategyCommissionType;\n commission_value?: number;\n process_orders_on_close?: boolean;\n close_entries_rule?: 'FIFO' | 'ANY';\n margin_long?: number;\n margin_short?: number;\n explicit_plot_zorder?: boolean;\n max_lines_count?: number;\n max_labels_count?: number;\n max_boxes_count?: number;\n calc_bars_count?: number;\n risk_free_rate?: number;\n use_bar_magnifier?: boolean;\n fill_orders_on_standard_ohlc?: boolean;\n max_polylines_count?: number;\n}\n\n/** Strategy properties passed to the engine: the declared values, else the PineScript defaults. */\nexport interface StrategyProperties {\n pyramiding: number;\n calc_on_order_fills: boolean;\n calc_on_every_tick: boolean;\n backtest_fill_limits_assumption: number;\n default_qty_type: StrategyQtyType;\n default_qty_value: number;\n initial_capital: number;\n /** undefined: the symbol currency. */\n currency?: string;\n slippage: number;\n commission_type: StrategyCommissionType;\n commission_value: number;\n process_orders_on_close: boolean;\n close_entries_rule: 'FIFO' | 'ANY';\n margin_long: number;\n margin_short: number;\n calc_bars_count: number;\n risk_free_rate: number;\n use_bar_magnifier: boolean;\n fill_orders_on_standard_ohlc: boolean;\n}\n\n/** PineScript defaults of the `strategy()` arguments (v6 reference). */\nexport const STRATEGY_DEFAULTS: StrategyProperties = {\n pyramiding: 0,\n calc_on_order_fills: false,\n calc_on_every_tick: false,\n backtest_fill_limits_assumption: 0,\n // v6 values; PineScript v5: fixed / 1 / 1000000 and margins 0\n default_qty_type: 'percent_of_equity',\n default_qty_value: 100,\n initial_capital: 100000,\n slippage: 0,\n commission_type: 'percent',\n commission_value: 0,\n process_orders_on_close: false,\n close_entries_rule: 'FIFO',\n margin_long: 100,\n margin_short: 100,\n calc_bars_count: 0,\n risk_free_rate: 2,\n use_bar_magnifier: false,\n fill_orders_on_standard_ohlc: false,\n};\n\n/** `strategy.entry()` / `strategy.order()` arguments after `id` and `direction`. */\nexport interface StrategyEntryOptions {\n qty?: number;\n limit?: number;\n stop?: number;\n oca_name?: string;\n oca_type?: StrategyOcaType;\n comment?: string;\n alert_message?: string;\n disable_alert?: boolean;\n}\n\n/** `strategy.exit()` arguments after `id`. `profit`, `loss`, `trail_points` and `trail_offset` are in ticks. */\nexport interface StrategyExitOptions {\n from_entry?: string;\n qty?: number;\n qty_percent?: number;\n profit?: number;\n limit?: number;\n loss?: number;\n stop?: number;\n trail_price?: number;\n trail_points?: number;\n trail_offset?: number;\n oca_name?: string;\n comment?: string;\n comment_profit?: string;\n comment_loss?: string;\n comment_trailing?: string;\n alert_message?: string;\n alert_profit?: string;\n alert_loss?: string;\n alert_trailing?: string;\n disable_alert?: boolean;\n}\n\n/** `strategy.close()` arguments after `id`. */\nexport interface StrategyCloseOptions {\n comment?: string;\n qty?: number;\n qty_percent?: number;\n alert_message?: string;\n immediately?: boolean;\n disable_alert?: boolean;\n}\n\n/** `strategy.close_all()` arguments. */\nexport interface StrategyCloseAllOptions {\n comment?: string;\n alert_message?: string;\n immediately?: boolean;\n disable_alert?: boolean;\n}\n\n/** A `strategy.risk.*` rule. */\nexport type StrategyRiskRule =\n | { rule: 'allow_entry_in'; direction: StrategyRiskDirection }\n | { rule: 'max_cons_loss_days'; count: number; alert_message?: string }\n | { rule: 'max_drawdown'; value: number; type: StrategyRiskValueType; alert_message?: string }\n | { rule: 'max_intraday_filled_orders'; count: number; alert_message?: string }\n | { rule: 'max_intraday_loss'; value: number; type: StrategyRiskValueType; alert_message?: string }\n | { rule: 'max_position_size'; contracts: number };\n\n/**\n * One trade, as the PineScript `strategy.opentrades.*(i)` / `strategy.closedtrades.*(i)` functions\n * return it. Times are UNIX milliseconds. The `exit_*` fields are for closed trades only; `exit_id` and the\n * comments are undefined when the engine does not provide them.\n */\nexport interface StrategyTrade {\n entry_id: string;\n entry_price: number;\n entry_bar_index: number;\n entry_time: number;\n /** undefined when the order had no comment, or when the engine does not keep it apart from the id. */\n entry_comment?: string;\n /** Signed quantity: positive for a long trade, negative for a short trade. */\n size: number;\n profit: number;\n profit_percent: number;\n commission: number;\n max_runup: number;\n max_runup_percent: number;\n max_drawdown: number;\n max_drawdown_percent: number;\n exit_id?: string;\n exit_price?: number;\n exit_bar_index?: number;\n exit_time?: number;\n exit_comment?: string;\n}\n\n/** Numeric `strategy.*` variables. */\nexport const STRATEGY_NUMBER_VARIABLES = [\n 'position_size',\n 'position_avg_price',\n 'equity',\n 'initial_capital',\n 'netprofit',\n 'netprofit_percent',\n 'openprofit',\n 'openprofit_percent',\n 'grossprofit',\n 'grossprofit_percent',\n 'grossloss',\n 'grossloss_percent',\n 'opentrades',\n 'closedtrades',\n 'wintrades',\n 'losstrades',\n 'eventrades',\n 'avg_trade',\n 'avg_trade_percent',\n 'avg_winning_trade',\n 'avg_winning_trade_percent',\n 'avg_losing_trade',\n 'avg_losing_trade_percent',\n 'max_drawdown',\n 'max_drawdown_percent',\n 'max_runup',\n 'max_runup_percent',\n 'max_contracts_held_all',\n 'max_contracts_held_long',\n 'max_contracts_held_short',\n 'margin_liquidation_price',\n] as const;\n\n/** Text `strategy.*` variables. */\nexport const STRATEGY_TEXT_VARIABLES = ['position_entry_name', 'account_currency'] as const;\n\nexport type StrategyNumberVariable = (typeof STRATEGY_NUMBER_VARIABLES)[number];\nexport type StrategyTextVariable = (typeof STRATEGY_TEXT_VARIABLES)[number];\nexport type StrategyVariable = StrategyNumberVariable | StrategyTextVariable;\n\n/**\n * The order engine the host supplies. OakScriptJS calls it in this order on each bar `i` of\n * `strategy.eachBar()`:\n *\n * 1. `processBar(i)`: fill the orders placed before bar `i` (at the open and inside the bar);\n * 2. the script runs at the close of bar `i`: order calls and variable reads;\n * 3. `processClose(i)`: after the script; with `process_orders_on_close`, fill the new market orders\n * at the close.\n */\nexport interface StrategyEngine {\n processBar(bar: number): void;\n processClose(bar: number): void;\n entry(id: string, direction: StrategyDirection, options: StrategyEntryOptions): void;\n order(id: string, direction: StrategyDirection, options: StrategyEntryOptions): void;\n exit(id: string, options: StrategyExitOptions): void;\n close(id: string, options: StrategyCloseOptions): void;\n close_all(options: StrategyCloseAllOptions): void;\n cancel(id: string): void;\n cancel_all(): void;\n /** Current value of a `strategy.*` variable; undefined when the engine does not provide it. */\n get(variable: StrategyVariable): number | string | undefined;\n /** Open trade number `index` (0 = oldest); undefined when it does not exist. */\n openTrade(index: number): StrategyTrade | undefined;\n /** Closed trade number `index` (0 = oldest); undefined when it does not exist. */\n closedTrade(index: number): StrategyTrade | undefined;\n /** `strategy.risk.*` rules; optional. */\n risk?(rule: StrategyRiskRule): void;\n /** `strategy.default_entry_qty(fill_price)`; optional. */\n defaultEntryQty?(fillPrice: number): number;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwBO,MAAM,qBAAqB;AAAA,EAChC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,YAAY,EAAE,SAAS,WAAW,mBAAmB,qBAAqB,gBAAgB,iBAAiB;AAAA,EAC3G,WAAW,EAAE,KAAK,OAAO,MAAM,QAAQ,OAAO,QAAQ;AAAA,EACtD,KAAK,EAAE,MAAM,QAAQ,QAAQ,UAAU,QAAQ,SAAS;AAC1D;AA+DO,MAAM,oBAAwC;AAAA,EACnD,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,iCAAiC;AAAA;AAAA,EAEjC,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,8BAA8B;AAChC;AA8FO,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,0BAA0B,CAAC,uBAAuB,kBAAkB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|