@tradecanvas/chart 1.51.0 → 1.53.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/Chart.d.ts +275 -10
- package/dist/Chart.d.ts.map +1 -1
- package/dist/DataManager.d.ts +24 -0
- package/dist/DataManager.d.ts.map +1 -1
- package/dist/HistoryPager.d.ts +12 -2
- package/dist/HistoryPager.d.ts.map +1 -1
- package/dist/{LayoutSession-Qkx1huV-.js → LayoutSession-D7uQq3jX.js} +1225 -474
- package/dist/LayoutSession-D7uQq3jX.js.map +1 -0
- package/dist/LayoutSession-nlhT-EH7.cjs +2 -0
- package/dist/LayoutSession-nlhT-EH7.cjs.map +1 -0
- package/dist/SeriesStore.d.ts +58 -4
- package/dist/SeriesStore.d.ts.map +1 -1
- package/dist/charts/ChartTypeStrategy.d.ts +32 -5
- package/dist/charts/ChartTypeStrategy.d.ts.map +1 -1
- package/dist/frameworks/feedBars.d.ts +22 -6
- package/dist/frameworks/feedBars.d.ts.map +1 -1
- package/dist/{i18n-DFTQ73Cz.js → i18n-CwCzRLKW.js} +39 -1
- package/dist/i18n-CwCzRLKW.js.map +1 -0
- package/dist/i18n-D7B7uFrN.cjs +2 -0
- package/dist/i18n-D7B7uFrN.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +124 -101
- package/dist/index.js.map +1 -1
- package/dist/io/resampleOHLCV.d.ts +10 -4
- package/dist/io/resampleOHLCV.d.ts.map +1 -1
- package/dist/replay/ReplayStepLoader.d.ts +52 -0
- package/dist/replay/ReplayStepLoader.d.ts.map +1 -0
- package/dist/replay/intrabarPath.d.ts +44 -0
- package/dist/replay/intrabarPath.d.ts.map +1 -0
- package/dist/replay/replayStep.d.ts +18 -0
- package/dist/replay/replayStep.d.ts.map +1 -0
- package/dist/widget/ChartWidget.d.ts +329 -13
- package/dist/widget/ChartWidget.d.ts.map +1 -1
- package/dist/widget/ChartWidgetGrid.d.ts.map +1 -1
- package/dist/widget/WidgetDataWindow.d.ts +7 -0
- package/dist/widget/WidgetDataWindow.d.ts.map +1 -1
- package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
- package/dist/widget/WidgetIndicatorLegend.d.ts +21 -3
- package/dist/widget/WidgetIndicatorLegend.d.ts.map +1 -1
- package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
- package/dist/widget/WidgetObjectTree.d.ts +7 -1
- package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
- package/dist/widget/WidgetReplayBar.d.ts +101 -23
- package/dist/widget/WidgetReplayBar.d.ts.map +1 -1
- package/dist/widget/WidgetSettings.d.ts +11 -3
- package/dist/widget/WidgetSettings.d.ts.map +1 -1
- package/dist/widget/chartSettingsStore.d.ts +76 -0
- package/dist/widget/chartSettingsStore.d.ts.map +1 -0
- package/dist/widget/chartTemplates.d.ts.map +1 -1
- package/dist/widget/compareLegend.d.ts +20 -0
- package/dist/widget/compareLegend.d.ts.map +1 -0
- package/dist/widget/index.cjs +382 -166
- package/dist/widget/index.cjs.map +1 -1
- package/dist/widget/index.d.ts +1 -1
- package/dist/widget/index.d.ts.map +1 -1
- package/dist/widget/index.js +2947 -2041
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/indicatorInputWords.d.ts +19 -0
- package/dist/widget/indicatorInputWords.d.ts.map +1 -0
- package/dist/widget/locales/ar.d.ts.map +1 -1
- package/dist/widget/locales/cs.d.ts.map +1 -1
- package/dist/widget/locales/da.d.ts.map +1 -1
- package/dist/widget/locales/de.d.ts.map +1 -1
- package/dist/widget/locales/el.d.ts.map +1 -1
- package/dist/widget/locales/en.d.ts +20 -0
- package/dist/widget/locales/en.d.ts.map +1 -1
- package/dist/widget/locales/es.d.ts.map +1 -1
- package/dist/widget/locales/et.d.ts.map +1 -1
- package/dist/widget/locales/fa.d.ts.map +1 -1
- package/dist/widget/locales/fr.d.ts.map +1 -1
- package/dist/widget/locales/he.d.ts.map +1 -1
- package/dist/widget/locales/hu.d.ts.map +1 -1
- package/dist/widget/locales/id.d.ts.map +1 -1
- package/dist/widget/locales/index.cjs +1 -1
- package/dist/widget/locales/index.cjs.map +1 -1
- package/dist/widget/locales/index.js +533 -1
- package/dist/widget/locales/index.js.map +1 -1
- package/dist/widget/locales/it.d.ts.map +1 -1
- package/dist/widget/locales/ja.d.ts.map +1 -1
- package/dist/widget/locales/ko.d.ts.map +1 -1
- package/dist/widget/locales/ms.d.ts.map +1 -1
- package/dist/widget/locales/nb.d.ts.map +1 -1
- package/dist/widget/locales/nl.d.ts.map +1 -1
- package/dist/widget/locales/pl.d.ts.map +1 -1
- package/dist/widget/locales/pt.d.ts.map +1 -1
- package/dist/widget/locales/ro.d.ts.map +1 -1
- package/dist/widget/locales/ru.d.ts.map +1 -1
- package/dist/widget/locales/sk.d.ts.map +1 -1
- package/dist/widget/locales/sv.d.ts.map +1 -1
- package/dist/widget/locales/th.d.ts.map +1 -1
- package/dist/widget/locales/tr.d.ts.map +1 -1
- package/dist/widget/locales/vi.d.ts.map +1 -1
- package/dist/widget/locales/zh.d.ts.map +1 -1
- package/dist/widget/locales/zhHant.d.ts.map +1 -1
- package/dist/widget/settingsRows.d.ts +12 -3
- package/dist/widget/settingsRows.d.ts.map +1 -1
- package/dist/widget/symbolInfoView.d.ts.map +1 -1
- package/dist/widget/types.d.ts +75 -7
- package/dist/widget/types.d.ts.map +1 -1
- package/dist/widget/widgetCompare.d.ts +18 -0
- package/dist/widget/widgetCompare.d.ts.map +1 -1
- package/dist/widget/widgetLayout.d.ts +13 -1
- package/dist/widget/widgetLayout.d.ts.map +1 -1
- package/dist/widget/widgetSettingsLook.d.ts +3 -1
- package/dist/widget/widgetSettingsLook.d.ts.map +1 -1
- package/dist/widget/widgetShareState.d.ts +8 -0
- package/dist/widget/widgetShareState.d.ts.map +1 -1
- package/dist/widget/widgetTimezones.d.ts +4 -1
- package/dist/widget/widgetTimezones.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/LayoutSession-DuV9kpdQ.cjs +0 -2
- package/dist/LayoutSession-DuV9kpdQ.cjs.map +0 -1
- package/dist/LayoutSession-Qkx1huV-.js.map +0 -1
- package/dist/i18n-Bg_UJSNs.cjs +0 -2
- package/dist/i18n-Bg_UJSNs.cjs.map +0 -1
- package/dist/i18n-DFTQ73Cz.js.map +0 -1
package/dist/SeriesStore.d.ts
CHANGED
|
@@ -16,6 +16,19 @@ export interface SeriesWrite {
|
|
|
16
16
|
/** Whether the bars shown were filtered again first: any copy of them is stale. */
|
|
17
17
|
readonly refiltered: boolean;
|
|
18
18
|
}
|
|
19
|
+
/** What a correction did with a bar (`replace`). */
|
|
20
|
+
export interface SeriesCorrection {
|
|
21
|
+
/**
|
|
22
|
+
* Where the bar was: in the live series kept aside during a replay, in the
|
|
23
|
+
* whole series only (outside the hours shown), among the bars shown, or
|
|
24
|
+
* nowhere (no loaded bar has its time, or the chart can't take it).
|
|
25
|
+
*/
|
|
26
|
+
readonly to: 'aside' | 'hidden' | 'shown' | 'none';
|
|
27
|
+
/** Its index among the bars shown; -1 when it isn't one of them. */
|
|
28
|
+
readonly index: number;
|
|
29
|
+
/** Whether its values changed: false for the bar loaded sent again, after the repairs every write makes. */
|
|
30
|
+
readonly changed: boolean;
|
|
31
|
+
}
|
|
19
32
|
/** What a batch of new bars did: how many the chart shows, from how many before. */
|
|
20
33
|
export interface SeriesBatch {
|
|
21
34
|
/** Bars that went onto the bars shown (none during a replay). */
|
|
@@ -31,6 +44,23 @@ export interface SeriesPage {
|
|
|
31
44
|
readonly added: number;
|
|
32
45
|
readonly taken: number;
|
|
33
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* How the live series changed during a replay, other than at its end: a
|
|
49
|
+
* new one (`series`: `load`, a reconnect's snapshot), older bars in front
|
|
50
|
+
* (`older`, with how many it took), the hours shown (`hours`), or a bar
|
|
51
|
+
* corrected (`bar`, at its time). A replay follows each by time.
|
|
52
|
+
*/
|
|
53
|
+
export type LiveChange = {
|
|
54
|
+
readonly kind: 'series';
|
|
55
|
+
} | {
|
|
56
|
+
readonly kind: 'older';
|
|
57
|
+
readonly taken: number;
|
|
58
|
+
} | {
|
|
59
|
+
readonly kind: 'hours';
|
|
60
|
+
} | {
|
|
61
|
+
readonly kind: 'bar';
|
|
62
|
+
readonly time: number;
|
|
63
|
+
};
|
|
34
64
|
/** A bar onto a series by its time: the last one again, a new one after it, or an older one. */
|
|
35
65
|
export declare function barPlacement(series: readonly OHLCBar[], bar: OHLCBar): 'append' | 'update' | 'stale';
|
|
36
66
|
/** Whether a bar's time and prices are all numbers. */
|
|
@@ -44,18 +74,33 @@ export declare function isWholeBar(b: OHLCBar): boolean;
|
|
|
44
74
|
*/
|
|
45
75
|
export declare class SeriesStore {
|
|
46
76
|
private readonly hoursFilter;
|
|
77
|
+
private readonly onLiveChange;
|
|
47
78
|
private readonly shown;
|
|
48
79
|
/** Every bar, while some are hidden; null while all are shown. */
|
|
49
80
|
private whole;
|
|
50
81
|
/** The live series during a replay, which the bars shown no longer follow. */
|
|
51
82
|
private aside;
|
|
52
|
-
|
|
83
|
+
/** Bumped by every bar shown replaced in place (`replace`): what keeps a copy of the bars by their array writes them again. */
|
|
84
|
+
private shownRevision;
|
|
85
|
+
/**
|
|
86
|
+
* `onLiveChange` hears every change to the live series during a replay
|
|
87
|
+
* other than at its end, whoever wrote it, so the replay can follow.
|
|
88
|
+
*/
|
|
89
|
+
constructor(hoursFilter: HoursFilter, onLiveChange?: (change: LiveChange) => void);
|
|
53
90
|
/** The bars the chart shows. */
|
|
54
91
|
bars(): DataSeries;
|
|
55
92
|
length(): number;
|
|
93
|
+
/**
|
|
94
|
+
* Moves when a bar shown was replaced in place, the array the same: a copy
|
|
95
|
+
* kept by the array and a few bars it samples (the GPU's) is stale.
|
|
96
|
+
*/
|
|
97
|
+
revision(): number;
|
|
56
98
|
/** The live series: kept aside during a replay, else every bar, hidden ones too. */
|
|
57
99
|
liveBars(): DataSeries;
|
|
58
|
-
/**
|
|
100
|
+
/**
|
|
101
|
+
* A new series: the bars shown are those of `bars` in the hours shown.
|
|
102
|
+
* During a replay it is the live series kept aside.
|
|
103
|
+
*/
|
|
59
104
|
load(bars: DataSeries): void;
|
|
60
105
|
/**
|
|
61
106
|
* Older bars in front of the series held: those before its first, once
|
|
@@ -90,8 +135,15 @@ export declare class SeriesStore {
|
|
|
90
135
|
* series kept aside the same way.
|
|
91
136
|
*/
|
|
92
137
|
placeStreamBar(given: OHLCBar): SeriesWrite;
|
|
93
|
-
/**
|
|
94
|
-
|
|
138
|
+
/**
|
|
139
|
+
* A loaded bar again, with new values: the bar with the same time,
|
|
140
|
+
* wherever it is, repaired as every write repairs a bar. During a replay
|
|
141
|
+
* it is the live series kept aside; outside the hours shown, the whole
|
|
142
|
+
* series only. Nowhere when no loaded bar has its time: a bar the chart
|
|
143
|
+
* left out (it couldn't take it) isn't loaded either. Bar times don't
|
|
144
|
+
* change, so the hours shown need no filtering again.
|
|
145
|
+
*/
|
|
146
|
+
replace(given: OHLCBar): SeriesCorrection;
|
|
95
147
|
/** A replay begins: the live series is kept aside, and the bars shown are the replay's. */
|
|
96
148
|
beginReplay(): void;
|
|
97
149
|
/** The replay ends: the live series kept aside, to load again; null without a replay. */
|
|
@@ -109,6 +161,8 @@ export declare class SeriesStore {
|
|
|
109
161
|
* hidden), so the whole series never mixes seconds and milliseconds.
|
|
110
162
|
*/
|
|
111
163
|
private inSeriesUnit;
|
|
164
|
+
/** A bar outside the hours shown, corrected in the whole series only: it shows with the hours. */
|
|
165
|
+
private replaceHidden;
|
|
112
166
|
private wrote;
|
|
113
167
|
/** The bars of `all` shown; while some are hidden, `all` is kept as the whole series. */
|
|
114
168
|
private regularOnly;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SeriesStore.d.ts","sourceRoot":"","sources":["../src/SeriesStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIhE,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;AAEpG,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnD,kFAAkF;IAClF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAQpG;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE9C;AAED;;;;;;GAMG;AACH,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"SeriesStore.d.ts","sourceRoot":"","sources":["../src/SeriesStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChartType, ChartTypeOptions, DataSeries } from '@tradecanvas/commons';
|
|
2
|
-
import { ChartRendererInterface } from '@tradecanvas/core';
|
|
2
|
+
import { ChartRendererInterface, PointAndFigureColumns, ReshapeMemo } from '@tradecanvas/core';
|
|
3
3
|
import { ChartTypePlugin } from '../plugins/contracts.js';
|
|
4
4
|
/**
|
|
5
5
|
* Pure mapping from `ChartType` to the renderer class that draws it. Several
|
|
@@ -10,11 +10,14 @@ export declare function createRendererFor(type: ChartType): ChartRendererInterfa
|
|
|
10
10
|
/**
|
|
11
11
|
* Transform raw OHLC bars into the display series for a given chart type,
|
|
12
12
|
* with its settings (`options`; what isn't set is worked out from the data).
|
|
13
|
+
* `step` is the market's price step (`rangeBarsStep`), when there is one:
|
|
14
|
+
* the automatic range of range bars is a multiple of it. `memo` keeps the
|
|
15
|
+
* size a reshaped type was raised to, for the next tick (`ReshapeMemo`).
|
|
13
16
|
* Returns the input unchanged for chart types that render raw OHLC directly.
|
|
14
17
|
*
|
|
15
18
|
* Centralized so adding a new chart type only requires editing one file.
|
|
16
19
|
*/
|
|
17
|
-
export declare function transformDisplayData(type: ChartType, raw: DataSeries, options?: ChartTypeOptions): DataSeries;
|
|
20
|
+
export declare function transformDisplayData(type: ChartType, raw: DataSeries, options?: ChartTypeOptions, step?: number, memo?: ReshapeMemo): DataSeries;
|
|
18
21
|
/** Chart types that materially transform raw OHLC into a different series. */
|
|
19
22
|
export declare function isTransformedChartType(type: ChartType): boolean;
|
|
20
23
|
/**
|
|
@@ -23,8 +26,32 @@ export declare function isTransformedChartType(type: ChartType): boolean;
|
|
|
23
26
|
* keeps one bar per data bar.
|
|
24
27
|
*/
|
|
25
28
|
export declare function isReshapedChartType(type: ChartType): boolean;
|
|
26
|
-
/**
|
|
27
|
-
|
|
29
|
+
/**
|
|
30
|
+
* A point & figure chart's columns and the box they were built on: the box
|
|
31
|
+
* set, or 1% of the average close, raised when the columns would pass
|
|
32
|
+
* 100,000, so the renderer draws the boxes the columns were built with.
|
|
33
|
+
*/
|
|
34
|
+
export declare function pointAndFigureDisplay(raw: DataSeries, options?: ChartTypeOptions, memo?: ReshapeMemo): PointAndFigureColumns;
|
|
35
|
+
/**
|
|
36
|
+
* The range of range bars: the one set, as it is, or for 'auto' the mean true
|
|
37
|
+
* range of the last 100 closed bars (all of them when there are fewer; the
|
|
38
|
+
* bar still forming is left out, so a tick doesn't reshape the history). It
|
|
39
|
+
* is rounded to a 1-2-5 number, so it holds still as bars close, then to a
|
|
40
|
+
* whole number of price steps (`step`, one at least), so bars close on prices
|
|
41
|
+
* the market can trade. With 2 bars or fewer, about a hundredth of the last close.
|
|
42
|
+
* `toRangeBars` raises either kind when the closed bars would make more than
|
|
43
|
+
* 100,000 range bars, or the last bar that many on its own; one under half
|
|
44
|
+
* the 15th significant digit of the largest price closes no bar.
|
|
45
|
+
*/
|
|
46
|
+
export declare function rangeBarsSize(raw: DataSeries, options?: ChartTypeOptions, step?: number): number;
|
|
47
|
+
/**
|
|
48
|
+
* The price step automatic range bars go on: the coarsest the market has over
|
|
49
|
+
* the closed bars the range is measured on (on a market whose step depends on
|
|
50
|
+
* the price, the step at their highest or their lowest price), so a last price
|
|
51
|
+
* that crosses a band edge doesn't change the range of the whole history. With
|
|
52
|
+
* one bar, the step at its close; undefined when the market has no step.
|
|
53
|
+
*/
|
|
54
|
+
export declare function rangeBarsStep(raw: DataSeries, stepAt: (price: number) => number | undefined): number | undefined;
|
|
28
55
|
/** Look up a registered custom chart-type plugin by its `type` string. */
|
|
29
56
|
export type ChartTypeLookup = (type: string) => ChartTypePlugin | undefined;
|
|
30
57
|
/**
|
|
@@ -36,5 +63,5 @@ export declare function resolveRenderer(type: string, lookup?: ChartTypeLookup):
|
|
|
36
63
|
* Resolve the display series for a chart type, preferring a plugin's
|
|
37
64
|
* `transform` over the built-in transforms.
|
|
38
65
|
*/
|
|
39
|
-
export declare function resolveDisplayData(type: string, raw: DataSeries, lookup?: ChartTypeLookup, options?: ChartTypeOptions): DataSeries;
|
|
66
|
+
export declare function resolveDisplayData(type: string, raw: DataSeries, lookup?: ChartTypeLookup, options?: ChartTypeOptions, step?: number, memo?: ReshapeMemo): DataSeries;
|
|
40
67
|
//# sourceMappingURL=ChartTypeStrategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartTypeStrategy.d.ts","sourceRoot":"","sources":["../../src/charts/ChartTypeStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartTypeStrategy.d.ts","sourceRoot":"","sources":["../../src/charts/ChartTypeStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAyBpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,sBAAsB,CAsCzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,EACf,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,gBAAqB,EAC9B,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,WAAW,GACjB,UAAU,CAwBZ;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAY/D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,qBAAqB,CAIhI;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,gBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAOpG;AAoBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUhH;AAaD,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,sBAAsB,CAI9F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,UAAU,EACf,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,WAAW,GACjB,UAAU,CAKZ"}
|
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import { OHLCBar } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* How many bars before the forming one a component's `data` may correct
|
|
4
|
+
* in place (the venue's final for the bar just closed, a late revision):
|
|
5
|
+
* they go in as `updateBar`, the view kept. A change further back is a new
|
|
6
|
+
* series. Vue and Svelte watch these bars, the forming one and the length.
|
|
7
|
+
*/
|
|
8
|
+
export declare const CORRECTABLE_BARS = 3;
|
|
2
9
|
/** What the components need of a chart to give it their `data`. */
|
|
3
10
|
export interface BarFeedHost {
|
|
4
11
|
setData(data: OHLCBar[]): void;
|
|
5
12
|
updateLastBar(bar: OHLCBar): void;
|
|
6
13
|
appendBar(bar: OHLCBar): void;
|
|
7
14
|
appendBars(bars: OHLCBar[]): void;
|
|
15
|
+
/**
|
|
16
|
+
* A loaded bar corrected (`Chart.updateBar`): false when the chart has no
|
|
17
|
+
* bar at its time. Without it, a correction is fed as a new series.
|
|
18
|
+
*/
|
|
19
|
+
updateBar?(bar: OHLCBar): boolean;
|
|
8
20
|
/** The bars shown: read to tell bars another writer gave the chart. */
|
|
9
21
|
getData(): readonly OHLCBar[];
|
|
10
22
|
isExtendedHoursVisible(): boolean;
|
|
@@ -17,6 +29,8 @@ export interface FedBars {
|
|
|
17
29
|
readonly length: number;
|
|
18
30
|
/** Its last bar as it was then (a copy: the array may change in place). */
|
|
19
31
|
readonly last: OHLCBar | null;
|
|
32
|
+
/** Up to `CORRECTABLE_BARS` bars before the last, as they were then (copies): a change to one is a correction. */
|
|
33
|
+
readonly recent?: readonly OHLCBar[];
|
|
20
34
|
/** The chart's last bar just after, the object itself: another writer's bar is another object. */
|
|
21
35
|
readonly shownBar: OHLCBar | null;
|
|
22
36
|
/** Fed during a replay: the bars went to the live series, out of sight. */
|
|
@@ -26,12 +40,14 @@ export interface FedBars {
|
|
|
26
40
|
* Bars into the chart, as the framework components take their `data`. Bars
|
|
27
41
|
* that go on from those fed before (the last one changed, or bars added after
|
|
28
42
|
* it) go in as ticks (`updateLastBar`, `appendBar`, `appendBars`), as a live
|
|
29
|
-
* feed's do: the view isn't reset, and only the end is computed again.
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
43
|
+
* feed's do: the view isn't reset, and only the end is computed again. A
|
|
44
|
+
* change to one of the `CORRECTABLE_BARS` bars before the forming one (its
|
|
45
|
+
* time the same) goes in as a correction (`updateBar`), the view kept too.
|
|
46
|
+
* That holds for a new array (`[...bars, next]`) and for the same one
|
|
47
|
+
* changed in place. Anything else is a new series (`setData`): other bars,
|
|
48
|
+
* a bar the chart can't take, a correction it refuses or can't take (no
|
|
49
|
+
* `updateBar`), or bars another writer gave the chart since. `prev` is what
|
|
50
|
+
* the last call gave back (null for the first); the chart gets plain copies.
|
|
35
51
|
*/
|
|
36
52
|
export declare function feedBars(chart: BarFeedHost, next: readonly OHLCBar[], prev: FedBars | null): FedBars;
|
|
37
53
|
//# sourceMappingURL=feedBars.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedBars.d.ts","sourceRoot":"","sources":["../../src/frameworks/feedBars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC,uEAAuE;IACvE,OAAO,IAAI,SAAS,OAAO,EAAE,CAAC;IAC9B,sBAAsB,IAAI,OAAO,CAAC;IAClC,cAAc,IAAI,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,OAAO;IACtB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,kGAAkG;IAClG,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"feedBars.d.ts","sourceRoot":"","sources":["../../src/frameworks/feedBars.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IAClC,uEAAuE;IACvE,OAAO,IAAI,SAAS,OAAO,EAAE,CAAC;IAC9B,sBAAsB,IAAI,OAAO,CAAC;IAClC,cAAc,IAAI,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,OAAO;IACtB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,kHAAkH;IAClH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,kGAAkG;IAClG,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAsGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAKpG"}
|
|
@@ -65,6 +65,7 @@ var e = {
|
|
|
65
65
|
"legend.remove": "Remove",
|
|
66
66
|
"legend.collapse": "Collapse indicators",
|
|
67
67
|
"legend.expand": "Show indicators",
|
|
68
|
+
"legend.offChartType": "Not drawn on this chart type",
|
|
68
69
|
"indicatorSettings.title": "{name} settings",
|
|
69
70
|
"indicatorSettings.tab.inputs": "Inputs",
|
|
70
71
|
"indicatorSettings.tab.style": "Style",
|
|
@@ -79,6 +80,11 @@ var e = {
|
|
|
79
80
|
"indicatorSettings.rangeTo": "to",
|
|
80
81
|
"indicatorSettings.offInterval": "Not shown on this interval",
|
|
81
82
|
"indicatorSettings.noInputs": "This indicator has no adjustable parameters.",
|
|
83
|
+
"indicatorInput.anchor": "Anchor",
|
|
84
|
+
"indicatorInput.anchor.session": "Session",
|
|
85
|
+
"indicatorInput.anchor.week": "Week",
|
|
86
|
+
"indicatorInput.anchor.month": "Month",
|
|
87
|
+
"indicatorInput.anchor.all": "All bars",
|
|
82
88
|
"indicatorSettings.source.prices": "Price",
|
|
83
89
|
"indicatorSettings.source.indicators": "Indicators",
|
|
84
90
|
"indicatorSettings.lineWidth": "Line width",
|
|
@@ -286,6 +292,8 @@ var e = {
|
|
|
286
292
|
"settings.reversalBoxes": "Reversal boxes",
|
|
287
293
|
"settings.barRange": "Range",
|
|
288
294
|
"settings.auto": "Auto",
|
|
295
|
+
"settings.numberAtLeast": "{min} or more",
|
|
296
|
+
"settings.numberWhole": "A whole number from {min} to {max}",
|
|
289
297
|
"settings.scale.regular": "Regular",
|
|
290
298
|
"settings.scale.logarithmic": "Logarithmic",
|
|
291
299
|
"settings.scale.percentage": "Percentage",
|
|
@@ -582,7 +590,17 @@ var e = {
|
|
|
582
590
|
"alerts.invalid": "These alert settings don’t fit together",
|
|
583
591
|
"replay.step": "Step",
|
|
584
592
|
"replay.step.bar": "Bar",
|
|
593
|
+
"replay.step.auto": "Auto",
|
|
585
594
|
"replay.stepsFailed": "Couldn't load the finer bars: replaying bar by bar",
|
|
595
|
+
"replay.selectBar": "Select bar",
|
|
596
|
+
"replay.rate": "{rate}×",
|
|
597
|
+
"replay.rateHint": "1× plays one bar a second",
|
|
598
|
+
"replay.playingAt": "Playing at {rate}",
|
|
599
|
+
"replay.pausedAt": "Paused at {time}",
|
|
600
|
+
"replay.endedAt": "Replay ended at {time}",
|
|
601
|
+
"hotkeys.replayStep": "Step the replay back / forward",
|
|
602
|
+
"hotkeys.replayPlay": "Play or pause the replay",
|
|
603
|
+
"hotkeys.replayCancel": "Stop picking the replay's start bar",
|
|
586
604
|
"markers.neutral": "Neutral",
|
|
587
605
|
"markers.confidence": "confidence {pct}%",
|
|
588
606
|
"chartMenu.paneLog": "Logarithmic scale",
|
|
@@ -800,6 +818,7 @@ var e = {
|
|
|
800
818
|
"toast.compareNeedsAdapter": "Comparison needs a live data adapter",
|
|
801
819
|
"toast.comparing": "Comparing {symbol}",
|
|
802
820
|
"toast.loadFailed": "failed to load",
|
|
821
|
+
"toast.compareNoBars": "{symbol}: no bars at {interval}",
|
|
803
822
|
"toast.autoFibAdded": "Auto Fibonacci added",
|
|
804
823
|
"toast.noSwing": "No clear swing in view",
|
|
805
824
|
"toast.fullscreenUnavailable": "Fullscreen is not available",
|
|
@@ -920,6 +939,7 @@ var e = {
|
|
|
920
939
|
"legend.remove": "Xoá",
|
|
921
940
|
"legend.collapse": "Thu gọn chỉ báo",
|
|
922
941
|
"legend.expand": "Hiện chỉ báo",
|
|
942
|
+
"legend.offChartType": "Không vẽ ở loại biểu đồ này",
|
|
923
943
|
"indicatorSettings.title": "Cài đặt {name}",
|
|
924
944
|
"indicatorSettings.tab.inputs": "Thông số",
|
|
925
945
|
"indicatorSettings.tab.style": "Kiểu",
|
|
@@ -934,6 +954,11 @@ var e = {
|
|
|
934
954
|
"indicatorSettings.rangeTo": "đến",
|
|
935
955
|
"indicatorSettings.offInterval": "Không hiển thị ở khung thời gian này",
|
|
936
956
|
"indicatorSettings.noInputs": "Chỉ báo này không có thông số để chỉnh.",
|
|
957
|
+
"indicatorInput.anchor": "Mốc",
|
|
958
|
+
"indicatorInput.anchor.session": "Phiên",
|
|
959
|
+
"indicatorInput.anchor.week": "Tuần",
|
|
960
|
+
"indicatorInput.anchor.month": "Tháng",
|
|
961
|
+
"indicatorInput.anchor.all": "Tất cả nến",
|
|
937
962
|
"indicatorSettings.source.prices": "Giá",
|
|
938
963
|
"indicatorSettings.source.indicators": "Chỉ báo",
|
|
939
964
|
"indicatorSettings.lineWidth": "Độ dày nét",
|
|
@@ -1141,6 +1166,8 @@ var e = {
|
|
|
1141
1166
|
"settings.reversalBoxes": "Số ô đảo chiều",
|
|
1142
1167
|
"settings.barRange": "Biên độ",
|
|
1143
1168
|
"settings.auto": "Tự động",
|
|
1169
|
+
"settings.numberAtLeast": "Từ {min} trở lên",
|
|
1170
|
+
"settings.numberWhole": "Số nguyên từ {min} đến {max}",
|
|
1144
1171
|
"settings.scale.regular": "Thường",
|
|
1145
1172
|
"settings.scale.logarithmic": "Logarit",
|
|
1146
1173
|
"settings.scale.percentage": "Phần trăm",
|
|
@@ -1437,7 +1464,17 @@ var e = {
|
|
|
1437
1464
|
"alerts.invalid": "Các thiết lập cảnh báo này không dùng chung được",
|
|
1438
1465
|
"replay.step": "Bước",
|
|
1439
1466
|
"replay.step.bar": "Nến",
|
|
1467
|
+
"replay.step.auto": "Tự động",
|
|
1440
1468
|
"replay.stepsFailed": "Không tải được nến khung nhỏ: replay theo từng nến",
|
|
1469
|
+
"replay.selectBar": "Chọn nến",
|
|
1470
|
+
"replay.rate": "{rate}×",
|
|
1471
|
+
"replay.rateHint": "1× phát một nến mỗi giây",
|
|
1472
|
+
"replay.playingAt": "Đang phát ở {rate}",
|
|
1473
|
+
"replay.pausedAt": "Tạm dừng tại {time}",
|
|
1474
|
+
"replay.endedAt": "Phát lại kết thúc tại {time}",
|
|
1475
|
+
"hotkeys.replayStep": "Lùi / tiến phát lại một bước",
|
|
1476
|
+
"hotkeys.replayPlay": "Phát hoặc tạm dừng phát lại",
|
|
1477
|
+
"hotkeys.replayCancel": "Thôi chọn nến bắt đầu phát lại",
|
|
1441
1478
|
"markers.neutral": "Trung lập",
|
|
1442
1479
|
"markers.confidence": "độ tin cậy {pct}%",
|
|
1443
1480
|
"chartMenu.paneLog": "Thang logarit",
|
|
@@ -1655,6 +1692,7 @@ var e = {
|
|
|
1655
1692
|
"toast.compareNeedsAdapter": "So sánh cần một nguồn dữ liệu trực tiếp",
|
|
1656
1693
|
"toast.comparing": "Đang so sánh với {symbol}",
|
|
1657
1694
|
"toast.loadFailed": "không tải được",
|
|
1695
|
+
"toast.compareNoBars": "{symbol}: không có nến ở khung {interval}",
|
|
1658
1696
|
"toast.autoFibAdded": "Đã thêm Fibonacci tự động",
|
|
1659
1697
|
"toast.noSwing": "Không thấy sóng rõ ràng trong khung nhìn",
|
|
1660
1698
|
"toast.fullscreenUnavailable": "Không mở được chế độ toàn màn hình",
|
|
@@ -1750,4 +1788,4 @@ function u(e, t) {
|
|
|
1750
1788
|
//#endregion
|
|
1751
1789
|
export { r as a, e as c, a as i, c as n, s as o, u as r, t as s, l as t };
|
|
1752
1790
|
|
|
1753
|
-
//# sourceMappingURL=i18n-
|
|
1791
|
+
//# sourceMappingURL=i18n-CwCzRLKW.js.map
|