oakscriptjs 0.10.1 → 0.11.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/dist/cjs/box/index.d.ts.map +1 -1
- package/dist/cjs/box/index.js +7 -1
- package/dist/cjs/box/index.js.map +2 -2
- package/dist/cjs/callsite/index.d.ts +73 -32
- package/dist/cjs/callsite/index.d.ts.map +1 -1
- package/dist/cjs/callsite/index.js +69 -65
- package/dist/cjs/callsite/index.js.map +2 -2
- package/dist/cjs/drawing/registry.d.ts +75 -0
- package/dist/cjs/drawing/registry.d.ts.map +1 -1
- package/dist/cjs/drawing/registry.js +139 -6
- package/dist/cjs/drawing/registry.js.map +2 -2
- package/dist/cjs/index.d.ts +6 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +28 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/label/index.d.ts.map +1 -1
- package/dist/cjs/label/index.js +3 -0
- package/dist/cjs/label/index.js.map +2 -2
- package/dist/cjs/line/index.d.ts.map +1 -1
- package/dist/cjs/line/index.js +7 -1
- package/dist/cjs/line/index.js.map +2 -2
- package/dist/cjs/math/index.d.ts.map +1 -1
- package/dist/cjs/math/index.js +2 -0
- package/dist/cjs/math/index.js.map +2 -2
- package/dist/cjs/polyline/index.d.ts.map +1 -1
- package/dist/cjs/polyline/index.js +3 -0
- package/dist/cjs/polyline/index.js.map +2 -2
- package/dist/cjs/script/index.d.ts +30 -13
- package/dist/cjs/script/index.d.ts.map +1 -1
- package/dist/cjs/script/index.js +48 -9
- package/dist/cjs/script/index.js.map +3 -3
- package/dist/cjs/session/bars.d.ts +15 -1
- package/dist/cjs/session/bars.d.ts.map +1 -1
- package/dist/cjs/session/bars.js +41 -6
- package/dist/cjs/session/bars.js.map +3 -3
- package/dist/cjs/session/calendar.d.ts +9 -1
- package/dist/cjs/session/calendar.d.ts.map +1 -1
- package/dist/cjs/session/calendar.js +28 -2
- package/dist/cjs/session/calendar.js.map +2 -2
- package/dist/cjs/session/context.d.ts +75 -0
- package/dist/cjs/session/context.d.ts.map +1 -0
- package/dist/cjs/session/context.js +113 -0
- package/dist/cjs/session/context.js.map +7 -0
- package/dist/cjs/str/index.d.ts +3 -1
- package/dist/cjs/str/index.d.ts.map +1 -1
- package/dist/cjs/str/index.js +2 -1
- package/dist/cjs/str/index.js.map +2 -2
- package/dist/cjs/str/numberformat.d.ts +4 -2
- package/dist/cjs/str/numberformat.d.ts.map +1 -1
- package/dist/cjs/str/numberformat.js +1 -1
- package/dist/cjs/str/numberformat.js.map +2 -2
- package/dist/cjs/ta/index.d.ts +33 -17
- package/dist/cjs/ta/index.d.ts.map +1 -1
- package/dist/cjs/ta/index.js +70 -29
- package/dist/cjs/ta/index.js.map +2 -2
- package/dist/cjs/ta/limits.d.ts +24 -0
- package/dist/cjs/ta/limits.d.ts.map +1 -0
- package/dist/cjs/ta/limits.js +50 -0
- package/dist/cjs/ta/limits.js.map +7 -0
- package/dist/cjs/ta/running-sum.d.ts +0 -16
- package/dist/cjs/ta/running-sum.d.ts.map +1 -1
- package/dist/cjs/ta/running-sum.js +2 -0
- package/dist/cjs/ta/running-sum.js.map +2 -2
- package/dist/cjs/ta-series.d.ts +7 -7
- package/dist/cjs/ta-series.d.ts.map +1 -1
- package/dist/cjs/ta-series.js +9 -7
- package/dist/cjs/ta-series.js.map +2 -2
- package/dist/cjs/time/index.d.ts +5 -2
- package/dist/cjs/time/index.d.ts.map +1 -1
- package/dist/cjs/time/index.js +2 -2
- package/dist/cjs/time/index.js.map +2 -2
- package/dist/cjs/time/session.d.ts +17 -1
- package/dist/cjs/time/session.d.ts.map +1 -1
- package/dist/cjs/time/session.js +61 -7
- package/dist/cjs/time/session.js.map +2 -2
- package/dist/cjs/types/metadata.d.ts +27 -3
- package/dist/cjs/types/metadata.d.ts.map +1 -1
- package/dist/cjs/types/metadata.js.map +1 -1
- package/dist/esm/box/index.d.ts.map +1 -1
- package/dist/esm/box/index.js +8 -2
- package/dist/esm/box/index.js.map +1 -1
- package/dist/esm/callsite/index.d.ts +73 -32
- package/dist/esm/callsite/index.d.ts.map +1 -1
- package/dist/esm/callsite/index.js +143 -106
- package/dist/esm/callsite/index.js.map +1 -1
- package/dist/esm/drawing/registry.d.ts +75 -0
- package/dist/esm/drawing/registry.d.ts.map +1 -1
- package/dist/esm/drawing/registry.js +237 -6
- package/dist/esm/drawing/registry.js.map +1 -1
- package/dist/esm/index.d.ts +6 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/label/index.d.ts.map +1 -1
- package/dist/esm/label/index.js +4 -1
- package/dist/esm/label/index.js.map +1 -1
- package/dist/esm/line/index.d.ts.map +1 -1
- package/dist/esm/line/index.js +8 -2
- package/dist/esm/line/index.js.map +1 -1
- package/dist/esm/math/index.d.ts.map +1 -1
- package/dist/esm/math/index.js +3 -0
- package/dist/esm/math/index.js.map +1 -1
- package/dist/esm/polyline/index.d.ts.map +1 -1
- package/dist/esm/polyline/index.js +5 -1
- package/dist/esm/polyline/index.js.map +1 -1
- package/dist/esm/script/index.d.ts +30 -13
- package/dist/esm/script/index.d.ts.map +1 -1
- package/dist/esm/script/index.js +54 -11
- package/dist/esm/script/index.js.map +1 -1
- package/dist/esm/session/bars.d.ts +15 -1
- package/dist/esm/session/bars.d.ts.map +1 -1
- package/dist/esm/session/bars.js +50 -6
- package/dist/esm/session/bars.js.map +1 -1
- package/dist/esm/session/calendar.d.ts +9 -1
- package/dist/esm/session/calendar.d.ts.map +1 -1
- package/dist/esm/session/calendar.js +35 -3
- package/dist/esm/session/calendar.js.map +1 -1
- package/dist/esm/session/context.d.ts +75 -0
- package/dist/esm/session/context.d.ts.map +1 -0
- package/dist/esm/session/context.js +122 -0
- package/dist/esm/session/context.js.map +1 -0
- package/dist/esm/str/index.d.ts +3 -1
- package/dist/esm/str/index.d.ts.map +1 -1
- package/dist/esm/str/index.js +8 -2
- package/dist/esm/str/index.js.map +1 -1
- package/dist/esm/str/numberformat.d.ts +4 -2
- package/dist/esm/str/numberformat.d.ts.map +1 -1
- package/dist/esm/str/numberformat.js +4 -2
- package/dist/esm/str/numberformat.js.map +1 -1
- package/dist/esm/ta/index.d.ts +33 -17
- package/dist/esm/ta/index.d.ts.map +1 -1
- package/dist/esm/ta/index.js +130 -56
- package/dist/esm/ta/index.js.map +1 -1
- package/dist/esm/ta/limits.d.ts +24 -0
- package/dist/esm/ta/limits.d.ts.map +1 -0
- package/dist/esm/ta/limits.js +42 -0
- package/dist/esm/ta/limits.js.map +1 -0
- package/dist/esm/ta/running-sum.d.ts +0 -16
- package/dist/esm/ta/running-sum.d.ts.map +1 -1
- package/dist/esm/ta/running-sum.js +2 -0
- package/dist/esm/ta/running-sum.js.map +1 -1
- package/dist/esm/ta-series.d.ts +7 -7
- package/dist/esm/ta-series.d.ts.map +1 -1
- package/dist/esm/ta-series.js +9 -7
- package/dist/esm/ta-series.js.map +1 -1
- package/dist/esm/time/index.d.ts +5 -2
- package/dist/esm/time/index.d.ts.map +1 -1
- package/dist/esm/time/index.js +6 -3
- package/dist/esm/time/index.js.map +1 -1
- package/dist/esm/time/session.d.ts +17 -1
- package/dist/esm/time/session.d.ts.map +1 -1
- package/dist/esm/time/session.js +97 -10
- package/dist/esm/time/session.js.map +1 -1
- package/dist/esm/types/metadata.d.ts +27 -3
- package/dist/esm/types/metadata.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/box/index.ts +8 -2
- package/src/callsite/index.ts +150 -100
- package/src/drawing/registry.ts +255 -5
- package/src/index.ts +34 -1
- package/src/label/index.ts +4 -1
- package/src/line/index.ts +8 -2
- package/src/math/index.ts +2 -0
- package/src/polyline/index.ts +3 -1
- package/src/script/index.ts +77 -18
- package/src/session/bars.ts +47 -6
- package/src/session/calendar.ts +37 -3
- package/src/session/context.ts +160 -0
- package/src/str/index.ts +7 -2
- package/src/str/numberformat.ts +5 -3
- package/src/ta/index.ts +148 -66
- package/src/ta/limits.ts +47 -0
- package/src/ta/running-sum.ts +2 -0
- package/src/ta-series.ts +16 -14
- package/src/time/index.ts +6 -3
- package/src/time/session.ts +89 -9
- package/src/types/metadata.ts +27 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberformat.js","sourceRoot":"","sources":["../../../src/str/numberformat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numberformat.js","sourceRoot":"","sources":["../../../src/str/numberformat.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ta/index.d.ts
CHANGED
|
@@ -328,6 +328,8 @@ export declare function rma(source: Source, length: simple_int): series_float;
|
|
|
328
328
|
* - Summed from the oldest value to the newest; as PineScript, a partial sum `s + t` with
|
|
329
329
|
* `|s + t| <= 1e-10 * max(1, |s| + |t|)` is 0 (a cancellation residue, or values below 1e-10)
|
|
330
330
|
* - More responsive to recent price changes than SMA
|
|
331
|
+
* - `length` can be an array (a length per bar, PineScript series length): each bar gives the result of its own
|
|
332
|
+
* length (`na` for a length below 1)
|
|
331
333
|
*
|
|
332
334
|
* @example
|
|
333
335
|
* ```typescript
|
|
@@ -335,7 +337,7 @@ export declare function rma(source: Source, length: simple_int): series_float;
|
|
|
335
337
|
* // WMA gives more weight to recent prices
|
|
336
338
|
* ```
|
|
337
339
|
*/
|
|
338
|
-
export declare function wma(source: Source, length: simple_int): series_float;
|
|
340
|
+
export declare function wma(source: Source, length: simple_int | ArrayLike<number>): series_float;
|
|
339
341
|
/**
|
|
340
342
|
* Highest value over the last `length` bars.
|
|
341
343
|
*
|
|
@@ -344,11 +346,15 @@ export declare function wma(source: Source, length: simple_int): series_float;
|
|
|
344
346
|
* @returns Highest value series (na on the first `length - 1` bars)
|
|
345
347
|
*
|
|
346
348
|
* @remarks
|
|
347
|
-
* As in PineScript:
|
|
348
|
-
*
|
|
349
|
+
* As in PineScript: `na` values are skipped. The result is the highest of the last `length` non-na values (of all
|
|
350
|
+
* of them when there are fewer), also on a bar whose own value is `na`; `na` before bar `length - 1` and while no
|
|
351
|
+
* value was received. A fractional length is truncated (7.5 is 7 bars).
|
|
352
|
+
* `length` can be an array (a length per bar, PineScript series length), also for `ta.lowest`, `ta.highestbars`
|
|
353
|
+
* and `ta.lowestbars`: each bar uses its own length.
|
|
354
|
+
* A length above 15,000 throws the PineScript runtime error (also `ta.lowest`, `ta.highestbars`, `ta.lowestbars`).
|
|
349
355
|
* PineScript `ta.highest(length)` (source = high) is `ta.highest(length)` in the script API.
|
|
350
356
|
*/
|
|
351
|
-
export declare function highest(source: Source, length: simple_int): series_float;
|
|
357
|
+
export declare function highest(source: Source, length: simple_int | ArrayLike<number>): series_float;
|
|
352
358
|
/**
|
|
353
359
|
* Lowest value over the last `length` bars.
|
|
354
360
|
*
|
|
@@ -357,10 +363,11 @@ export declare function highest(source: Source, length: simple_int): series_floa
|
|
|
357
363
|
* @returns Lowest value series (na on the first `length - 1` bars)
|
|
358
364
|
*
|
|
359
365
|
* @remarks
|
|
360
|
-
* As in PineScript:
|
|
361
|
-
*
|
|
366
|
+
* As in PineScript: `na` values are skipped. The result is the lowest of the last `length` non-na values (of all
|
|
367
|
+
* of them when there are fewer), also on a bar whose own value is `na`; `na` before bar `length - 1` and while no
|
|
368
|
+
* value was received.
|
|
362
369
|
*/
|
|
363
|
-
export declare function lowest(source: Source, length: simple_int): series_float;
|
|
370
|
+
export declare function lowest(source: Source, length: simple_int | ArrayLike<number>): series_float;
|
|
364
371
|
/**
|
|
365
372
|
* Cumulative Sum - returns the total sum of all elements from the beginning.
|
|
366
373
|
*
|
|
@@ -819,6 +826,8 @@ export declare function hma(source: Source, length: simple_int): series_float;
|
|
|
819
826
|
* ```
|
|
820
827
|
*/
|
|
821
828
|
export declare function sar(start: simple_float, inc: simple_float, max: simple_float, high?: Source, low?: Source, close?: Source): series_float;
|
|
829
|
+
/** A pivot length: one value, or a value per bar (PineScript series length). */
|
|
830
|
+
type PivotLength = simple_int | ArrayLike<number>;
|
|
822
831
|
/**
|
|
823
832
|
* Pivot High - detects pivot high points in the price series.
|
|
824
833
|
*
|
|
@@ -833,7 +842,10 @@ export declare function sar(start: simple_float, inc: simple_float, max: simple_
|
|
|
833
842
|
* - As in PineScript, the value appears `rightbars` bars after the pivot bar: the pivot bar
|
|
834
843
|
* index is `i - rightbars`
|
|
835
844
|
* - A pivot high may equal values on its left but must be higher than all values on its right
|
|
836
|
-
* -
|
|
845
|
+
* - `na` values are skipped: the window is the last `leftbars + rightbars + 1` non-na values, and the highest of
|
|
846
|
+
* them must be on the bar `rightbars` bars back
|
|
847
|
+
* - `leftbars` / `rightbars` can be arrays (a length per bar, PineScript series length), also for `ta.pivotlow`:
|
|
848
|
+
* each bar uses its own lengths
|
|
837
849
|
*
|
|
838
850
|
* @example
|
|
839
851
|
* ```typescript
|
|
@@ -841,7 +853,7 @@ export declare function sar(start: simple_float, inc: simple_float, max: simple_
|
|
|
841
853
|
* // pivotHighs[i] is high[i - 2] when bar i - 2 is a pivot high
|
|
842
854
|
* ```
|
|
843
855
|
*/
|
|
844
|
-
export declare function pivothigh(sourceOrLeftbars: Source | simple_int, leftbarsOrRightbars:
|
|
856
|
+
export declare function pivothigh(sourceOrLeftbars: Source | simple_int, leftbarsOrRightbars: PivotLength, rightbars?: PivotLength, high?: Source): series_float;
|
|
845
857
|
/**
|
|
846
858
|
* Pivot Low - detects pivot low points in the price series.
|
|
847
859
|
*
|
|
@@ -856,7 +868,8 @@ export declare function pivothigh(sourceOrLeftbars: Source | simple_int, leftbar
|
|
|
856
868
|
* - As in PineScript, the value appears `rightbars` bars after the pivot bar: the pivot bar
|
|
857
869
|
* index is `i - rightbars`
|
|
858
870
|
* - A pivot low may equal values on its left but must be lower than all values on its right
|
|
859
|
-
* -
|
|
871
|
+
* - `na` values are skipped: the window is the last `leftbars + rightbars + 1` non-na values, and the lowest of
|
|
872
|
+
* them must be on the bar `rightbars` bars back
|
|
860
873
|
*
|
|
861
874
|
* @example
|
|
862
875
|
* ```typescript
|
|
@@ -864,7 +877,7 @@ export declare function pivothigh(sourceOrLeftbars: Source | simple_int, leftbar
|
|
|
864
877
|
* // pivotLows[i] is low[i - 2] when bar i - 2 is a pivot low
|
|
865
878
|
* ```
|
|
866
879
|
*/
|
|
867
|
-
export declare function pivotlow(sourceOrLeftbars: Source | simple_int, leftbarsOrRightbars:
|
|
880
|
+
export declare function pivotlow(sourceOrLeftbars: Source | simple_int, leftbarsOrRightbars: PivotLength, rightbars?: PivotLength, low?: Source): series_float;
|
|
868
881
|
/**
|
|
869
882
|
* Bars Since - returns number of bars since condition was true.
|
|
870
883
|
*
|
|
@@ -1129,19 +1142,21 @@ export declare function range(source: Source, length: simple_int): series_float;
|
|
|
1129
1142
|
* -1 for the previous bar, and so on (as in PineScript, the offset is negative).
|
|
1130
1143
|
*
|
|
1131
1144
|
* @remarks
|
|
1132
|
-
* As in PineScript:
|
|
1133
|
-
*
|
|
1145
|
+
* As in PineScript: the best of the last `length` non-na values, the newest one on equal values; the offset is the
|
|
1146
|
+
* distance in bars to its bar, so it is below `-(length - 1)` when `na` values were skipped. `na` before bar
|
|
1147
|
+
* `length - 1` and while no value was received; a fractional length is truncated.
|
|
1134
1148
|
*/
|
|
1135
|
-
export declare function highestbars(source: Source, length: simple_int): series_int;
|
|
1149
|
+
export declare function highestbars(source: Source, length: simple_int | ArrayLike<number>): series_int;
|
|
1136
1150
|
/**
|
|
1137
1151
|
* Offset to the bar with the lowest value over the last `length` bars: 0 for the current bar,
|
|
1138
1152
|
* -1 for the previous bar, and so on (as in PineScript, the offset is negative).
|
|
1139
1153
|
*
|
|
1140
1154
|
* @remarks
|
|
1141
|
-
* As in PineScript:
|
|
1142
|
-
*
|
|
1155
|
+
* As in PineScript: the best of the last `length` non-na values, the newest one on equal values; the offset is the
|
|
1156
|
+
* distance in bars to its bar, so it is below `-(length - 1)` when `na` values were skipped. `na` before bar
|
|
1157
|
+
* `length - 1` and while no value was received; a fractional length is truncated.
|
|
1143
1158
|
*/
|
|
1144
|
-
export declare function lowestbars(source: Source, length: simple_int): series_int;
|
|
1159
|
+
export declare function lowestbars(source: Source, length: simple_int | ArrayLike<number>): series_int;
|
|
1145
1160
|
/**
|
|
1146
1161
|
* All-time highest value of `source` up to each bar (PineScript `ta.max(source)`).
|
|
1147
1162
|
*
|
|
@@ -1448,4 +1463,5 @@ export declare function nvi(close: Source, volume: Source): series_float;
|
|
|
1448
1463
|
* Starts at 1.
|
|
1449
1464
|
*/
|
|
1450
1465
|
export declare function pvi(close: Source, volume: Source): series_float;
|
|
1466
|
+
export {};
|
|
1451
1467
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ta/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAO,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ta/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ta/index.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { eq, ge, gt, le, lt } from '../compare/index.js';
|
|
11
11
|
import { runningSum, runningSumSeries, runningVariance, runningVarianceSeries } from './running-sum.js';
|
|
12
|
+
import { checkSumLength, checkWindowLength } from './limits.js';
|
|
12
13
|
/**
|
|
13
14
|
* Simple Moving Average - returns the moving average (sum of last y values divided by y).
|
|
14
15
|
*
|
|
@@ -39,6 +40,7 @@ export function sma(source, length) {
|
|
|
39
40
|
}
|
|
40
41
|
// Floor the length to match PineScript's auto-truncation of float to int
|
|
41
42
|
const len = Math.floor(length);
|
|
43
|
+
checkSumLength('ta.sma', len, 0);
|
|
42
44
|
return runningSum(source, len).map((sum) => sum / len);
|
|
43
45
|
}
|
|
44
46
|
/**
|
|
@@ -208,6 +210,7 @@ export function macd(source, fastLength, slowLength, signalLength) {
|
|
|
208
210
|
* ```
|
|
209
211
|
*/
|
|
210
212
|
export function bb(series, length, mult) {
|
|
213
|
+
checkSumLength('ta.bb', length, 0);
|
|
211
214
|
const basis = sma(series, length);
|
|
212
215
|
const dev = stdev(series, length);
|
|
213
216
|
const upper = [];
|
|
@@ -250,14 +253,15 @@ function lastValues(source, i, length) {
|
|
|
250
253
|
}
|
|
251
254
|
/**
|
|
252
255
|
* The extreme of the window of `length` bars ending at each bar, in one pass (monotonic deque): the bar index of
|
|
253
|
-
* the oldest highest (or lowest) value, or -1 when the window is empty.
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
* (lowest), the zero that `Math.max` / `Math.min`
|
|
256
|
+
* the oldest highest (or lowest) value (the newest one with `newest`), or -1 when the window is empty. The window
|
|
257
|
+
* stops at the first `na` value going back (the callers pass the non-na values only, see {@link keptValues}), and a
|
|
258
|
+
* fractional length is truncated (7.5 is 7 bars), as PineScript does.
|
|
259
|
+
* `zeros[i]` tells whether the window holds a +0 (highest) or a -0 (lowest), the zero that `Math.max` / `Math.min`
|
|
260
|
+
* return when the extreme is 0 (not kept with `newest`).
|
|
257
261
|
*/
|
|
258
|
-
function windowExtremes(source, length, lowest) {
|
|
262
|
+
function windowExtremes(source, length, lowest, newest = false) {
|
|
259
263
|
const n = source.length;
|
|
260
|
-
const span = length > 0 ? Math.
|
|
264
|
+
const span = length > 0 ? Math.trunc(length) : 0; // PineScript casts the length to int
|
|
261
265
|
const at = new Int32Array(n).fill(-1);
|
|
262
266
|
const zeros = new Uint8Array(n);
|
|
263
267
|
const queue = new Int32Array(n); // bar indices; values from best to worst, the oldest first among equal values
|
|
@@ -275,8 +279,11 @@ function windowExtremes(source, length, lowest) {
|
|
|
275
279
|
zeroCount = 0;
|
|
276
280
|
continue;
|
|
277
281
|
}
|
|
278
|
-
// drop the values that the new one beats; equal values stay (the oldest wins ties)
|
|
279
|
-
while (tail > head
|
|
282
|
+
// drop the values that the new one beats; equal values stay (the oldest wins ties), or go with `newest`
|
|
283
|
+
while (tail > head) {
|
|
284
|
+
const last = source[queue[tail - 1]];
|
|
285
|
+
if (!(lowest ? last > x : last < x) && !(newest && last === x))
|
|
286
|
+
break;
|
|
280
287
|
if (isPreferredZero(queue[--tail]))
|
|
281
288
|
zeroCount--;
|
|
282
289
|
}
|
|
@@ -295,20 +302,81 @@ function windowExtremes(source, length, lowest) {
|
|
|
295
302
|
}
|
|
296
303
|
return { at, zeros };
|
|
297
304
|
}
|
|
298
|
-
/**
|
|
305
|
+
/**
|
|
306
|
+
* The non-na values of `source` with their bars, and for each bar the position of its last non-na value (-1 when
|
|
307
|
+
* there is none yet). PineScript's ta.highest / ta.lowest / ta.highestbars / ta.lowestbars / ta.pivothigh /
|
|
308
|
+
* ta.pivotlow keep the non-na values they receive and nothing else.
|
|
309
|
+
*/
|
|
310
|
+
function keptValues(source) {
|
|
311
|
+
const values = [];
|
|
312
|
+
const bars = [];
|
|
313
|
+
const last = new Int32Array(source.length);
|
|
314
|
+
for (let i = 0; i < source.length; i++) {
|
|
315
|
+
const x = source[i];
|
|
316
|
+
if (!Number.isNaN(x)) {
|
|
317
|
+
values.push(x);
|
|
318
|
+
bars.push(i);
|
|
319
|
+
}
|
|
320
|
+
last[i] = values.length - 1;
|
|
321
|
+
}
|
|
322
|
+
return { values, bars, last };
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* ta.highest / ta.lowest / ta.highestbars / ta.lowestbars with a series length (a length per bar): on each bar the
|
|
326
|
+
* best of the last `length[i]` non-na values (the newest one on ties), na before bar `length[i] - 1`, as PineScript
|
|
327
|
+
* (measured with a length that changes on each bar, with and without na in the source).
|
|
328
|
+
*/
|
|
329
|
+
function extremeSeriesLength(source, lengths, lowest, offsets) {
|
|
330
|
+
const name = (lowest ? 'lowest' : 'highest') + (offsets ? 'bars' : '');
|
|
331
|
+
const { values, bars, last } = keptValues(source);
|
|
332
|
+
return Array.from(source, (_, i) => {
|
|
333
|
+
const len = Math.trunc(lengths[i]);
|
|
334
|
+
checkWindowLength(name, len, i);
|
|
335
|
+
const k = last[i];
|
|
336
|
+
if (!(len >= 1) || i < len - 1 || k < 0)
|
|
337
|
+
return NaN;
|
|
338
|
+
let best = k;
|
|
339
|
+
for (let j = k - 1; j >= 0 && j > k - len; j--) {
|
|
340
|
+
if (lowest ? values[j] < values[best] : values[j] > values[best])
|
|
341
|
+
best = j;
|
|
342
|
+
}
|
|
343
|
+
return offsets ? -(i - bars[best]) : values[best];
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Offset to the best of the last `length` non-na values (the newest one on ties): the distance in bars, so below
|
|
348
|
+
* `-(length - 1)` after an na value. na before bar `length - 1` and while there is no value.
|
|
349
|
+
*/
|
|
299
350
|
function extremeOffset(source, length, lowest) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
351
|
+
if (typeof length !== 'number')
|
|
352
|
+
return extremeSeriesLength(source, length, lowest, true);
|
|
353
|
+
checkWindowLength(lowest ? 'lowestbars' : 'highestbars', length, 0);
|
|
354
|
+
const { values, bars, last } = keptValues(source);
|
|
355
|
+
const { at } = windowExtremes(values, length, lowest, true);
|
|
356
|
+
const len = Math.trunc(length);
|
|
357
|
+
// -(i - bar): -0 when the extreme is the current bar, as the offset -j of the window scan
|
|
358
|
+
return source.map((_, i) => {
|
|
359
|
+
const k = last[i];
|
|
360
|
+
return i < len - 1 || k < 0 || at[k] < 0 ? NaN : -(i - bars[at[k]]);
|
|
361
|
+
});
|
|
303
362
|
}
|
|
304
|
-
/**
|
|
363
|
+
/**
|
|
364
|
+
* Best of the last `length` non-na values (of all of them when there are fewer), with the zero sign of `Math.max` /
|
|
365
|
+
* `Math.min`. na before bar `length - 1` and while there is no value.
|
|
366
|
+
*/
|
|
305
367
|
function extremeValue(source, length, lowest) {
|
|
306
|
-
|
|
368
|
+
if (typeof length !== 'number')
|
|
369
|
+
return extremeSeriesLength(source, length, lowest, false);
|
|
370
|
+
checkWindowLength(lowest ? 'lowest' : 'highest', length, 0);
|
|
371
|
+
const { values, last } = keptValues(source);
|
|
372
|
+
const { at, zeros } = windowExtremes(values, length, lowest);
|
|
373
|
+
const len = Math.trunc(length);
|
|
307
374
|
return source.map((_, i) => {
|
|
308
|
-
|
|
375
|
+
const k = last[i];
|
|
376
|
+
if (i < len - 1 || k < 0 || at[k] < 0)
|
|
309
377
|
return NaN;
|
|
310
|
-
const v =
|
|
311
|
-
return v === 0 && zeros[
|
|
378
|
+
const v = values[at[k]];
|
|
379
|
+
return v === 0 && zeros[k] ? (lowest ? -0 : 0) : v;
|
|
312
380
|
});
|
|
313
381
|
}
|
|
314
382
|
/**
|
|
@@ -682,6 +750,8 @@ function wmaAdd(a, b) {
|
|
|
682
750
|
* - Summed from the oldest value to the newest; as PineScript, a partial sum `s + t` with
|
|
683
751
|
* `|s + t| <= 1e-10 * max(1, |s| + |t|)` is 0 (a cancellation residue, or values below 1e-10)
|
|
684
752
|
* - More responsive to recent price changes than SMA
|
|
753
|
+
* - `length` can be an array (a length per bar, PineScript series length): each bar gives the result of its own
|
|
754
|
+
* length (`na` for a length below 1)
|
|
685
755
|
*
|
|
686
756
|
* @example
|
|
687
757
|
* ```typescript
|
|
@@ -692,7 +762,7 @@ function wmaAdd(a, b) {
|
|
|
692
762
|
export function wma(source, length) {
|
|
693
763
|
const result = [];
|
|
694
764
|
// Floor the length to match PineScript's auto-truncation of float to int
|
|
695
|
-
const
|
|
765
|
+
const fixed = typeof length === 'number' ? Math.floor(length) : NaN;
|
|
696
766
|
// PineScript: na on a bar with an na source (also +/-Infinity) and until `len` non-na values were received;
|
|
697
767
|
// otherwise the last `len` bars, each na replaced by the previous non-na value
|
|
698
768
|
const filled = [];
|
|
@@ -706,7 +776,9 @@ export function wma(source, length) {
|
|
|
706
776
|
count++;
|
|
707
777
|
}
|
|
708
778
|
filled.push(last);
|
|
709
|
-
|
|
779
|
+
// a series length: the window of this bar's length (the result of ta.wma with that fixed length)
|
|
780
|
+
const len = typeof length === 'number' ? fixed : Math.floor(length[i]);
|
|
781
|
+
if (isNa || !(len >= 1) || count < len) {
|
|
710
782
|
result.push(NaN);
|
|
711
783
|
continue;
|
|
712
784
|
}
|
|
@@ -730,8 +802,12 @@ export function wma(source, length) {
|
|
|
730
802
|
* @returns Highest value series (na on the first `length - 1` bars)
|
|
731
803
|
*
|
|
732
804
|
* @remarks
|
|
733
|
-
* As in PineScript:
|
|
734
|
-
*
|
|
805
|
+
* As in PineScript: `na` values are skipped. The result is the highest of the last `length` non-na values (of all
|
|
806
|
+
* of them when there are fewer), also on a bar whose own value is `na`; `na` before bar `length - 1` and while no
|
|
807
|
+
* value was received. A fractional length is truncated (7.5 is 7 bars).
|
|
808
|
+
* `length` can be an array (a length per bar, PineScript series length), also for `ta.lowest`, `ta.highestbars`
|
|
809
|
+
* and `ta.lowestbars`: each bar uses its own length.
|
|
810
|
+
* A length above 15,000 throws the PineScript runtime error (also `ta.lowest`, `ta.highestbars`, `ta.lowestbars`).
|
|
735
811
|
* PineScript `ta.highest(length)` (source = high) is `ta.highest(length)` in the script API.
|
|
736
812
|
*/
|
|
737
813
|
export function highest(source, length) {
|
|
@@ -745,8 +821,9 @@ export function highest(source, length) {
|
|
|
745
821
|
* @returns Lowest value series (na on the first `length - 1` bars)
|
|
746
822
|
*
|
|
747
823
|
* @remarks
|
|
748
|
-
* As in PineScript:
|
|
749
|
-
*
|
|
824
|
+
* As in PineScript: `na` values are skipped. The result is the lowest of the last `length` non-na values (of all
|
|
825
|
+
* of them when there are fewer), also on a bar whose own value is `na`; `na` before bar `length - 1` and while no
|
|
826
|
+
* value was received.
|
|
750
827
|
*/
|
|
751
828
|
export function lowest(source, length) {
|
|
752
829
|
return extremeValue(source, length, true);
|
|
@@ -1031,6 +1108,7 @@ function varianceOf(source, length, biased, name) {
|
|
|
1031
1108
|
return biased ? result : result.map((v, i) => (Math.floor(length[i]) > 1 ? v : NaN));
|
|
1032
1109
|
}
|
|
1033
1110
|
const len = Math.floor(length);
|
|
1111
|
+
checkSumLength(name, len, 0);
|
|
1034
1112
|
// PineScript: the last `len` non-na values (also +/-Infinity skipped), as ta.sma
|
|
1035
1113
|
if ((biased ? len : len - 1) <= 0)
|
|
1036
1114
|
return source.map(() => NaN);
|
|
@@ -1613,37 +1691,27 @@ export function sar(start, inc, max, high, low, close) {
|
|
|
1613
1691
|
/**
|
|
1614
1692
|
* Pivot detection as PineScript computes it.
|
|
1615
1693
|
*
|
|
1616
|
-
* The
|
|
1617
|
-
*
|
|
1618
|
-
*
|
|
1619
|
-
*
|
|
1694
|
+
* The function keeps the non-na values it receives. On each bar it takes the last `leftbars + rightbars + 1` of them
|
|
1695
|
+
* (all of them when there are fewer) and finds the highest (the newest one on equal values; the lowest for a pivot
|
|
1696
|
+
* low): there is a pivot when that value is on the bar `rightbars` bars back, and its value is returned on this bar,
|
|
1697
|
+
* so no future bar is used. A pivot high may so equal values on its left but must be higher than every value on its
|
|
1698
|
+
* right. `na` before bar `leftbars + rightbars`.
|
|
1620
1699
|
*/
|
|
1621
1700
|
function pivot(source, leftbars, rightbars, isHigh) {
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
const
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
const v = source[center];
|
|
1630
|
-
if (Number.isNaN(v))
|
|
1701
|
+
const { values, bars, last } = keptValues(source);
|
|
1702
|
+
return Array.from(source, (_, i) => {
|
|
1703
|
+
// a series length: the lengths of the current bar
|
|
1704
|
+
const left = Math.trunc(typeof leftbars === 'number' ? leftbars : leftbars[i]);
|
|
1705
|
+
const right = Math.trunc(typeof rightbars === 'number' ? rightbars : rightbars[i]);
|
|
1706
|
+
const k = last[i];
|
|
1707
|
+
if (!(i >= left + right) || k < 0)
|
|
1631
1708
|
return NaN;
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
if (
|
|
1635
|
-
|
|
1636
|
-
if (beatsLeft(x, v))
|
|
1637
|
-
return NaN;
|
|
1638
|
-
}
|
|
1639
|
-
for (let j = 1; j <= rightbars; j++) {
|
|
1640
|
-
const x = source[center + j];
|
|
1641
|
-
if (Number.isNaN(x))
|
|
1642
|
-
break;
|
|
1643
|
-
if (beatsRight(x, v))
|
|
1644
|
-
return NaN;
|
|
1709
|
+
let best = k;
|
|
1710
|
+
for (let j = k - 1; j >= 0 && j >= k - left - right; j--) {
|
|
1711
|
+
if (isHigh ? values[j] > values[best] : values[j] < values[best])
|
|
1712
|
+
best = j;
|
|
1645
1713
|
}
|
|
1646
|
-
return
|
|
1714
|
+
return bars[best] === i - right ? values[best] : NaN;
|
|
1647
1715
|
});
|
|
1648
1716
|
}
|
|
1649
1717
|
/**
|
|
@@ -1660,7 +1728,10 @@ function pivot(source, leftbars, rightbars, isHigh) {
|
|
|
1660
1728
|
* - As in PineScript, the value appears `rightbars` bars after the pivot bar: the pivot bar
|
|
1661
1729
|
* index is `i - rightbars`
|
|
1662
1730
|
* - A pivot high may equal values on its left but must be higher than all values on its right
|
|
1663
|
-
* -
|
|
1731
|
+
* - `na` values are skipped: the window is the last `leftbars + rightbars + 1` non-na values, and the highest of
|
|
1732
|
+
* them must be on the bar `rightbars` bars back
|
|
1733
|
+
* - `leftbars` / `rightbars` can be arrays (a length per bar, PineScript series length), also for `ta.pivotlow`:
|
|
1734
|
+
* each bar uses its own lengths
|
|
1664
1735
|
*
|
|
1665
1736
|
* @example
|
|
1666
1737
|
* ```typescript
|
|
@@ -1691,7 +1762,8 @@ export function pivothigh(sourceOrLeftbars, leftbarsOrRightbars, rightbars, high
|
|
|
1691
1762
|
* - As in PineScript, the value appears `rightbars` bars after the pivot bar: the pivot bar
|
|
1692
1763
|
* index is `i - rightbars`
|
|
1693
1764
|
* - A pivot low may equal values on its left but must be lower than all values on its right
|
|
1694
|
-
* -
|
|
1765
|
+
* - `na` values are skipped: the window is the last `leftbars + rightbars + 1` non-na values, and the lowest of
|
|
1766
|
+
* them must be on the bar `rightbars` bars back
|
|
1695
1767
|
*
|
|
1696
1768
|
* @example
|
|
1697
1769
|
* ```typescript
|
|
@@ -2193,8 +2265,9 @@ export function range(source, length) {
|
|
|
2193
2265
|
* -1 for the previous bar, and so on (as in PineScript, the offset is negative).
|
|
2194
2266
|
*
|
|
2195
2267
|
* @remarks
|
|
2196
|
-
* As in PineScript:
|
|
2197
|
-
*
|
|
2268
|
+
* As in PineScript: the best of the last `length` non-na values, the newest one on equal values; the offset is the
|
|
2269
|
+
* distance in bars to its bar, so it is below `-(length - 1)` when `na` values were skipped. `na` before bar
|
|
2270
|
+
* `length - 1` and while no value was received; a fractional length is truncated.
|
|
2198
2271
|
*/
|
|
2199
2272
|
export function highestbars(source, length) {
|
|
2200
2273
|
return extremeOffset(source, length, false);
|
|
@@ -2204,8 +2277,9 @@ export function highestbars(source, length) {
|
|
|
2204
2277
|
* -1 for the previous bar, and so on (as in PineScript, the offset is negative).
|
|
2205
2278
|
*
|
|
2206
2279
|
* @remarks
|
|
2207
|
-
* As in PineScript:
|
|
2208
|
-
*
|
|
2280
|
+
* As in PineScript: the best of the last `length` non-na values, the newest one on equal values; the offset is the
|
|
2281
|
+
* distance in bars to its bar, so it is below `-(length - 1)` when `na` values were skipped. `na` before bar
|
|
2282
|
+
* `length - 1` and while no value was received; a fractional length is truncated.
|
|
2209
2283
|
*/
|
|
2210
2284
|
export function lowestbars(source, length) {
|
|
2211
2285
|
return extremeOffset(source, length, true);
|