oakscriptjs 0.9.5 → 0.9.6
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/array/index.d.ts +84 -27
- package/dist/cjs/array/index.d.ts.map +1 -1
- package/dist/cjs/array/index.js +235 -78
- package/dist/cjs/array/index.js.map +3 -3
- package/dist/cjs/callsite/index.d.ts +81 -2
- package/dist/cjs/callsite/index.d.ts.map +1 -1
- package/dist/cjs/callsite/index.js +62 -1
- package/dist/cjs/callsite/index.js.map +2 -2
- package/dist/cjs/color/index.d.ts +7 -3
- package/dist/cjs/color/index.d.ts.map +1 -1
- package/dist/cjs/color/index.js +6 -1
- package/dist/cjs/color/index.js.map +2 -2
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/label/index.d.ts.map +1 -1
- package/dist/cjs/label/index.js +2 -1
- package/dist/cjs/label/index.js.map +2 -2
- package/dist/cjs/linefill/index.d.ts.map +1 -1
- package/dist/cjs/linefill/index.js +1 -0
- package/dist/cjs/linefill/index.js.map +2 -2
- package/dist/cjs/math/index.d.ts +76 -21
- package/dist/cjs/math/index.d.ts.map +1 -1
- package/dist/cjs/math/index.js +155 -41
- package/dist/cjs/math/index.js.map +3 -3
- package/dist/cjs/matrix/index.d.ts.map +1 -1
- package/dist/cjs/matrix/index.js +42 -36
- package/dist/cjs/matrix/index.js.map +2 -2
- package/dist/cjs/runtime/series.d.ts +9 -0
- package/dist/cjs/runtime/series.d.ts.map +1 -1
- package/dist/cjs/runtime/series.js +16 -2
- package/dist/cjs/runtime/series.js.map +2 -2
- package/dist/cjs/script/index.d.ts +15 -31
- package/dist/cjs/script/index.d.ts.map +1 -1
- package/dist/cjs/script/index.js +32 -0
- package/dist/cjs/script/index.js.map +2 -2
- package/dist/cjs/session/calendar.d.ts.map +1 -1
- package/dist/cjs/session/calendar.js +15 -2
- package/dist/cjs/session/calendar.js.map +2 -2
- package/dist/cjs/str/index.d.ts +50 -38
- package/dist/cjs/str/index.d.ts.map +1 -1
- package/dist/cjs/str/index.js +43 -15
- package/dist/cjs/str/index.js.map +2 -2
- package/dist/cjs/str/messageformat.d.ts +2 -1
- package/dist/cjs/str/messageformat.d.ts.map +1 -1
- package/dist/cjs/str/messageformat.js +4 -1
- package/dist/cjs/str/messageformat.js.map +2 -2
- package/dist/cjs/str/numberformat.d.ts +4 -0
- package/dist/cjs/str/numberformat.d.ts.map +1 -1
- package/dist/cjs/str/numberformat.js +26 -4
- package/dist/cjs/str/numberformat.js.map +3 -3
- package/dist/cjs/ta/index.d.ts +86 -43
- package/dist/cjs/ta/index.d.ts.map +1 -1
- package/dist/cjs/ta/index.js +173 -267
- package/dist/cjs/ta/index.js.map +3 -3
- package/dist/cjs/ta/running-sum.d.ts +54 -2
- package/dist/cjs/ta/running-sum.d.ts.map +1 -1
- package/dist/cjs/ta/running-sum.js +132 -52
- package/dist/cjs/ta/running-sum.js.map +2 -2
- package/dist/cjs/ta-series.d.ts +4 -4
- package/dist/cjs/ta-series.d.ts.map +1 -1
- package/dist/cjs/ta-series.js +4 -3
- package/dist/cjs/ta-series.js.map +2 -2
- package/dist/cjs/time/datestring.d.ts +1 -0
- package/dist/cjs/time/datestring.d.ts.map +1 -1
- package/dist/cjs/time/datestring.js +7 -0
- package/dist/cjs/time/datestring.js.map +2 -2
- package/dist/cjs/time/index.d.ts.map +1 -1
- package/dist/cjs/time/index.js +2 -1
- package/dist/cjs/time/index.js.map +2 -2
- package/dist/cjs/time/session.d.ts +28 -9
- package/dist/cjs/time/session.d.ts.map +1 -1
- package/dist/cjs/time/session.js +74 -28
- package/dist/cjs/time/session.js.map +2 -2
- package/dist/cjs/time/timezone.d.ts +5 -0
- package/dist/cjs/time/timezone.d.ts.map +1 -1
- package/dist/cjs/time/timezone.js +15 -1
- package/dist/cjs/time/timezone.js.map +2 -2
- package/dist/esm/array/index.d.ts +84 -27
- package/dist/esm/array/index.d.ts.map +1 -1
- package/dist/esm/array/index.js +373 -111
- package/dist/esm/array/index.js.map +1 -1
- package/dist/esm/callsite/index.d.ts +81 -2
- package/dist/esm/callsite/index.d.ts.map +1 -1
- package/dist/esm/callsite/index.js +145 -3
- package/dist/esm/callsite/index.js.map +1 -1
- package/dist/esm/color/index.d.ts +7 -3
- package/dist/esm/color/index.d.ts.map +1 -1
- package/dist/esm/color/index.js +15 -3
- package/dist/esm/color/index.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/label/index.d.ts.map +1 -1
- package/dist/esm/label/index.js +2 -1
- package/dist/esm/label/index.js.map +1 -1
- package/dist/esm/linefill/index.d.ts.map +1 -1
- package/dist/esm/linefill/index.js +3 -0
- package/dist/esm/linefill/index.js.map +1 -1
- package/dist/esm/math/index.d.ts +76 -21
- package/dist/esm/math/index.d.ts.map +1 -1
- package/dist/esm/math/index.js +227 -61
- package/dist/esm/math/index.js.map +1 -1
- package/dist/esm/matrix/index.d.ts.map +1 -1
- package/dist/esm/matrix/index.js +57 -43
- package/dist/esm/matrix/index.js.map +1 -1
- package/dist/esm/runtime/series.d.ts +9 -0
- package/dist/esm/runtime/series.d.ts.map +1 -1
- package/dist/esm/runtime/series.js +18 -1
- package/dist/esm/runtime/series.js.map +1 -1
- package/dist/esm/script/index.d.ts +15 -31
- package/dist/esm/script/index.d.ts.map +1 -1
- package/dist/esm/script/index.js +44 -1
- package/dist/esm/script/index.js.map +1 -1
- package/dist/esm/session/calendar.d.ts.map +1 -1
- package/dist/esm/session/calendar.js +22 -2
- package/dist/esm/session/calendar.js.map +1 -1
- package/dist/esm/str/index.d.ts +50 -38
- package/dist/esm/str/index.d.ts.map +1 -1
- package/dist/esm/str/index.js +103 -52
- package/dist/esm/str/index.js.map +1 -1
- package/dist/esm/str/messageformat.d.ts +2 -1
- package/dist/esm/str/messageformat.d.ts.map +1 -1
- package/dist/esm/str/messageformat.js +7 -2
- package/dist/esm/str/messageformat.js.map +1 -1
- package/dist/esm/str/numberformat.d.ts +4 -0
- package/dist/esm/str/numberformat.d.ts.map +1 -1
- package/dist/esm/str/numberformat.js +38 -4
- package/dist/esm/str/numberformat.js.map +1 -1
- package/dist/esm/ta/index.d.ts +86 -43
- package/dist/esm/ta/index.d.ts.map +1 -1
- package/dist/esm/ta/index.js +296 -348
- package/dist/esm/ta/index.js.map +1 -1
- package/dist/esm/ta/running-sum.d.ts +54 -2
- package/dist/esm/ta/running-sum.d.ts.map +1 -1
- package/dist/esm/ta/running-sum.js +166 -71
- package/dist/esm/ta/running-sum.js.map +1 -1
- package/dist/esm/ta-series.d.ts +4 -4
- package/dist/esm/ta-series.d.ts.map +1 -1
- package/dist/esm/ta-series.js +5 -4
- package/dist/esm/ta-series.js.map +1 -1
- package/dist/esm/time/datestring.d.ts +1 -0
- package/dist/esm/time/datestring.d.ts.map +1 -1
- package/dist/esm/time/datestring.js +12 -0
- package/dist/esm/time/datestring.js.map +1 -1
- package/dist/esm/time/index.d.ts.map +1 -1
- package/dist/esm/time/index.js +3 -1
- package/dist/esm/time/index.js.map +1 -1
- package/dist/esm/time/session.d.ts +28 -9
- package/dist/esm/time/session.d.ts.map +1 -1
- package/dist/esm/time/session.js +113 -42
- package/dist/esm/time/session.js.map +1 -1
- package/dist/esm/time/timezone.d.ts +5 -0
- package/dist/esm/time/timezone.d.ts.map +1 -1
- package/dist/esm/time/timezone.js +21 -1
- package/dist/esm/time/timezone.js.map +1 -1
- package/package.json +1 -1
- package/src/array/index.ts +352 -127
- package/src/callsite/index.ts +147 -3
- package/src/color/index.ts +15 -5
- package/src/index.ts +1 -1
- package/src/label/index.ts +2 -1
- package/src/linefill/index.ts +2 -0
- package/src/math/index.ts +256 -74
- package/src/matrix/index.ts +52 -52
- package/src/runtime/series.ts +22 -1
- package/src/script/index.ts +53 -1
- package/src/session/calendar.ts +22 -2
- package/src/str/index.ts +95 -51
- package/src/str/messageformat.ts +7 -2
- package/src/str/numberformat.ts +39 -4
- package/src/ta/index.ts +306 -386
- package/src/ta/running-sum.ts +187 -74
- package/src/ta-series.ts +8 -7
- package/src/time/datestring.ts +10 -0
- package/src/time/index.ts +3 -1
- package/src/time/session.ts +97 -47
- package/src/time/timezone.ts +21 -1
|
@@ -12,11 +12,17 @@ export declare function new_array<T>(size?: simple_int, initial_value?: T): Pine
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function size<T>(id: PineArray<T>): int;
|
|
14
14
|
/**
|
|
15
|
-
* Returns the element at the specified index
|
|
15
|
+
* Returns the element at the specified index.
|
|
16
|
+
*
|
|
17
|
+
* PineScript rules: a negative index counts from the end (`get(a, -1)` is the last element); an index outside
|
|
18
|
+
* `-size .. size - 1` is a runtime error (throws); an `na` index gives `na`.
|
|
16
19
|
*/
|
|
17
20
|
export declare function get<T>(id: PineArray<T>, index: simple_int): T;
|
|
18
21
|
/**
|
|
19
|
-
* Sets the value of the element at the specified index
|
|
22
|
+
* Sets the value of the element at the specified index.
|
|
23
|
+
*
|
|
24
|
+
* PineScript rules: a negative index counts from the end; an index outside `-size .. size - 1` is a runtime error
|
|
25
|
+
* (throws); an `na` index does nothing.
|
|
20
26
|
*/
|
|
21
27
|
export declare function set<T>(id: PineArray<T>, index: simple_int, value: T): void;
|
|
22
28
|
/**
|
|
@@ -40,23 +46,35 @@ export declare function shift<T>(id: PineArray<T>): T;
|
|
|
40
46
|
*/
|
|
41
47
|
export declare function clear<T>(id: PineArray<T>): void;
|
|
42
48
|
/**
|
|
43
|
-
* Inserts a value at the specified index
|
|
49
|
+
* Inserts a value at the specified index.
|
|
50
|
+
*
|
|
51
|
+
* PineScript rules: a negative index counts from the end and `size` appends, so `-size .. size` is valid; any other
|
|
52
|
+
* index is a runtime error (throws); an `na` index appends.
|
|
44
53
|
*/
|
|
45
54
|
export declare function insert<T>(id: PineArray<T>, index: simple_int, value: T): void;
|
|
46
55
|
/**
|
|
47
|
-
* Removes the element at the specified index
|
|
56
|
+
* Removes the element at the specified index and returns it.
|
|
57
|
+
*
|
|
58
|
+
* PineScript rules: a negative index counts from the end; an index outside `-size .. size - 1` is a runtime error
|
|
59
|
+
* (throws); an `na` index removes nothing and gives `na`.
|
|
48
60
|
*/
|
|
49
61
|
export declare function remove<T>(id: PineArray<T>, index: simple_int): T;
|
|
50
62
|
/**
|
|
51
|
-
* Returns true if the array contains the value
|
|
63
|
+
* Returns true if the array contains the value.
|
|
64
|
+
*
|
|
65
|
+
* PineScript rules: numbers are compared with a 1e-10 tolerance (|a - b| <= 1e-10); `na` is never found.
|
|
52
66
|
*/
|
|
53
67
|
export declare function includes<T>(id: PineArray<T>, value: T): bool;
|
|
54
68
|
/**
|
|
55
|
-
* Returns the index of the first occurrence of the value
|
|
69
|
+
* Returns the index of the first occurrence of the value, -1 when not found.
|
|
70
|
+
*
|
|
71
|
+
* PineScript rules: numbers are compared with a 1e-10 tolerance (|a - b| <= 1e-10); `na` is never found.
|
|
56
72
|
*/
|
|
57
73
|
export declare function indexof<T>(id: PineArray<T>, value: T): int;
|
|
58
74
|
/**
|
|
59
|
-
* Returns the index of the last occurrence of the value
|
|
75
|
+
* Returns the index of the last occurrence of the value, -1 when not found.
|
|
76
|
+
*
|
|
77
|
+
* PineScript rules: numbers are compared with a 1e-10 tolerance (|a - b| <= 1e-10); `na` is never found.
|
|
60
78
|
*/
|
|
61
79
|
export declare function lastindexof<T>(id: PineArray<T>, value: T): int;
|
|
62
80
|
/**
|
|
@@ -64,7 +82,7 @@ export declare function lastindexof<T>(id: PineArray<T>, value: T): int;
|
|
|
64
82
|
*/
|
|
65
83
|
export declare function copy<T>(id: PineArray<T>): PineArray<T>;
|
|
66
84
|
/**
|
|
67
|
-
*
|
|
85
|
+
* Appends the elements of `id2` to `id1` and returns `id1` (PineScript `array.concat` changes `id1`).
|
|
68
86
|
*/
|
|
69
87
|
export declare function concat<T>(id1: PineArray<T>, id2: PineArray<T>): PineArray<T>;
|
|
70
88
|
/**
|
|
@@ -76,15 +94,29 @@ export declare function join(id: PineArray<any>, separator?: string): string;
|
|
|
76
94
|
*/
|
|
77
95
|
export declare function reverse<T>(id: PineArray<T>): void;
|
|
78
96
|
/**
|
|
79
|
-
* Returns
|
|
97
|
+
* Returns the elements from `index_from` (included) to `index_to` (excluded, default: the size) as a live view of
|
|
98
|
+
* the array (PineScript `array.slice`).
|
|
99
|
+
*
|
|
100
|
+
* PineScript rules:
|
|
101
|
+
* - the slice shares the elements of the original array: a change of an element of the slice changes the original
|
|
102
|
+
* array, and adding / removing elements of the slice adds / removes them in the original array, inside the slice
|
|
103
|
+
* bounds (a push to the slice inserts at the end of the slice)
|
|
104
|
+
* - `index_from` must address an element (`0 .. size - 1`) and `index_to` may be `size`; other bounds, or
|
|
105
|
+
* `index_from > index_to`, are a runtime error (throws); an `na` bound means the start / the end of the array
|
|
80
106
|
*/
|
|
81
107
|
export declare function slice<T>(id: PineArray<T>, index_from: simple_int, index_to?: simple_int): PineArray<T>;
|
|
108
|
+
/** Sort order of array.sort / array.sort_indices (PineScript `order.ascending` / `order.descending`). */
|
|
109
|
+
export type SortOrder = 'asc' | 'desc' | 'ascending' | 'descending';
|
|
82
110
|
/**
|
|
83
|
-
* Sorts array
|
|
111
|
+
* Sorts the array in place.
|
|
112
|
+
*
|
|
113
|
+
* PineScript rules: `na` goes after the numbers in ascending order and before them in descending order (the
|
|
114
|
+
* ascending result reversed); in a string array `na` goes first in ascending order.
|
|
84
115
|
*/
|
|
85
|
-
export declare function sort<T>(id: PineArray<T>, order?:
|
|
116
|
+
export declare function sort<T>(id: PineArray<T>, order?: SortOrder): void;
|
|
86
117
|
/**
|
|
87
|
-
*
|
|
118
|
+
* Sum of the non-na elements (PineScript `array.sum(id)`), added from left to right; an array without values gives NaN.
|
|
119
|
+
* As PineScript, the running sum is set to 0 after a step when its absolute value is <= 1e-10.
|
|
88
120
|
*/
|
|
89
121
|
export declare function sum(id: PineArray<float>): float;
|
|
90
122
|
/**
|
|
@@ -93,30 +125,40 @@ export declare function sum(id: PineArray<float>): float;
|
|
|
93
125
|
export declare function avg(id: PineArray<float>): float;
|
|
94
126
|
/**
|
|
95
127
|
* The `nth` smallest value (0 = the smallest) of the non-na elements (PineScript `array.min(id, nth)`).
|
|
96
|
-
*
|
|
128
|
+
*
|
|
129
|
+
* PineScript rules: an `nth` past the non-na values but inside the array size gives the greatest value; an `nth`
|
|
130
|
+
* outside `0 .. size - 1` is a runtime error (throws); an `na` nth counts as 0; an array without values gives NaN.
|
|
97
131
|
*/
|
|
98
132
|
export declare function min(id: PineArray<float>, nth?: simple_int): float;
|
|
99
133
|
/**
|
|
100
134
|
* The `nth` greatest value (0 = the greatest) of the non-na elements (PineScript `array.max(id, nth)`).
|
|
101
|
-
*
|
|
135
|
+
*
|
|
136
|
+
* PineScript rules: an `nth` past the non-na values but inside the array size gives the smallest value; an `nth`
|
|
137
|
+
* outside `0 .. size - 1` is a runtime error (throws); an `na` nth counts as 0; an array without values gives NaN.
|
|
102
138
|
*/
|
|
103
139
|
export declare function max(id: PineArray<float>, nth?: simple_int): float;
|
|
104
140
|
/**
|
|
105
|
-
*
|
|
141
|
+
* Median of the non-na elements (PineScript `array.median(id)`): the middle value, or the mean of the two middle
|
|
142
|
+
* values for an even count; an array without values gives NaN.
|
|
106
143
|
*/
|
|
107
144
|
export declare function median(id: PineArray<float>): float;
|
|
108
145
|
/**
|
|
109
|
-
*
|
|
146
|
+
* Most frequent non-na element (PineScript `array.mode(id)`), compared exactly.
|
|
147
|
+
*
|
|
148
|
+
* PineScript rules: with several values of the same frequency, the smallest one; an array without values gives NaN.
|
|
110
149
|
*/
|
|
111
150
|
export declare function mode(id: PineArray<float>): float;
|
|
112
151
|
/**
|
|
113
|
-
* Standard deviation of the non-na elements (PineScript `array.stdev(id, biased)`)
|
|
114
|
-
* `
|
|
152
|
+
* Standard deviation of the non-na elements (PineScript `array.stdev(id, biased)`): the square root of
|
|
153
|
+
* `array.variance(id, biased)`.
|
|
115
154
|
*/
|
|
116
155
|
export declare function stdev(id: PineArray<float>, biased?: bool): float;
|
|
117
156
|
/**
|
|
118
157
|
* Variance of the non-na elements (PineScript `array.variance(id, biased)`).
|
|
119
|
-
*
|
|
158
|
+
*
|
|
159
|
+
* PineScript rule (moment form): with `p` the sum of the values, `q` the sum of their squares, `n` the count and
|
|
160
|
+
* `m = p / n`: biased (default) `max(0, q / n - m * m)`, unbiased `max(0, q / (n - 1) - (p / (n - 1)) * m)`.
|
|
161
|
+
* One value gives 0 biased and NaN unbiased; an array without values gives NaN.
|
|
120
162
|
*/
|
|
121
163
|
export declare function variance(id: PineArray<float>, biased?: bool): float;
|
|
122
164
|
/**
|
|
@@ -524,6 +566,9 @@ export declare function binary_search_rightmost(id: PineArray<float>, val: float
|
|
|
524
566
|
* - Unbiased (false): divides by n-1 (sample covariance)
|
|
525
567
|
* - Returns NaN if arrays are empty or have different lengths
|
|
526
568
|
* - Formula: Cov(X,Y) = E[(X - μX)(Y - μY)]
|
|
569
|
+
*
|
|
570
|
+
* PineScript rules: a pair where either value is `na` is skipped and the count is the number of pairs kept; both
|
|
571
|
+
* means first, then the sum of the products from the first to the last pair. One pair gives 0 biased, NaN unbiased.
|
|
527
572
|
*/
|
|
528
573
|
export declare function covariance(id1: PineArray<float>, id2: PineArray<float>, biased?: bool): float;
|
|
529
574
|
/**
|
|
@@ -549,9 +594,10 @@ export declare function covariance(id1: PineArray<float>, id2: PineArray<float>,
|
|
|
549
594
|
* - Returns NaN if array is empty
|
|
550
595
|
*
|
|
551
596
|
* PineScript rules:
|
|
552
|
-
* - position in the sorted array: `percentage / 100
|
|
553
|
-
*
|
|
597
|
+
* - 1-based position in the sorted array: `size * percentage / 100 + 0.5` (snapped to an integer within 1e-9),
|
|
598
|
+
* clamped to the first / last value; between two values `lo * (1 - frac) + hi * frac`
|
|
554
599
|
* - `na` values are sorted after all numbers; with an `na` in the array, a position between two values gives `na`
|
|
600
|
+
* - an `na` percentage gives `na`; a percentage outside 0 .. 100 is a runtime error (throws)
|
|
555
601
|
*/
|
|
556
602
|
export declare function percentile_linear_interpolation(id: PineArray<float>, percentage: float): float;
|
|
557
603
|
/**
|
|
@@ -577,8 +623,9 @@ export declare function percentile_linear_interpolation(id: PineArray<float>, pe
|
|
|
577
623
|
* - Returns NaN if array is empty
|
|
578
624
|
*
|
|
579
625
|
* PineScript rules:
|
|
580
|
-
* - the value at rank `ceil(percentage / 100
|
|
626
|
+
* - the value at rank `ceil(percentage * size / 100)` (clamped to 1 .. size) of the sorted array
|
|
581
627
|
* - `na` values are sorted after all numbers (na when that rank holds an `na`)
|
|
628
|
+
* - an `na` percentage counts as 0; a percentage outside 0 .. 100 is a runtime error (throws)
|
|
582
629
|
*/
|
|
583
630
|
export declare function percentile_nearest_rank(id: PineArray<float>, percentage: float): float;
|
|
584
631
|
/**
|
|
@@ -596,13 +643,17 @@ export declare function percentile_nearest_rank(id: PineArray<float>, percentage
|
|
|
596
643
|
* ```typescript
|
|
597
644
|
* const arr = [1, 2, 3, 4, 5];
|
|
598
645
|
* const rank = array.percentrank(arr, 2); // Value at index 2 is 3
|
|
599
|
-
* // Returns:
|
|
646
|
+
* // Returns: 50 ((3 - 1) * 100 / (5 - 1))
|
|
600
647
|
* ```
|
|
601
648
|
*
|
|
602
649
|
* @remarks
|
|
603
|
-
* - Returns percentage of elements <= the value at given index
|
|
604
650
|
* - Range: 0 to 100
|
|
605
|
-
*
|
|
651
|
+
*
|
|
652
|
+
* PineScript rules:
|
|
653
|
+
* - `(count - 1) * 100 / (size - 1)`, with `count` the number of non-na elements <= the element (exact
|
|
654
|
+
* comparison, no 1e-10 tolerance); `na` elements count in the size
|
|
655
|
+
* - an `na` element, a one-element array or an empty array gives NaN
|
|
656
|
+
* - an `na` index counts as 0; an index outside `0 .. size - 1` is a runtime error (throws)
|
|
606
657
|
*/
|
|
607
658
|
export declare function percentrank(id: PineArray<float>, index: int): float;
|
|
608
659
|
/**
|
|
@@ -630,8 +681,10 @@ export declare function percentrank(id: PineArray<float>, index: int): float;
|
|
|
630
681
|
* - Original array is not modified
|
|
631
682
|
* - Returns indices that would sort the array
|
|
632
683
|
* - Useful for maintaining correspondence with other arrays
|
|
684
|
+
* - PineScript rule: the indices of `na` elements go where `array.sort` puts them (after the numbers in ascending
|
|
685
|
+
* order, in their original order: `sort_indices([na, na, 5, 1])` is `[3, 2, 0, 1]`)
|
|
633
686
|
*/
|
|
634
|
-
export declare function sort_indices(id: PineArray<
|
|
687
|
+
export declare function sort_indices<T>(id: PineArray<T>, order?: SortOrder): PineArray<int>;
|
|
635
688
|
/**
|
|
636
689
|
* Standardize
|
|
637
690
|
*
|
|
@@ -652,8 +705,12 @@ export declare function sort_indices(id: PineArray<float>, order?: 'asc' | 'desc
|
|
|
652
705
|
* @remarks
|
|
653
706
|
* - Formula: z = (x - μ) / σ
|
|
654
707
|
* - Result has mean of 0 and standard deviation of 1
|
|
655
|
-
* - Returns array of NaN if standard deviation is 0
|
|
656
708
|
* - Useful for comparing values on different scales
|
|
709
|
+
*
|
|
710
|
+
* PineScript rules:
|
|
711
|
+
* - μ and σ are the population mean and standard deviation of the non-na elements, as `array.variance` (moment
|
|
712
|
+
* form); `na` elements stay `na`
|
|
713
|
+
* - when σ is 0 (all values equal) every non-na element gives 1
|
|
657
714
|
*/
|
|
658
715
|
export declare function standardize(id: PineArray<float>): PineArray<float>;
|
|
659
716
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEpH;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAE,UAAc,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAMlF;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAE7C;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"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"}
|