oakscriptjs 0.11.1 → 0.11.3

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.
Files changed (75) hide show
  1. package/dist/cjs/callsite/index.d.ts.map +1 -1
  2. package/dist/cjs/callsite/index.js +5 -2
  3. package/dist/cjs/callsite/index.js.map +2 -2
  4. package/dist/cjs/drawing/output.d.ts +2 -1
  5. package/dist/cjs/drawing/output.d.ts.map +1 -1
  6. package/dist/cjs/drawing/output.js +5 -0
  7. package/dist/cjs/drawing/output.js.map +2 -2
  8. package/dist/cjs/index.d.ts +2 -2
  9. package/dist/cjs/index.d.ts.map +1 -1
  10. package/dist/cjs/index.js +2 -1
  11. package/dist/cjs/index.js.map +2 -2
  12. package/dist/cjs/script/index.d.ts +1 -1
  13. package/dist/cjs/script/index.d.ts.map +1 -1
  14. package/dist/cjs/script/index.js +6 -51
  15. package/dist/cjs/script/index.js.map +2 -2
  16. package/dist/cjs/session/calendar.d.ts.map +1 -1
  17. package/dist/cjs/session/calendar.js +1 -0
  18. package/dist/cjs/session/calendar.js.map +2 -2
  19. package/dist/cjs/session/context.d.ts +20 -4
  20. package/dist/cjs/session/context.d.ts.map +1 -1
  21. package/dist/cjs/session/context.js +65 -5
  22. package/dist/cjs/session/context.js.map +2 -2
  23. package/dist/cjs/ta/index.d.ts +31 -29
  24. package/dist/cjs/ta/index.d.ts.map +1 -1
  25. package/dist/cjs/ta/index.js +10 -12
  26. package/dist/cjs/ta/index.js.map +3 -3
  27. package/dist/cjs/table/index.d.ts +10 -5
  28. package/dist/cjs/table/index.d.ts.map +1 -1
  29. package/dist/cjs/table/index.js +11 -2
  30. package/dist/cjs/table/index.js.map +2 -2
  31. package/dist/cjs/types/metadata.d.ts +16 -0
  32. package/dist/cjs/types/metadata.d.ts.map +1 -1
  33. package/dist/cjs/types/metadata.js.map +1 -1
  34. package/dist/esm/callsite/index.d.ts.map +1 -1
  35. package/dist/esm/callsite/index.js +5 -2
  36. package/dist/esm/callsite/index.js.map +1 -1
  37. package/dist/esm/drawing/output.d.ts +2 -1
  38. package/dist/esm/drawing/output.d.ts.map +1 -1
  39. package/dist/esm/drawing/output.js +8 -1
  40. package/dist/esm/drawing/output.js.map +1 -1
  41. package/dist/esm/index.d.ts +2 -2
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +5 -4
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/script/index.d.ts +1 -1
  46. package/dist/esm/script/index.d.ts.map +1 -1
  47. package/dist/esm/script/index.js +7 -62
  48. package/dist/esm/script/index.js.map +1 -1
  49. package/dist/esm/session/calendar.d.ts.map +1 -1
  50. package/dist/esm/session/calendar.js +4 -0
  51. package/dist/esm/session/calendar.js.map +1 -1
  52. package/dist/esm/session/context.d.ts +20 -4
  53. package/dist/esm/session/context.d.ts.map +1 -1
  54. package/dist/esm/session/context.js +81 -7
  55. package/dist/esm/session/context.js.map +1 -1
  56. package/dist/esm/ta/index.d.ts +31 -29
  57. package/dist/esm/ta/index.d.ts.map +1 -1
  58. package/dist/esm/ta/index.js +45 -45
  59. package/dist/esm/ta/index.js.map +1 -1
  60. package/dist/esm/table/index.d.ts +10 -5
  61. package/dist/esm/table/index.d.ts.map +1 -1
  62. package/dist/esm/table/index.js +23 -8
  63. package/dist/esm/table/index.js.map +1 -1
  64. package/dist/esm/types/metadata.d.ts +16 -0
  65. package/dist/esm/types/metadata.d.ts.map +1 -1
  66. package/package.json +1 -1
  67. package/src/callsite/index.ts +5 -2
  68. package/src/drawing/output.ts +9 -1
  69. package/src/index.ts +6 -3
  70. package/src/script/index.ts +7 -65
  71. package/src/session/calendar.ts +3 -0
  72. package/src/session/context.ts +99 -7
  73. package/src/ta/index.ts +46 -45
  74. package/src/table/index.ts +22 -6
  75. package/src/types/metadata.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/types/metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/types/metadata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oakscriptjs",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "type": "module",
