@tradecanvas/commons 1.4.0 → 1.7.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.
Files changed (61) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +67 -67
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.js +617 -122
  6. package/dist/index.js.map +1 -1
  7. package/dist/types/a11y.d.ts +18 -0
  8. package/dist/types/a11y.d.ts.map +1 -0
  9. package/dist/types/chart.d.ts +103 -2
  10. package/dist/types/chart.d.ts.map +1 -1
  11. package/dist/types/drawing.d.ts +85 -1
  12. package/dist/types/drawing.d.ts.map +1 -1
  13. package/dist/types/events.d.ts +139 -1
  14. package/dist/types/events.d.ts.map +1 -1
  15. package/dist/types/execution.d.ts +20 -1
  16. package/dist/types/execution.d.ts.map +1 -1
  17. package/dist/types/index.d.ts +4 -0
  18. package/dist/types/index.d.ts.map +1 -1
  19. package/dist/types/indicator.d.ts +81 -0
  20. package/dist/types/indicator.d.ts.map +1 -1
  21. package/dist/types/layout.d.ts +8 -0
  22. package/dist/types/layout.d.ts.map +1 -1
  23. package/dist/types/news.d.ts +18 -0
  24. package/dist/types/news.d.ts.map +1 -0
  25. package/dist/types/ohlc.d.ts +11 -1
  26. package/dist/types/ohlc.d.ts.map +1 -1
  27. package/dist/types/quote.d.ts +40 -0
  28. package/dist/types/quote.d.ts.map +1 -0
  29. package/dist/types/realtime.d.ts +50 -0
  30. package/dist/types/realtime.d.ts.map +1 -1
  31. package/dist/types/rendering.d.ts +11 -0
  32. package/dist/types/rendering.d.ts.map +1 -1
  33. package/dist/types/symbol.d.ts +42 -0
  34. package/dist/types/symbol.d.ts.map +1 -0
  35. package/dist/types/theme.d.ts +6 -0
  36. package/dist/types/theme.d.ts.map +1 -1
  37. package/dist/types/trading.d.ts +33 -2
  38. package/dist/types/trading.d.ts.map +1 -1
  39. package/dist/utils/chartTypeOptions.d.ts +9 -0
  40. package/dist/utils/chartTypeOptions.d.ts.map +1 -0
  41. package/dist/utils/drawingOptions.d.ts +8 -0
  42. package/dist/utils/drawingOptions.d.ts.map +1 -0
  43. package/dist/utils/drawingStyle.d.ts +9 -0
  44. package/dist/utils/drawingStyle.d.ts.map +1 -0
  45. package/dist/utils/index.d.ts +8 -0
  46. package/dist/utils/index.d.ts.map +1 -1
  47. package/dist/utils/marketStatus.d.ts +16 -0
  48. package/dist/utils/marketStatus.d.ts.map +1 -0
  49. package/dist/utils/precision.d.ts +18 -0
  50. package/dist/utils/precision.d.ts.map +1 -1
  51. package/dist/utils/priceSource.d.ts +15 -0
  52. package/dist/utils/priceSource.d.ts.map +1 -0
  53. package/dist/utils/resample.d.ts +13 -0
  54. package/dist/utils/resample.d.ts.map +1 -0
  55. package/dist/utils/symbols.d.ts +13 -0
  56. package/dist/utils/symbols.d.ts.map +1 -0
  57. package/dist/utils/time.d.ts +17 -6
  58. package/dist/utils/time.d.ts.map +1 -1
  59. package/dist/utils/timezone.d.ts +28 -0
  60. package/dist/utils/timezone.d.ts.map +1 -0
  61. package/package.json +1 -1
@@ -1,7 +1,36 @@
1
1
  import { Theme, ThemeName } from './theme.js';
2
2
  import { DrawingToolType } from './drawing.js';
3
3
  import { TimeFrame } from './ohlc.js';