5
5
  "description": "PineScript v6 compatible technical analysis library for JavaScript/TypeScript",
6
6
  "main": "./dist/cjs/index.js",
@@ -140,9 +140,12 @@ class KeptCalls {
140
140
  readonly values: number[] = [];
141
141
  readonly bars: number[] = [];
142
142
 
143
- /** Keeps a non-na value; a later call on the same bar (a loop) replaces the value of that bar. */
143
+ /**
144
+ * Keeps a non-na value (+/-Infinity is skipped like na, #183); a later call on the same bar (a loop) replaces the
145
+ * value of that bar.
146
+ */
144
147
  add(barIndex: number, value: number): void {
145
- if (Number.isNaN(value)) return;
148
+ if (!Number.isFinite(value)) return;
146
149
  const last = this.values.length - 1;
147
150
  if (last >= 0 && this.bars[last] === barIndex) this.values[last] = value;
148
151
  else {
@@ -4,7 +4,8 @@
4
4
  *
5
5
  * Conversion rules:
6
6
  * - x coordinates become bar times: a `bar_index` x is the time of that bar, or of a future bar after the last bar
7
- * (see {@link barTime}); a `bar_time` x (UNIX ms, as PineScript) is converted to the unit of the bar times
7
+ * (see {@link barTime}); a `bar_time` x (UNIX ms, as PineScript) is converted to the unit of the bar times and the
8
+ * object keeps `xloc: 'bar_time'` (a renderer places a time after the last bar on the chart's own calendar)
8
9
  * - an object with an `na` coordinate (or a bar index before the first bar) is not drawn, as in PineScript
9
10
  * - a property the script did not set is omitted (the renderer uses the PineScript default); a colour set to `na`
10
11
  * is 'transparent'
@@ -51,6 +52,9 @@ function compact<T extends object>(obj: T): T {
51
52
 
52
53
  const overlay = (flag: boolean | undefined): true | undefined => (flag ? true : undefined);
53
54
 
55
+ /** xloc of the result: kept only for times given by the script ('bar_time'). */
56
+ const xlocOut = (xloc: string | undefined): 'bar_time' | undefined => (xloc === 'bar_time' ? 'bar_time' : undefined);
57
+
54
58
  /**
55
59
  * Converts the live drawing objects of the registry. `bars` are the chart bars (their `time` in `timeUnit`, 's' by
56
60
  * default as lightweight-charts); they give the time of a bar index.
@@ -71,6 +75,7 @@ export function drawingOutputs(bars: ReadonlyArray<{ time: number }>, timeUnit:
71
75
  price1: l.y1,
72
76
  time2,
73
77
  price2: l.y2,
78
+ xloc: xlocOut(l.xloc),
74
79
  color: colorOut(l.color),
75
80
  width: l.width,
76
81
  style: l.style,
@@ -86,6 +91,7 @@ export function drawingOutputs(bars: ReadonlyArray<{ time: number }>, timeUnit:
86
91
  return compact({
87
92
  time,
88
93
  price: l.y,
94
+ xloc: xlocOut(l.xloc),
89
95
  text: l.text ?? '',
90
96
  color: colorOut(l.color),
91
97
  textColor: colorOut(l.textcolor),
@@ -109,6 +115,7 @@ export function drawingOutputs(bars: ReadonlyArray<{ time: number }>, timeUnit:
109
115
  price1: b.top,
110
116
  time2,
111
117
  price2: b.bottom,
118
+ xloc: xlocOut(b.xloc),
112
119
  bgColor: colorOut(b.bgcolor),
113
120
  borderColor: colorOut(b.border_color),
114
121
  borderWidth: b.border_width,
@@ -136,6 +143,7 @@ export function drawingOutputs(bars: ReadonlyArray<{ time: number }>, timeUnit:
136
143
  if (points.length === 0) return undefined;
137
144
  return compact({
138
145
  points,
146
+ xloc: xlocOut(p.xloc),
139
147
  curved: p.curved,
140
148
  closed: p.closed,
141
149
  lineColor: colorOut(p.line_color),
package/src/index.ts CHANGED
@@ -55,10 +55,12 @@ export {
55
55
  type DrawingVariable,
56
56
  } from './drawing/registry.js';
57
57
 
58
- // The session of a chart context without a script run: time(tf), time_close(tf), time_tradingday, session.* flags,
59
- // request.security periods with the session and holidays, and bars after the last bar on the trading calendar
58
+ // The session of a chart context without a script run: time(tf, session, timezone), time_close(...), time_tradingday,
59
+ // session.* flags, request.security periods with the session and holidays, and bars after the last bar on the trading
60
+ // calendar
60
61
  export {
61
62
  chartSessions,
63
+ sessionPeriods,
62
64
  periodTime,
63
65
  periodClose,
64
66
  tradingDayTime,
@@ -68,6 +70,7 @@ export {
68
70
  barsUntil,
69
71
  type SessionContext,
70
72
  type ChartSessions,
73
+ type SessionPeriods,
71
74
  type SessionResample,
72
75
  } from './session/context.js';
73
76
  export { TradingCalendar, type SessionSpec } from './session/calendar.js';
@@ -215,7 +218,7 @@ export type { LightweightSeriesDefinitions } from './runtime/adapters/Lightweigh
215
218
  export { SimpleInputAdapter } from './runtime/adapters/SimpleInputAdapter.js';
216
219
 
217
220
  // Version
218
- export const VERSION = '0.11.1';
221
+ export const VERSION = '0.11.3';
219
222
 
220
223
  /**
221
224
  * Library information
@@ -122,7 +122,7 @@ import {
122
122
  type StrategyTrade,
123
123
  type StrategyVariable,
124
124
  } from '../strategy/index.js';
125
- import { parsePineSession, sessionRun } from '../time/session.js';
125
+ import { sessionPeriods, type SessionPeriods } from '../session/context.js';
126
126
 
127
127
  /** Everything one run of a script produced. */
128
128
  export interface ScriptRunResult {
@@ -1894,37 +1894,6 @@ function sessionBars(): { bars: SessionBars; regular: SessionBars } {
1894
1894
  return sessionCache;
1895
1895
  }
1896
1896
 
1897
- /**
1898
- * Calendar for `time(tf, session, timezone)` arguments. Without session and time zone: the loaded
1899
- * session. As in PineScript, an explicit time zone reads the symbol session hours in that zone without
1900
- * corrections and holidays, and an explicit session follows PineScript's session string rules.
1901
- */
1902
- function calendarFor(
1903
- session?: string,
1904
- timezone?: string,
1905
- dayPlacement = false
1906
- ): { bars: SessionBars; test: boolean; inside?: (time: number) => boolean } {
1907
- const { bars } = sessionBars();
1908
- if (!session && !timezone) return { bars, test: false };
1909
- const tz = timezone ?? exchangeTimezone();
1910
- // a session string that is empty or does not start with a digit is the symbol session: "regular" the regular
1911
- // hours, "extended" and any other name the loaded hours (PineScript)
1912
- if (session !== undefined && parsePineSession(session) === null) {
1913
- const name = session.trim();
1914
- const symbol = name === 'regular' && chartCtx.regularSession ? chartCtx.regularSession : chartCtx.session!;
1915
- return { bars: new SessionBars(new TradingCalendar(tz, { session: toSpec(symbol).session }, 'symbol'), bars.chart.period), test: true };
1916
- }
1917
- const spec = session ? { session } : { session: toSpec(chartCtx.session!).session };
1918
- return {
1919
- bars: new SessionBars(new TradingCalendar(tz, spec, session ? 'pine' : 'symbol', dayPlacement), bars.chart.period),
1920
- test: true,
1921
- // a PineScript session string: the rules of time.inSession (runs ending at 0000, days around a clock change)
1922
- inside: session
1923
- ? (time) => timeCore.inSession(time, session, tz, timeframeCore.in_seconds(bars.chart.period) * 1000)
1924
- : undefined,
1925
- };
1926
- }
1927
-
1928
1897
  function perBar(fn: (t: number, i: number, times: number[]) => number): Series {
1929
1898
  const times = ctxBars.bars.map(barTime);
1930
1899
  return Series.fromArray(ctxBars, times.map((t, i) => fn(t, i, times)));
@@ -1937,48 +1906,21 @@ function callableSeries<F extends (...args: never[]) => Series>(series: Series,
1937
1906
  return fn as Series & F;
1938
1907
  }
1939
1908
 
1940
- /**
1941
- * `time(tf, session)` / `time_close(tf, session)` of a bar, as PineScript computes them (#173): an intraday timeframe
1942
- * tests the bar with the session rules of time.inSession and aligns its periods on the start of the run that
1943
- * contains the bar; "D" tests the bar against the day's session period (the calendar); a timeframe of more than one
1944
- * day ("2D", "W", "M") has no test and keeps the period's time.
1945
- */
1946
- function sessionPeriods(timeframeString: string, session?: string, timezone?: string): { open: (t: number) => number; close: (t: number) => number } {
1947
- const tf = timeframeCore.info(timeframeString);
1948
- const { bars, test, inside } = calendarFor(session, timezone, !tf.isintraday);
1949
- const open = (t: number): number => bars.timeOf(t, timeframeString);
1950
- const close = (t: number): number => bars.closeOf(t, timeframeString);
1951
- if (!test) return { open, close };
1952
- if (tf.isintraday) {
1953
- if (session !== undefined && parsePineSession(session) !== null && !bars.chart.isdwm) {
1954
- const tz = timezone ?? exchangeTimezone();
1955
- const barMs = timeframeCore.in_seconds(bars.chart.period) * 1000;
1956
- const ms = timeframeCore.in_seconds(tf.period) * 1000;
1957
- const run = (t: number) => sessionRun(t, session, tz, barMs);
1958
- const start = (t: number, r: [number, number]) => r[0] + Math.floor((t - r[0]) / ms) * ms;
1959
- return {
1960
- open: (t) => { const r = run(t); return r ? start(t, r) : NaN; },
1961
- close: (t) => { const r = run(t); return r ? Math.min(start(t, r) + ms, r[1]) : NaN; },
1962
- };
1963
- }
1964
- const isIn = (t: number) => (inside ? inside(t) : bars.inside(t));
1965
- return { open: (t) => (isIn(t) ? open(t) : NaN), close: (t) => (isIn(t) ? close(t) : NaN) };
1966
- }
1967
- if (tf.isdaily && tf.multiplier === 1) {
1968
- return { open: (t) => (bars.inside(t) ? open(t) : NaN), close: (t) => (bars.inside(t) ? close(t) : NaN) };
1969
- }
1970
- return { open, close };
1909
+ /** `time(tf, session, timezone)` / `time_close(...)` periods of the run's chart (see session/context `sessionPeriods`). */
1910
+ function chartSessionPeriods(timeframeString: string, session?: string, timezone?: string): SessionPeriods {
1911
+ const { bars } = sessionBars();
1912
+ return sessionPeriods(bars, { ...chartCtx, timezone: exchangeTimezone() }, timeframeString, session, timezone);
1971
1913
  }
1972
1914
 
1973
1915
  function timeFunction(tf?: string, session?: string, timezone?: string): Series {
1974
1916
  collector();
1975
- const { open } = sessionPeriods(tf || chartTimeframe().period, session, timezone);
1917
+ const { open } = chartSessionPeriods(tf || chartTimeframe().period, session, timezone);
1976
1918
  return perBar((t) => open(t));
1977
1919
  }
1978
1920
 
1979
1921
  function timeCloseFunction(tf?: string, session?: string, timezone?: string): Series {
1980
1922
  collector();
1981
- const { close } = sessionPeriods(tf || chartTimeframe().period, session, timezone);
1923
+ const { close } = chartSessionPeriods(tf || chartTimeframe().period, session, timezone);
1982
1924
  return perBar((t) => close(t));
1983
1925
  }
1984
1926
 
@@ -197,6 +197,9 @@ export class TradingCalendar {
197
197
  ? [at(d - p.startOffset, p.start, true), at(d - p.endOffset, p.end - 1, true) + 60_000]
198
198
  : [at(d - p.startOffset, p.start), at(d - p.endOffset, p.end)]
199
199
  );
200
+ // for "D", the runs of a PineScript session string on one day are one period, from the earliest start to the
201
+ // latest end: the time between two runs is inside the day (#182)
202
+ if (this.pine && out.length > 1) out = [[Math.min(...out.map((p) => p[0])), Math.max(...out.map((p) => p[1]))]];
200
203
  this.cache.set(date, out);
201
204
  return out;
202
205
  }
@@ -11,6 +11,7 @@
11
11
  import type { Bar } from '../types/index.js';
12
12
  import { info, in_seconds } from '../timeframe/index.js';
13
13
  import { afterCompletion, periodsOf, resample } from '../security/resample.js';
14
+ import { parsePineSession, sessionRun } from '../time/session.js';
14
15
  import { SessionBars, sessionFlags, strayPeriods, type SessionFlags } from './bars.js';
15
16
  import { TradingCalendar, type SessionSpec } from './calendar.js';
16
17
 
@@ -61,16 +62,107 @@ export function chartSessions(chart: SessionContext): ChartSessions {
61
62
  return out;
62
63
  }
63
64
 
64
- /** PineScript `time(timeframe)` (ms) of a bar that opens at `time`: the start of its period; NaN without one. */
65
- export function periodTime(time: number, timeframe: string, chart: SessionContext): number {
66
- const s = chartSessions(chart);
67
- return s.bars.timeOf(time * s.unit, timeframe);
65
+ /** Open and close (ms) of the period that contains a bar opening at a time in ms; NaN outside the session. */
66
+ export interface SessionPeriods {
67
+ open: (time: number) => number;
68
+ close: (time: number) => number;
69
+ }
70
+
71
+ /**
72
+ * Calendar for the `session` / `timezone` arguments of `time(tf, session, timezone)`. Without both: the loaded
73
+ * session. As in PineScript, an explicit time zone reads the symbol session hours in that zone without corrections
74
+ * and holidays, and an explicit session follows PineScript's session string rules.
75
+ */
76
+ function calendarFor(
77
+ bars: SessionBars,
78
+ chart: SessionContext,
79
+ session: string | undefined,
80
+ timezone: string | undefined,
81
+ dayPlacement: boolean
82
+ ): { bars: SessionBars; test: boolean; inside?: (time: number) => boolean } {
83
+ if (!session && !timezone) return { bars, test: false };
84
+ const tz = timezone ?? chart.timezone!;
85
+ // a session string that is empty or does not start with a digit is the symbol session: "regular" the regular
86
+ // hours, "extended" and any other name the loaded hours (PineScript)
87
+ if (session !== undefined && parsePineSession(session) === null) {
88
+ const name = session.trim();
89
+ const symbol = name === 'regular' && chart.regularSession ? chart.regularSession : chart.session!;
90
+ return { bars: new SessionBars(new TradingCalendar(tz, { session: toSpec(symbol).session }, 'symbol'), bars.chart.period), test: true };
91
+ }
92
+ const spec = session ? { session } : { session: toSpec(chart.session!).session };
93
+ return {
94
+ bars: new SessionBars(new TradingCalendar(tz, spec, session ? 'pine' : 'symbol', dayPlacement), bars.chart.period),
95
+ test: true,
96
+ // a PineScript session string: the rules of time.inSession (runs ending at 0000, days around a clock change)
97
+ inside: session ? (time) => sessionRun(time, session, tz, in_seconds(bars.chart.period) * 1000) !== null : undefined,
98
+ };
99
+ }
100
+
101
+ /**
102
+ * `time(tf, session, timezone)` / `time_close(tf, session, timezone)` of a bar, as PineScript computes them (#173):
103
+ * an intraday timeframe tests the bar with the session rules of time.inSession and aligns its periods on the start
104
+ * of the run that contains the bar; "D" tests the bar against the day's session period (the calendar; the time
105
+ * between two runs of a day is inside it, #182); a timeframe of more than one day ("2D", "W", "M") has no test and
106
+ * keeps the period's time. `bars` is the calendar of the loaded session (`chartSessions(chart).bars`).
107
+ */
108
+ export function sessionPeriods(
109
+ bars: SessionBars,
110
+ chart: SessionContext,
111
+ timeframe: string,
112
+ session?: string,
113
+ timezone?: string
114
+ ): SessionPeriods {
115
+ const tf = info(timeframe);
116
+ const { bars: calendar, test, inside } = calendarFor(bars, chart, session, timezone, !tf.isintraday);
117
+ const open = (t: number): number => calendar.timeOf(t, timeframe);
118
+ const close = (t: number): number => calendar.closeOf(t, timeframe);
119
+ if (!test) return { open, close };
120
+ if (tf.isintraday) {
121
+ if (session !== undefined && parsePineSession(session) !== null && !calendar.chart.isdwm) {
122
+ const tz = timezone ?? chart.timezone!;
123
+ const barMs = in_seconds(calendar.chart.period) * 1000;
124
+ const ms = in_seconds(tf.period) * 1000;
125
+ const run = (t: number) => sessionRun(t, session, tz, barMs);
126
+ const start = (t: number, r: [number, number]) => r[0] + Math.floor((t - r[0]) / ms) * ms;
127
+ return {
128
+ open: (t) => { const r = run(t); return r ? start(t, r) : NaN; },
129
+ close: (t) => { const r = run(t); return r ? Math.min(start(t, r) + ms, r[1]) : NaN; },
130
+ };
131
+ }
132
+ const isIn = (t: number) => (inside ? inside(t) : calendar.inside(t));
133
+ return { open: (t) => (isIn(t) ? open(t) : NaN), close: (t) => (isIn(t) ? close(t) : NaN) };
134
+ }
135
+ if (tf.isdaily && tf.multiplier === 1) {
136
+ return { open: (t) => (calendar.inside(t) ? open(t) : NaN), close: (t) => (calendar.inside(t) ? close(t) : NaN) };
137
+ }
138
+ return { open, close };
68
139
  }
69
140
 
70
- /** PineScript `time_close(timeframe)` (ms) of a bar that opens at `time`. */
71
- export function periodClose(time: number, timeframe: string, chart: SessionContext): number {
141
+ const periodCache = new WeakMap<object, Map<string, SessionPeriods>>();
142
+
143
+ function periodsOfChart(chart: SessionContext, timeframe: string, session?: string, timezone?: string): { s: ChartSessions; p: SessionPeriods } {
72
144
  const s = chartSessions(chart);
73
- return s.bars.closeOf(time * s.unit, timeframe);
145
+ let byKey = periodCache.get(chart);
146
+ if (!byKey) periodCache.set(chart, (byKey = new Map()));
147
+ const key = `${timeframe}|${session ?? ''}|${timezone ?? ''}`;
148
+ let p = byKey.get(key);
149
+ if (!p) byKey.set(key, (p = sessionPeriods(s.bars, chart, timeframe, session, timezone)));
150
+ return { s, p };
151
+ }
152
+
153
+ /**
154
+ * PineScript `time(timeframe, session, timezone)` (ms) of a bar that opens at `time`: the start of its period; NaN
155
+ * without one or outside `session` (#182). Without `session` and `timezone`, the periods of the loaded session.
156
+ */
157
+ export function periodTime(time: number, timeframe: string, chart: SessionContext, session?: string, timezone?: string): number {
158
+ const { s, p } = periodsOfChart(chart, timeframe, session, timezone);
159
+ return p.open(time * s.unit);
160
+ }
161
+
162
+ /** PineScript `time_close(timeframe, session, timezone)` (ms) of a bar that opens at `time` (#182). */
163
+ export function periodClose(time: number, timeframe: string, chart: SessionContext, session?: string, timezone?: string): number {
164
+ const { s, p } = periodsOfChart(chart, timeframe, session, timezone);
165
+ return p.close(time * s.unit);
74
166
  }
75
167
 
76
168
  /** PineScript `time_tradingday` (ms, 00:00 UTC of the trading day) of a bar that opens at `time`. */