4
- export type ChartType = 'candlestick' | 'line' | 'area' | 'bar' | 'heikinAshi' | 'hollowCandle' | 'baseline' | 'renko' | 'lineBreak' | 'kagi' | 'pointAndFigure' | 'rangeBars' | 'volumeCandles' | 'hlcArea' | 'stepLine' | 'lineWithMarkers' | 'equivolume';
4
+ export type ChartType = 'candlestick' | 'line' | 'area' | 'bar' | 'heikinAshi' | 'hollowCandle' | 'baseline' | 'renko' | 'lineBreak' | 'kagi' | 'pointAndFigure' | 'rangeBars' | 'volumeCandles' | 'hlcArea' | 'stepLine' | 'lineWithMarkers' | 'equivolume' | 'hiLo';
5
+ /**
6
+ * Settings of the chart types that build bars of their own. What isn't set
7
+ * is worked out from the data.
8
+ */
9
+ export interface ChartTypeOptions {
10
+ /** Box size in price, or 'atr' (default): the average true range of the last `atrPeriod` bars (14). */
11
+ renko?: {
12
+ boxSize?: number | 'atr';
13
+ atrPeriod?: number;
14
+ };
15
+ /** How many lines a reversal has to break (3). */
16
+ lineBreak?: {
17
+ lines?: number;
18
+ };
19
+ /** The reversal: percent of the line's start (4), or an amount of price with `reversalType` 'price'. */
20
+ kagi?: {
21
+ reversal?: number;
22
+ reversalType?: 'percent' | 'price';
23
+ };
24
+ /** Box size in price ('auto': 1% of the average close) and boxes to reverse (3). */
25
+ pointAndFigure?: {
26
+ boxSize?: number | 'auto';
27
+ reversal?: number;
28
+ };
29
+ /** Each bar's range in price ('auto': 0.5% of the average close). */
30
+ rangeBars?: {
31
+ range?: number | 'auto';
32
+ };
33
+ }
5
34
  export type LineStyle = 'solid' | 'dashed' | 'dotted';
6
35
  /**
7
36
  * Controls which features are available to the end user.
@@ -21,6 +50,11 @@ export interface FeaturesConfig {
21
50
  trading?: boolean;
22
51
  /** Right-click menu for placing orders. Default `false` — opt in explicitly. */
23
52
  tradingContextMenu?: boolean;
53
+ /**
54
+ * A "+" by the price axis, level with the crosshair; a click on it emits
55
+ * `priceAxisAdd` with the price. Default `false` (ChartWidget turns it on).
56
+ */
57
+ priceAxisAddButton?: boolean;
24
58
  /** Enable indicator overlays and panels */
25
59
  indicators?: boolean;
26
60
  /** Whitelist of allowed indicator IDs. When set, only these are available. */
@@ -48,6 +82,8 @@ export interface FeaturesConfig {
48
82
  grid?: boolean;
49
83
  /** Show OHLCV legend overlay */
50
84
  legend?: boolean;
85
+ /** Tag each indicator line's latest value on its value axis. Default true. */
86
+ indicatorValueLabels?: boolean;
51
87
  /** Show volume bars below candles */
52
88
  volume?: boolean;
53
89
  /** Show watermark text */
@@ -81,7 +117,8 @@ export interface FeaturesConfig {
81
117
  export interface ChartOptions {
82
118
  width?: number;
83
119
  height?: number;
84
- chartType: ChartType;
120
+ /** Default `'candlestick'`. */
121
+ chartType?: ChartType;
85
122
  theme?: ThemeName | Theme;
86
123
  autoScale?: boolean;
87
124
  rightMargin?: number;
@@ -107,11 +144,75 @@ export interface ChartOptions {
107
144
  * resting position).
108
145
  */
109
146
  freePan?: boolean;
147
+ /**
148
+ * Timezone for the time axis, crosshair, tooltip, day breaks and range
149
+ * presets: an IANA zone (`'America/New_York'`, daylight saving included), a
150
+ * fixed offset in minutes east of UTC, or null (default) for the browser's.
151
+ */
152
+ timeZone?: string | number | null;
153
+ /**
154
+ * Show a price scale on the left too. It carries the overlays put on it
155
+ * (`addIndicator(…, { scale: 'left' })`), else it mirrors the price scale.
156
+ * It shows by itself once an overlay is on it.
157
+ */
158
+ leftPriceScale?: boolean;
110
159
  /** Bounds for free panning. */
111
160
  panLimits?: {
112
161
  minVisibleBars?: number;
113
162
  };
163
+ /**
164
+ * How prices read on the price scale and everything that prints one (axis,
165
+ * crosshair, last-price tag, legend, tooltip, orders, alerts, drawings): a
166
+ * function of yours, or fractions of a point (a bond in 32nds: `101'16`).
167
+ * Indicator panes keep their own numbers. Default: decimals.
168
+ */
169
+ priceFormat?: PriceFormatter | PriceFraction;
170
+ /** How times read on the time axis, the crosshair and the tooltip. Default: the chart's own. */
171
+ timeFormatter?: TimeFormatter;
172
+ /** Settings of Renko, Line Break, Kagi, Point & Figure and range bars. */
173
+ chartTypeOptions?: ChartTypeOptions;
174
+ /** Mark the highest high and lowest low on screen with a line and a price tag. */
175
+ highLowLines?: boolean;
176
+ /** The shapes the chart draws: price tags, axis pills and order badges square (default), rounded or pills. */
177
+ shapes?: import('./theme.js').ShapeConfig;
178
+ /**
179
+ * The chart for screen readers: a summary, what is on screen after the keys
180
+ * move it, comma and period to read the bars. On by default; labels in your
181
+ * language here; `false` leaves it out.
182
+ */
183
+ a11y?: false | {
184
+ labels?: Partial<import('./a11y.js').ChartA11yLabels>;
185
+ };
186
+ /**
187
+ * Show the bars outside the symbol's regular hours (`SymbolInfo.sessions`):
188
+ * pre- and post-market. Default true; bars a day or longer are never left out.
189
+ */
190
+ extendedHours?: boolean;
191
+ }
192
+ /** A price in your words, e.g. `(p) => '$' + p.toFixed(2)`. */
193
+ export type PriceFormatter = (price: number) => string;
194
+ /**
195
+ * Prices in fractions of a point: `denominator` 32 prints 101.5 as `101'16`.
196
+ * `subDenominator` 2 or 4 splits each fraction in halves or quarters, printed
197
+ * as a last digit the way futures quote them (`101'165` is 101 and 16½ 32nds).
198
+ */
199
+ export interface PriceFraction {
200
+ denominator: number;
201
+ subDenominator?: number;
202
+ }
203
+ /** Where a time is printed, for a `TimeFormatter`. */
204
+ export interface TimeFormatContext {
205
+ /**
206
+ * `'date'`: an axis label of a bar a day or longer; `'day'`: an axis label
207
+ * where a new day starts; `'time'`: an axis label within a day;
208
+ * `'crosshair'`: the crosshair's label and the tooltip.
209
+ */
210
+ kind: 'date' | 'day' | 'time' | 'crosshair';
211
+ /** The chart's time zone: an IANA name, minutes east of UTC, or null for the browser's. */
212
+ timeZone: string | number | null;
114
213
  }
214
+ /** A time (ms since the epoch) in your words. */
215
+ export type TimeFormatter = (time: number, context: TimeFormatContext) => string;
115
216
  export interface SessionBreakOptions {
116
217
  visible?: boolean;
117
218
  color?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/types/chart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/types/chart.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Point, ViewportState } from './rendering.js';
2
- export type DrawingToolType = 'trendLine' | 'horizontalLine' | 'horizontalRay' | 'verticalLine' | 'ray' | 'extendedLine' | 'crossLine' | 'trendAngle' | 'infoLine' | 'parallelChannel' | 'regressionChannel' | 'fibRetracement' | 'fibExtension' | 'fibTimeZones' | 'fibChannel' | 'fibSpeedResistanceFan' | 'rectangle' | 'ellipse' | 'triangle' | 'circle' | 'pitchfork' | 'schiffPitchfork' | 'modifiedSchiffPitchfork' | 'elliottWave' | 'xabcdPattern' | 'abcdPattern' | 'headAndShoulders' | 'priceRange' | 'dateRange' | 'dateAndPriceRange' | 'measure' | 'text' | 'arrow' | 'priceLabel' | 'gannFan' | 'gannBox' | 'cyclicLines' | 'anchoredVWAP' | 'volumeProfileRange' | 'riskReward';
2
+ import { OHLCBar } from './ohlc.js';
3
+ export type DrawingToolType = 'trendLine' | 'horizontalLine' | 'horizontalRay' | 'verticalLine' | 'ray' | 'extendedLine' | 'crossLine' | 'trendAngle' | 'infoLine' | 'parallelChannel' | 'regressionChannel' | 'fibRetracement' | 'fibExtension' | 'fibTimeZones' | 'fibChannel' | 'fibSpeedResistanceFan' | 'rectangle' | 'ellipse' | 'triangle' | 'circle' | 'pitchfork' | 'schiffPitchfork' | 'modifiedSchiffPitchfork' | 'elliottWave' | 'xabcdPattern' | 'abcdPattern' | 'headAndShoulders' | 'priceRange' | 'dateRange' | 'dateAndPriceRange' | 'measure' | 'text' | 'arrow' | 'priceLabel' | 'gannFan' | 'gannBox' | 'cyclicLines' | 'anchoredVWAP' | 'volumeProfileRange' | 'riskReward' | 'note' | 'callout' | 'flag' | 'arrowMark' | 'icon' | 'brush' | 'highlighter' | 'path' | 'polyline' | 'curve' | 'arc' | 'fibCircles' | 'fibSpiral' | 'fibArcs' | 'fibWedge' | 'pitchfan' | 'gannSquare' | 'elliottImpulse' | 'elliottCorrection' | 'elliottTriangle' | 'elliottDoubleCombo' | 'elliottTripleCombo' | 'threeDrives' | 'cypherPattern' | 'timeCycles' | 'sineLine' | 'forecast' | 'projection' | 'barsPattern';
3
4
  export interface AnchorPoint {
4
5
  time: number;
5
6
  price: number;
@@ -20,19 +21,102 @@ export interface DrawingState {
20
21
  style: DrawingStyle;
21
22
  visible: boolean;
22
23
  locked: boolean;
24
+ /** The tool's own settings (levels, extend left/right…); see `DrawingDescriptor.options`. */
25
+ options?: DrawingOptions;
26
+ /** The group it belongs to: drawings selected, hidden and locked together. */
27
+ group?: {
28
+ id: string;
29
+ name: string;
30
+ };
23
31
  meta?: Record<string, unknown>;
24
32
  }
33
+ /** One level of a Fibonacci or Gann tool: a ratio, shown or not, in its own colour. */
34
+ export interface DrawingLevel {
35
+ value: number;
36
+ visible: boolean;
37
+ /** CSS colour; the drawing's colour when left out. */
38
+ color?: string;
39
+ }
40
+ export type DrawingOptionValue = boolean | number | string | DrawingLevel[];
41
+ /** A drawing's settings beyond the shared style, by key. Missing keys take the tool's defaults. */
42
+ export type DrawingOptions = Record<string, DrawingOptionValue>;
43
+ /** A setting a drawing tool offers beyond the shared style, with its default. */
44
+ export type DrawingOptionDef = {
45
+ kind: 'boolean';
46
+ label: string;
47
+ default: boolean;
48
+ } | {
49
+ kind: 'number';
50
+ label: string;
51
+ default: number;
52
+ min?: number;
53
+ max?: number;
54
+ step?: number;
55
+ } | {
56
+ kind: 'choice';
57
+ label: string;
58
+ default: string;
59
+ choices: readonly {
60
+ value: string;
61
+ label: string;
62
+ }[];
63
+ } | {
64
+ kind: 'levels';
65
+ label: string;
66
+ default: readonly DrawingLevel[];
67
+ } | {
68
+ kind: 'text';
69
+ label: string;
70
+ default: string;
71
+ };
72
+ export type DrawingOptionDefs = Readonly<Record<string, DrawingOptionDef>>;
25
73
  export interface DrawingDescriptor {
26
74
  type: DrawingToolType;
27
75
  name: string;
28
76
  requiredAnchors: number;
29
77
  singleClick?: boolean;
78
+ /** Settings the tool offers beyond the shared style; a settings dialog is built from them. */
79
+ options?: DrawingOptionDefs;
80
+ /** It fills an area with `style.fillColor` (a settings dialog offers the fill). */
81
+ fill?: boolean;
82
+ /** It draws `style.text` (a settings dialog offers the text and its size). */
83
+ text?: boolean;
84
+ /**
85
+ * How it is drawn with the pointer. 'clicks' (the default): a click per
86
+ * anchor up to `requiredAnchors`. 'freehand': press and drag, a point every
87
+ * few pixels, release to finish. 'path': a click per point, at least
88
+ * `requiredAnchors` and at most `maxAnchors`; a double-click, Enter or a
89
+ * click on the last point finishes it.
90
+ */
91
+ creation?: 'clicks' | 'freehand' | 'path';
92
+ /** Most points a 'path' takes (100 when left out). */
93
+ maxAnchors?: number;
30
94
  }
31
95
  export interface DrawingPlugin {
32
96
  descriptor: DrawingDescriptor;
33
97
  render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
34
98
  hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
35
99
  hitTestAnchor(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): number;
100
+ /**
101
+ * The drawing after handle `index` (from `hitTestAnchor`) is dragged to
102
+ * `anchor`. Without it, the handle is anchor `index` and moves there. A
103
+ * tool with handles that are not anchors (a position's target, say)
104
+ * changes its options instead.
105
+ */
106
+ moveHandle?(state: DrawingState, index: number, anchor: AnchorPoint): DrawingState;
107
+ /**
108
+ * The prices of the drawing's lines at `time` (what an alert on it
109
+ * crosses), or null where it doesn't reach. Tools without it take no alerts.
110
+ * With `viewport` the lines follow the chart as drawn: straight across bars
111
+ * (not clock time, so a weekend gap doesn't bend them) and on a log scale
112
+ * straight in log price.
113
+ */
114
+ priceAt?(state: DrawingState, time: number, viewport?: ViewportState): number[] | null;
115
+ /**
116
+ * For a tool drawn from the chart's bars (an anchored VWAP, a volume
117
+ * profile): the chart hands it a getter for them when it is registered.
118
+ */
119
+ setDataGetter?(getter: () => readonly OHLCBar[]): void;
36
120
  }
37
121
  export declare const DEFAULT_DRAWING_STYLE: DrawingStyle;
38
122
  //# sourceMappingURL=drawing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../../src/types/drawing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,MAAM,eAAe,GACvB,WAAW,GAAG,gBAAgB,GAAG,eAAe,GAAG,cAAc,GAAG,KAAK,GAAG,cAAc,GAC1F,WAAW,GAAG,YAAY,GAAG,UAAU,GACvC,iBAAiB,GAAG,mBAAmB,GACvC,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,uBAAuB,GAC3F,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAC/C,WAAW,GAAG,iBAAiB,GAAG,yBAAyB,GAAG,aAAa,GAC3E,cAAc,GAAG,aAAa,GAAG,kBAAkB,GACnD,YAAY,GAAG,WAAW,GAAG,mBAAmB,GAAG,SAAS,GAC5D,MAAM,GAAG,OAAO,GAAG,YAAY,GAC/B,SAAS,GAAG,SAAS,GAAG,aAAa,GACrC,cAAc,GACd,oBAAoB,GACpB,YAAY,CAAC;AAEjB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAAC;IACR,OAAO,CACL,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IACX,aAAa,CACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC;CACX;AAED,eAAO,MAAM,qBAAqB,EAAE,YAOnC,CAAC"}
1
+ {"version":3,"file":"drawing.d.ts","sourceRoot":"","sources":["../../src/types/drawing.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,35 @@ import { OHLCBar, DataSeries } from './ohlc.js';
2
2
  import { Point } from './rendering.js';
3
3
  import { IndicatorValue } from './indicator.js';
4
4
  import { DrawingToolType } from './drawing.js';
5
- export type ChartEventType = 'crosshairMove' | 'crosshairLeave' | 'click' | 'barClick' | 'visibleRangeChange' | 'priceRangeChange' | 'zoomChange' | 'dataUpdate' | 'indicatorAdd' | 'indicatorRemove' | 'paneResize' | 'indicatorUpdate' | 'themeChange' | 'resize' | 'orderPlace' | 'orderModify' | 'orderCancel' | 'positionClose' | 'positionModify' | 'executionError' | 'bracketPlace' | 'drawingCreate' | 'drawingRemove' | 'drawingToolChange' | 'signalMarkerAdd' | 'signalMarkerRemove' | 'tradeZoneAdd' | 'tradeZoneRemove' | 'alertAdd' | 'alertRemove' | 'alertTriggered' | 'alertUpdate';
5
+ import { SymbolInfo } from './symbol.js';
6
+ export type ChartEventType = 'crosshairMove' | 'crosshairLeave' | 'click' | 'barClick' | 'visibleRangeChange' | 'priceRangeChange' | 'zoomChange' | 'dataUpdate' | 'historyLoad' | 'symbolInfoChange' | 'indicatorAdd' | 'indicatorRemove' | 'paneResize'
7
+ /** A pane was folded or opened, maximised or put back, or moved up or down. */
8
+ | 'paneChange' | 'indicatorUpdate' | 'indicatorChange' | 'themeChange' | 'resize' | 'orderPlace' | 'orderModify' | 'orderCancel' | 'positionClose' | 'positionReverse' | 'positionModify' | 'executionFill' | 'ordersChange' | 'positionsChange' | 'executionError' | 'bracketPlace' | 'drawingCreate' | 'drawingUpdate' | 'drawingDoubleClick' | 'drawingContextMenu' | 'toolModeChange' | 'chartContextMenu' | 'priceAxisAdd' | 'drawingRemove' | 'drawingToolChange' | 'signalMarkerAdd' | 'signalMarkerRemove'
9
+ /** The pointer went onto a signal marker, or off it (`marker: null`). */
10
+ | 'signalMarkerHover'
11
+ /** A signal marker was clicked. */
12
+ | 'signalMarkerClick' | 'tradeZoneAdd' | 'tradeZoneRemove' | 'alertAdd' | 'alertRemove' | 'alertTriggered'
13
+ /** An alert reached its `expiresAt` without firing. */
14
+ | 'alertExpired' | 'symbolSeriesRequest'
15
+ /** A replay step: the bar forming, when it opened, and up to when the replay has shown. */
16
+ | 'replayStep'
17
+ /** A replay started playing, paused or ended. */
18
+ | 'replayState' | 'alertUpdate'
19
+ /**
20
+ * Something a saved layout holds may have changed: drawings, indicators,
21
+ * alerts, the chart type or the theme. Fires often; debounce it.
22
+ */
23
+ | 'stateChange'
24
+ /** The chart type changed (`setChartType`). */
25
+ | 'chartTypeChange'
26
+ /** The stream moved to another symbol (`connect`, `switchStream`). */
27
+ | 'symbolChange'
28
+ /** The stream moved to another timeframe (`connect`, `setTimeframe`, `switchStream`). */
29
+ | 'timeframeChange'
30
+ /** The undo history changed: whether there is something to undo or redo. */
31
+ | 'historyChange'
32
+ /** The drawings selected changed. */
33
+ | 'drawingSelect';
6
34
  export interface ChartEvent<T = unknown> {
7
35
  type: ChartEventType;
8
36
  timestamp: number;
@@ -107,6 +135,28 @@ export interface DrawingCreatePayload {
107
135
  export interface DrawingRemovePayload {
108
136
  id: string;
109
137
  }
138
+ /** Where a right-click landed: the price pane, another pane, or an axis. */
139
+ export type ChartContextArea = 'plot' | 'pane' | 'priceAxis' | 'timeAxis';
140
+ /**
141
+ * Payload for `chartContextMenu`: a right-click off any drawing, where it was
142
+ * (`x`, `y` in the chart's pixels), and the price and bar time there when the
143
+ * area has them (the price pane: both; the price axis: price; the time axis: time).
144
+ */
145
+ export interface ChartContextMenuPayload {
146
+ area: ChartContextArea;
147
+ x: number;
148
+ y: number;
149
+ price?: number;
150
+ time?: number;
151
+ /** For a pane: the indicator whose pane it is. */
152
+ pane?: string;
153
+ }
154
+ /** Payload for `priceAxisAdd`: the "+" by the price axis was clicked at `price`. */
155
+ export interface PriceAxisAddPayload {
156
+ price: number;
157
+ x: number;
158
+ y: number;
159
+ }
110
160
  export interface SignalMarkerAddPayload {
111
161
  id: string;
112
162
  source: string;
@@ -124,10 +174,36 @@ export interface TradeZoneRemovePayload {
124
174
  }
125
175
  export interface AlertPayload {
126
176
  id: string;
177
+ /** The level; for an alert on another line, that line's latest value; NaN for a move. */
127
178
  price: number;
128
179
  condition: string;
129
180
  message?: string;
130
181
  triggered: boolean;
182
+ /** What it watches: `'price'` or `<instanceId>:<key>`. */
183
+ channel?: string;
184
+ label?: string;
185
+ /** The line it compares with. */
186
+ target?: string;
187
+ /** The drawing it watches. */
188
+ drawingId?: string;
189
+ /** A move: the percent, within how many bars. */
190
+ percent?: number;
191
+ bars?: number;
192
+ }
193
+ /**
194
+ * Payload for `historyLoad`: paging older bars in. `loading` when a request
195
+ * starts, then `loaded` (`count` bars added), `end` (no older bars) or
196
+ * `error`.
197
+ */
198
+ export interface HistoryLoadPayload {
199
+ state: 'loading' | 'loaded' | 'end' | 'error';
200
+ count: number;
201
+ error?: string;
202
+ }
203
+ /** What changed on an indicator (`indicatorChange`). */
204
+ export interface IndicatorSettingsChangePayload {
205
+ instanceId: string;
206
+ change: 'visible' | 'style' | 'levels' | 'params' | 'pane' | 'scale';
131
207
  }
132
208
  export interface ChartEventMap {
133
209
  crosshairMove: CrosshairMovePayload;
@@ -142,6 +218,33 @@ export interface ChartEventMap {
142
218
  priceRangeChange: PriceRangeChangePayload;
143
219
  zoomChange: ZoomChangePayload;
144
220
  dataUpdate: DataSeries;
221
+ /** Older bars are being paged in, or finished loading. */
222
+ historyLoad: HistoryLoadPayload;
223
+ /** What is known about the symbol on the chart changed (`setSymbolInfo`, or the stream's adapter). */
224
+ symbolInfoChange: {
225
+ info: SymbolInfo | null;
226
+ };
227
+ chartTypeChange: {
228
+ type: string;
229
+ previous: string;
230
+ };
231
+ symbolChange: {
232
+ symbol: string;
233
+ previous: string | null;
234
+ };
235
+ timeframeChange: {
236
+ timeframe: string;
237
+ previous: string | null;
238
+ };
239
+ historyChange: {
240
+ canUndo: boolean;
241
+ canRedo: boolean;
242
+ };
243
+ /** The selected drawings' ids, the primary (its handles show) first; none: nothing selected. */
244
+ drawingSelect: {
245
+ ids: string[];
246
+ primary: string | null;
247
+ };
145
248
  indicatorAdd: IndicatorChangePayload;
146
249
  indicatorRemove: IndicatorChangePayload;
147
250
  /** An indicator pane was resized (by dragging its divider or `setPanelSize`). */
@@ -149,10 +252,17 @@ export interface ChartEventMap {
149
252
  instanceId: string;
150
253
  size: number;
151
254
  };
255
+ /** A pane was folded or opened, maximised or put back, or moved up or down. */
256
+ paneChange: {
257
+ instanceId: string;
258
+ change: 'collapsed' | 'maximized' | 'order' | 'scale';
259
+ };
152
260
  /** Indicator values were recomputed from bar index `from` on: new bars, a live tick, a replay step. */
153
261
  indicatorUpdate: {
154
262
  from: number;
155
263
  };
264
+ /** One indicator's settings changed: shown or hidden, restyled, new levels or inputs, moved to another pane. */
265
+ indicatorChange: IndicatorSettingsChangePayload;
156
266
  themeChange: ThemeChangePayload;
157
267
  resize: ResizePayload;
158
268
  orderPlace: OrderPlacePayload;
@@ -170,13 +280,41 @@ export interface ChartEventMap {
170
280
  };
171
281
  signalMarkerAdd: SignalMarkerAddPayload;
172
282
  signalMarkerRemove: SignalMarkerRemovePayload;
283
+ signalMarkerHover: {
284
+ marker: import('./signal.js').SignalMarker | null;
285
+ x: number;
286
+ y: number;
287
+ };
288
+ signalMarkerClick: {
289
+ marker: import('./signal.js').SignalMarker;
290
+ x: number;
291
+ y: number;
292
+ };
173
293
  tradeZoneAdd: TradeZoneAddPayload;
174
294
  tradeZoneRemove: TradeZoneRemovePayload;
175
295
  alertAdd: AlertPayload;
176
296
  alertRemove: AlertRemovePayload;
177
297
  alertTriggered: AlertPayload;
298
+ alertExpired: AlertPayload;
299
+ /** An indicator reads a symbol the chart has no bars of: give them with `setSymbolSeries`. */
300
+ symbolSeriesRequest: {
301
+ symbol: string;
302
+ };
303
+ replayStep: ReplayStepPayload;
304
+ replayState: {
305
+ state: 'playing' | 'paused' | 'stopped';
306
+ };
178
307
  alertUpdate: AlertPayload;
179
308
  }
309
+ /** Payload for `replayStep`. */
310
+ export interface ReplayStepPayload {
311
+ /** The chart's bar forming now. */
312
+ barIndex: number;
313
+ /** When it opened. */
314
+ time: number;
315
+ /** The replay has shown everything before this time (the next step's). */
316
+ until: number;
317
+ }
180
318
  export interface AlertRemovePayload {
181
319
  id: string;
182
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ConnectionState } from './realtime.js';
2
- import { TradingOrder, OrderSide, OrderPlaceIntent, OrderModifyIntent, OrderCancelIntent, PositionModifyIntent, PositionCloseIntent } from './trading.js';
2
+ import { TradingOrder, OrderSide, OrderPlaceIntent, OrderModifyIntent, OrderCancelIntent, PositionModifyIntent, PositionCloseIntent, PositionReverseIntent } from './trading.js';
3
3
  export interface ExecutionConfig {
4
4
  /** Account identifier, when the broker scopes by account. */
5
5
  account?: string;
@@ -8,12 +8,20 @@ export interface ExecutionConfig {
8
8
  meta?: Record<string, unknown>;
9
9
  }
10
10
  export type ExecutionEventType = 'orders' | 'positions' | 'fill' | 'connectionChange' | 'error';
11
+ /** Why a fill happened: an order, a position closed by hand or reversed, or its stop-loss or take-profit. */
12
+ export type FillReason = 'order' | 'close' | 'reverse' | 'stopLoss' | 'takeProfit';
11
13
  export interface FillEvent {
12
14
  orderId: string;
13
15
  side: OrderSide;
14
16
  price: number;
15
17
  quantity: number;
18
+ /** When it filled (ms since the epoch). */
16
19
  time: number;
20
+ /** The position it opened or closed. */
21
+ positionId?: string;
22
+ reason?: FillReason;
23
+ /** Profit or loss it realised, for a fill that closes a position. */
24
+ pnl?: number;
17
25
  }
18
26
  export interface ExecutionError {
19
27
  message: string;
@@ -51,6 +59,17 @@ export interface ExecutionAdapter {
51
59
  modifyPosition(intent: PositionModifyIntent): Promise<void>;
52
60
  /** Close a position (full close). */
53
61
  closePosition(intent: PositionCloseIntent): Promise<void>;
62
+ /**
63
+ * Close a position and open the same size the other way. Optional: without
64
+ * it, the chart closes the position and places a market order instead.
65
+ */
66
+ reversePosition?(intent: PositionReverseIntent): Promise<void>;
67
+ /**
68
+ * The market price, live or replayed, and its time (ms). Optional: a paper
69
+ * adapter fills pending orders and stops against it and stamps fills with
70
+ * the time. The chart calls it with the replayed price during a replay.
71
+ */
72
+ setMarkPrice?(price: number, time?: number): void;
54
73
  on<T = unknown>(event: ExecutionEventType, listener: ExecutionListener<T>): void;
55
74
  off<T = unknown>(event: ExecutionEventType, listener: ExecutionListener<T>): void;
56
75
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/types/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAWtB,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,WAAW,GACX,MAAM,GACN,kBAAkB,GAClB,OAAO,CAAC;AAEZ,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,IAAI,IAAI,CAAC;IACnB,kBAAkB,IAAI,eAAe,CAAC;IAEtC,+EAA+E;IAC/E,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,gCAAgC;IAChC,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,8BAA8B;IAC9B,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,iDAAiD;IACjD,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,qCAAqC;IACrC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACjF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAElF,OAAO,IAAI,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/types/execution.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,8 @@ export * from './execution.js';
12
12
  export * from './signal.js';
13
13
  export * from './realtime.js';
14
14
  export * from './finance.js';
15
+ export * from './symbol.js';
16
+ export * from './quote.js';
17
+ export * from './news.js';
18
+ export * from './a11y.js';
15
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}