@363045841yyt/klinechart 0.6.10 → 0.7.1
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/favicon.ico +0 -0
- package/dist/index.cjs +5 -5
- package/dist/index.js +20330 -8582
- package/dist/klinechart.css +1 -1
- package/dist/mock-stock-data.json +1 -0
- package/dist/src/components/IndicatorSelector.vue.d.ts +0 -1
- package/dist/src/components/KLineChart.vue.d.ts +1 -1
- package/dist/src/config/chartSettings.d.ts +6 -0
- package/dist/src/core/chart.d.ts +208 -11
- package/dist/src/core/draw/pixelAlign.d.ts +7 -7
- package/dist/src/core/drawing/plugin.d.ts +19 -0
- package/dist/src/core/indicators/calculators.d.ts +129 -0
- package/dist/src/core/indicators/chaikinVolState.d.ts +18 -0
- package/dist/src/core/indicators/cmfState.d.ts +16 -0
- package/dist/src/core/indicators/fibState.d.ts +26 -0
- package/dist/src/core/indicators/hvState.d.ts +18 -0
- package/dist/src/core/indicators/ichimokuState.d.ts +44 -0
- package/dist/src/core/indicators/indicatorDefinitionRegistry.d.ts +30 -0
- package/dist/src/core/indicators/indicatorMetadata.d.ts +81 -0
- package/dist/src/core/indicators/indicatorRegistry.d.ts +57 -0
- package/dist/src/core/indicators/indicatorRuntime.d.ts +35 -0
- package/dist/src/core/indicators/mfiState.d.ts +16 -0
- package/dist/src/core/indicators/obvState.d.ts +14 -0
- package/dist/src/core/indicators/parkinsonState.d.ts +18 -0
- package/dist/src/core/indicators/pivotState.d.ts +29 -0
- package/dist/src/core/indicators/pvtState.d.ts +14 -0
- package/dist/src/core/indicators/rocState.d.ts +16 -0
- package/dist/src/core/indicators/rsiState.d.ts +4 -0
- package/dist/src/core/indicators/scheduler.d.ts +82 -3
- package/dist/src/core/indicators/stateComposer.d.ts +51 -0
- package/dist/src/core/indicators/structureState.d.ts +43 -0
- package/dist/src/core/indicators/trixState.d.ts +20 -0
- package/dist/src/core/indicators/vmaState.d.ts +16 -0
- package/dist/src/core/indicators/volumeProfileState.d.ts +34 -0
- package/dist/src/core/indicators/vwapState.d.ts +16 -0
- package/dist/src/core/indicators/workerProtocol.d.ts +198 -1
- package/dist/src/core/indicators/zonesState.d.ts +26 -0
- package/dist/src/core/renderers/Indicator/cci.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/cmf.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/ene.d.ts +0 -8
- package/dist/src/core/renderers/Indicator/fastk.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/fib.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/hv.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/ichimoku.d.ts +5 -0
- package/dist/src/core/renderers/Indicator/index.d.ts +27 -1
- package/dist/src/core/renderers/Indicator/kst.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/macd.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/mfi.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/mom.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/obv.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/parkinson.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/pivot.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/pvt.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/roc.d.ts +5 -0
- package/dist/src/core/renderers/Indicator/rsi.d.ts +3 -2
- package/dist/src/core/renderers/Indicator/scale/indicator_scale.d.ts +4 -1
- package/dist/src/core/renderers/Indicator/stoch.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/structure.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +2 -2
- package/dist/src/core/renderers/Indicator/trix.d.ts +5 -0
- package/dist/src/core/renderers/Indicator/vma.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/vwap.d.ts +4 -0
- package/dist/src/core/renderers/Indicator/wmsr.d.ts +2 -1
- package/dist/src/core/renderers/Indicator/zones.d.ts +4 -0
- package/dist/src/core/renderers/candle.d.ts +2 -1
- package/dist/src/core/theme/colors.d.ts +207 -228
- package/dist/src/plugin/PluginHost.d.ts +3 -0
- package/dist/src/plugin/types.d.ts +6 -0
- package/dist/src/semantic/types.d.ts +59 -0
- package/dist/src/utils/kLineDraw/MA.d.ts +5 -10
- package/dist/src/utils/kLineDraw/axis.d.ts +7 -7
- package/dist/src/utils/kLineDraw/grid.d.ts +2 -2
- package/dist/src/utils/kLineDraw/kLine.d.ts +1 -1
- package/dist/src/utils/kline/format.d.ts +4 -7
- package/package.json +111 -103
|
@@ -1,230 +1,203 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
*/
|
|
71
|
-
export
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*/
|
|
86
|
-
export
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
*
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
};
|
|
202
|
-
/**
|
|
203
|
-
* ENE 轨道线颜色
|
|
204
|
-
*/
|
|
205
|
-
export declare const ENE_COLORS: {
|
|
206
|
-
/** 上轨颜色(红色) */
|
|
207
|
-
readonly UPPER: "rgba(214, 10, 34, 1)";
|
|
208
|
-
/** 中轨颜色(蓝色) */
|
|
209
|
-
readonly MIDDLE: "rgba(69, 112, 249, 1)";
|
|
210
|
-
/** 下轨颜色(绿色) */
|
|
211
|
-
readonly LOWER: "rgba(3, 123, 102, 1)";
|
|
212
|
-
/** 带状区域填充 */
|
|
213
|
-
readonly BAND_FILL: "rgba(69, 112, 249, 0.08)";
|
|
214
|
-
};
|
|
215
|
-
/**
|
|
216
|
-
* 十字线颜色
|
|
217
|
-
*/
|
|
218
|
-
export declare const CROSSHAIR_COLORS: {
|
|
219
|
-
/** 十字线颜色 */
|
|
220
|
-
readonly LINE: "rgba(0, 0, 0, 0.28)";
|
|
221
|
-
/** 十字线标签背景 */
|
|
222
|
-
readonly LABEL_BG: "rgb(0, 0, 0)";
|
|
223
|
-
/** 十字线标签文本 */
|
|
224
|
-
readonly LABEL_TEXT: "rgba(255, 255, 255, 0.92)";
|
|
225
|
-
};
|
|
226
|
-
/**
|
|
227
|
-
* 日志颜色
|
|
2
|
+
* 主题感知颜色配置
|
|
3
|
+
* 所有颜色通过 getColors(theme) 获取,支持 light/dark 双主题
|
|
4
|
+
*/
|
|
5
|
+
/** 主题类型 */
|
|
6
|
+
export type ChartTheme = 'light' | 'dark';
|
|
7
|
+
/** 文本颜色 */
|
|
8
|
+
export interface TextColors {
|
|
9
|
+
PRIMARY: string;
|
|
10
|
+
SECONDARY: string;
|
|
11
|
+
TERTIARY: string;
|
|
12
|
+
WEAK: string;
|
|
13
|
+
WHITE: string;
|
|
14
|
+
}
|
|
15
|
+
/** 涨跌价格颜色 */
|
|
16
|
+
export interface PriceColors {
|
|
17
|
+
UP: string;
|
|
18
|
+
UP_LIGHT: string;
|
|
19
|
+
UP_TICK: string;
|
|
20
|
+
DOWN: string;
|
|
21
|
+
DOWN_LIGHT: string;
|
|
22
|
+
DOWN_TICK: string;
|
|
23
|
+
NEUTRAL: string;
|
|
24
|
+
LAST_PRICE: string;
|
|
25
|
+
}
|
|
26
|
+
/** 标签背景颜色 */
|
|
27
|
+
export interface TagBgColors {
|
|
28
|
+
WHITE: string;
|
|
29
|
+
LIGHT_GRAY: string;
|
|
30
|
+
PURE_WHITE: string;
|
|
31
|
+
TRANSPARENT: string;
|
|
32
|
+
ACTIVE: string;
|
|
33
|
+
ACTIVE_HOVER: string;
|
|
34
|
+
HOVER: string;
|
|
35
|
+
}
|
|
36
|
+
/** 边框颜色 */
|
|
37
|
+
export interface BorderColors {
|
|
38
|
+
DARK: string;
|
|
39
|
+
MEDIUM: string;
|
|
40
|
+
LIGHT: string;
|
|
41
|
+
SEPARATOR: string;
|
|
42
|
+
BUTTON: string;
|
|
43
|
+
}
|
|
44
|
+
/** 网格线颜色 */
|
|
45
|
+
export interface GridColors {
|
|
46
|
+
HORIZONTAL: string;
|
|
47
|
+
VERTICAL: string;
|
|
48
|
+
}
|
|
49
|
+
/** 十字线颜色 */
|
|
50
|
+
export interface CrosshairColors {
|
|
51
|
+
LINE: string;
|
|
52
|
+
LABEL_BG: string;
|
|
53
|
+
LABEL_TEXT: string;
|
|
54
|
+
}
|
|
55
|
+
/** 均线颜色 */
|
|
56
|
+
export interface MAColors {
|
|
57
|
+
MA5: string;
|
|
58
|
+
MA10: string;
|
|
59
|
+
MA20: string;
|
|
60
|
+
MA30: string;
|
|
61
|
+
MA60: string;
|
|
62
|
+
}
|
|
63
|
+
/** 布林带颜色 */
|
|
64
|
+
export interface BOLLColors {
|
|
65
|
+
UPPER: string;
|
|
66
|
+
MIDDLE: string;
|
|
67
|
+
LOWER: string;
|
|
68
|
+
BAND_FILL: string;
|
|
69
|
+
}
|
|
70
|
+
/** MACD 颜色 */
|
|
71
|
+
export interface MACDColors {
|
|
72
|
+
DIF: string;
|
|
73
|
+
DEA: string;
|
|
74
|
+
BAR_UP: string;
|
|
75
|
+
BAR_UP_LIGHT: string;
|
|
76
|
+
BAR_DOWN: string;
|
|
77
|
+
BAR_DOWN_LIGHT: string;
|
|
78
|
+
}
|
|
79
|
+
/** 成交量颜色 */
|
|
80
|
+
export interface VolumeColors {
|
|
81
|
+
UP: string;
|
|
82
|
+
DOWN: string;
|
|
83
|
+
NEUTRAL: string;
|
|
84
|
+
}
|
|
85
|
+
/** RSI 颜色 */
|
|
86
|
+
export interface RSIColors {
|
|
87
|
+
RSI1: string;
|
|
88
|
+
RSI2: string;
|
|
89
|
+
RSI3: string;
|
|
90
|
+
}
|
|
91
|
+
/** CCI 颜色 */
|
|
92
|
+
export interface CCIColors {
|
|
93
|
+
CCI: string;
|
|
94
|
+
OVERBOUGHT: string;
|
|
95
|
+
OVERSOLD: string;
|
|
96
|
+
}
|
|
97
|
+
/** KDJ/STOCH 颜色 */
|
|
98
|
+
export interface KDJColors {
|
|
99
|
+
K: string;
|
|
100
|
+
D: string;
|
|
101
|
+
J: string;
|
|
102
|
+
}
|
|
103
|
+
/** MOM 颜色 */
|
|
104
|
+
export interface MOMColors {
|
|
105
|
+
MOM: string;
|
|
106
|
+
ZERO: string;
|
|
107
|
+
}
|
|
108
|
+
/** WMSR 颜色 */
|
|
109
|
+
export interface WMSRColors {
|
|
110
|
+
WMSR: string;
|
|
111
|
+
OVERBOUGHT: string;
|
|
112
|
+
OVERSOLD: string;
|
|
113
|
+
}
|
|
114
|
+
/** KST 颜色 */
|
|
115
|
+
export interface KSTColors {
|
|
116
|
+
KST: string;
|
|
117
|
+
SIGNAL: string;
|
|
118
|
+
}
|
|
119
|
+
/** EXPMA 颜色 */
|
|
120
|
+
export interface EXPMAColors {
|
|
121
|
+
FAST: string;
|
|
122
|
+
SLOW: string;
|
|
123
|
+
}
|
|
124
|
+
/** ENE 颜色 */
|
|
125
|
+
export interface ENEColors {
|
|
126
|
+
UPPER: string;
|
|
127
|
+
MIDDLE: string;
|
|
128
|
+
LOWER: string;
|
|
129
|
+
BAND_FILL: string;
|
|
130
|
+
}
|
|
131
|
+
/** 标签专用颜色(收敛硬编码) */
|
|
132
|
+
export interface LabelColors {
|
|
133
|
+
BG: string;
|
|
134
|
+
TEXT: string;
|
|
135
|
+
}
|
|
136
|
+
/** 最新价标签颜色 */
|
|
137
|
+
export interface LastPriceLabelColors {
|
|
138
|
+
BG: string;
|
|
139
|
+
}
|
|
140
|
+
/** 成交量价格标记颜色 */
|
|
141
|
+
export interface VolumePriceColors {
|
|
142
|
+
RISE_WITH: string;
|
|
143
|
+
RISE_WITHOUT: string;
|
|
144
|
+
FALL_WITH: string;
|
|
145
|
+
FALL_WITHOUT: string;
|
|
146
|
+
}
|
|
147
|
+
/** Structure 指标颜色 */
|
|
148
|
+
export interface StructureColors {
|
|
149
|
+
HH: string;
|
|
150
|
+
HL: string;
|
|
151
|
+
LH: string;
|
|
152
|
+
LL: string;
|
|
153
|
+
CHOCH: string;
|
|
154
|
+
BOS: string;
|
|
155
|
+
}
|
|
156
|
+
/** Zones 指标颜色 */
|
|
157
|
+
export interface ZonesColors {
|
|
158
|
+
FVG_BULL_FILL: string;
|
|
159
|
+
FVG_BEAR_FILL: string;
|
|
160
|
+
FVG_BULL_BORDER: string;
|
|
161
|
+
FVG_BEAR_BORDER: string;
|
|
162
|
+
OB_BULL_FILL: string;
|
|
163
|
+
OB_BEAR_FILL: string;
|
|
164
|
+
}
|
|
165
|
+
/** 主题色值集合 */
|
|
166
|
+
export interface ThemeColors {
|
|
167
|
+
TEXT: TextColors;
|
|
168
|
+
PRICE: PriceColors;
|
|
169
|
+
TAG_BG: TagBgColors;
|
|
170
|
+
BORDER: BorderColors;
|
|
171
|
+
GRID: GridColors;
|
|
172
|
+
CROSSHAIR: CrosshairColors;
|
|
173
|
+
MA: MAColors;
|
|
174
|
+
BOLL: BOLLColors;
|
|
175
|
+
MACD: MACDColors;
|
|
176
|
+
VOLUME: VolumeColors;
|
|
177
|
+
RSI: RSIColors;
|
|
178
|
+
CCI: CCIColors;
|
|
179
|
+
KDJ: KDJColors;
|
|
180
|
+
MOM: MOMColors;
|
|
181
|
+
WMSR: WMSRColors;
|
|
182
|
+
KST: KSTColors;
|
|
183
|
+
EXPMA: EXPMAColors;
|
|
184
|
+
ENE: ENEColors;
|
|
185
|
+
/** 收敛的硬编码色值 */
|
|
186
|
+
LABEL: LabelColors;
|
|
187
|
+
LAST_PRICE_LABEL: LastPriceLabelColors;
|
|
188
|
+
VOLUME_PRICE: VolumePriceColors;
|
|
189
|
+
STRUCTURE: StructureColors;
|
|
190
|
+
ZONES: ZonesColors;
|
|
191
|
+
WMSR_GRID: string;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* 根据主题获取颜色配置
|
|
195
|
+
* @param theme - 主题类型 'light' | 'dark'
|
|
196
|
+
* @returns 主题色值集合
|
|
197
|
+
*/
|
|
198
|
+
export declare function getColors(theme: ChartTheme): ThemeColors;
|
|
199
|
+
/**
|
|
200
|
+
* 日志颜色(与主题无关,保留常量导出)
|
|
228
201
|
*/
|
|
229
202
|
export declare const LOG_COLORS: {
|
|
230
203
|
readonly INFO: "background:#164586;color:#fff;";
|
|
@@ -235,9 +208,15 @@ export declare const LOG_COLORS: {
|
|
|
235
208
|
};
|
|
236
209
|
/**
|
|
237
210
|
* 工具函数:根据涨跌返回颜色
|
|
211
|
+
* @param type - 涨跌类型
|
|
212
|
+
* @param theme - 主题类型
|
|
213
|
+
* @returns 对应颜色
|
|
238
214
|
*/
|
|
239
|
-
export declare function getPriceColor(type: 'up' | 'down' | 'neutral'
|
|
215
|
+
export declare function getPriceColor(type: 'up' | 'down' | 'neutral', theme?: ChartTheme): string;
|
|
240
216
|
/**
|
|
241
217
|
* 工具函数:根据涨跌百分比返回颜色
|
|
218
|
+
* @param changePercent - 涨跌百分比
|
|
219
|
+
* @param theme - 主题类型
|
|
220
|
+
* @returns 对应颜色
|
|
242
221
|
*/
|
|
243
|
-
export declare function getTickColor(changePercent: number
|
|
222
|
+
export declare function getTickColor(changePercent: number, theme?: ChartTheme): string;
|
|
@@ -5,6 +5,7 @@ export declare class PluginHostImpl implements PluginHost {
|
|
|
5
5
|
private hookSystem;
|
|
6
6
|
private configManager;
|
|
7
7
|
private stateStore;
|
|
8
|
+
private services;
|
|
8
9
|
private isDestroyed;
|
|
9
10
|
private logger;
|
|
10
11
|
constructor(logger?: PluginLogger);
|
|
@@ -29,6 +30,8 @@ export declare class PluginHostImpl implements PluginHost {
|
|
|
29
30
|
clearSharedState(namespace: string): void;
|
|
30
31
|
registerStateOwner(ownerId: string, namespaces: string[]): void;
|
|
31
32
|
clearByOwner(ownerId: string): void;
|
|
33
|
+
registerService(name: string, service: unknown): void;
|
|
34
|
+
getService<T = unknown>(name: string): T | undefined;
|
|
32
35
|
/**
|
|
33
36
|
* 安装插件
|
|
34
37
|
*/
|
|
@@ -87,6 +87,10 @@ export interface PluginHost {
|
|
|
87
87
|
registerStateOwner(ownerId: string, namespaces: string[]): void;
|
|
88
88
|
/** 按拥有者清除状态 */
|
|
89
89
|
clearByOwner(ownerId: string): void;
|
|
90
|
+
/** 注册服务 */
|
|
91
|
+
registerService(name: string, service: unknown): void;
|
|
92
|
+
/** 获取已注册的服务 */
|
|
93
|
+
getService<T = unknown>(name: string): T | undefined;
|
|
90
94
|
}
|
|
91
95
|
/** Pane 角色 */
|
|
92
96
|
export type PaneRole = 'price' | 'indicator' | 'auxiliary';
|
|
@@ -252,6 +256,8 @@ export interface RenderContext {
|
|
|
252
256
|
yAxisRanges?: YAxisRange[];
|
|
253
257
|
/** 需要在X轴上绘制的范围带列表(由绘图渲染器填充,先于标签绘制) */
|
|
254
258
|
xAxisRanges?: XAxisRange[];
|
|
259
|
+
/** 当前主题 */
|
|
260
|
+
theme: import('../core/theme/colors').ChartTheme;
|
|
255
261
|
}
|
|
256
262
|
export type DrawingAnchor = {
|
|
257
263
|
id: string;
|
|
@@ -140,6 +140,65 @@ export interface SubIndicatorParams {
|
|
|
140
140
|
DONCHIAN?: {
|
|
141
141
|
period?: number;
|
|
142
142
|
};
|
|
143
|
+
ICHIMOKU?: {
|
|
144
|
+
tenkanPeriod?: number;
|
|
145
|
+
kijunPeriod?: number;
|
|
146
|
+
spanBPeriod?: number;
|
|
147
|
+
displacement?: number;
|
|
148
|
+
};
|
|
149
|
+
ROC?: {
|
|
150
|
+
period?: number;
|
|
151
|
+
};
|
|
152
|
+
TRIX?: {
|
|
153
|
+
period?: number;
|
|
154
|
+
signalPeriod?: number;
|
|
155
|
+
};
|
|
156
|
+
HV?: {
|
|
157
|
+
period?: number;
|
|
158
|
+
annualizationFactor?: number;
|
|
159
|
+
};
|
|
160
|
+
PARKINSON?: {
|
|
161
|
+
period?: number;
|
|
162
|
+
annualizationFactor?: number;
|
|
163
|
+
};
|
|
164
|
+
CHAIKIN_VOL?: {
|
|
165
|
+
emaPeriod?: number;
|
|
166
|
+
rocPeriod?: number;
|
|
167
|
+
};
|
|
168
|
+
VMA?: {
|
|
169
|
+
period?: number;
|
|
170
|
+
};
|
|
171
|
+
OBV?: Record<string, never>;
|
|
172
|
+
PVT?: Record<string, never>;
|
|
173
|
+
VWAP?: {
|
|
174
|
+
sessionResetGapMs?: number;
|
|
175
|
+
};
|
|
176
|
+
CMF?: {
|
|
177
|
+
period?: number;
|
|
178
|
+
};
|
|
179
|
+
MFI?: {
|
|
180
|
+
period?: number;
|
|
181
|
+
};
|
|
182
|
+
PIVOT?: Record<string, never>;
|
|
183
|
+
FIB?: {
|
|
184
|
+
period?: number;
|
|
185
|
+
};
|
|
186
|
+
STRUCTURE?: {
|
|
187
|
+
leftWindow?: number;
|
|
188
|
+
rightWindow?: number;
|
|
189
|
+
breakoutSource?: 'close' | 'wick';
|
|
190
|
+
};
|
|
191
|
+
ZONES?: {
|
|
192
|
+
showFVG?: boolean;
|
|
193
|
+
showOB?: boolean;
|
|
194
|
+
showFilledZones?: boolean;
|
|
195
|
+
obLookback?: number;
|
|
196
|
+
};
|
|
197
|
+
VOLUME_PROFILE?: {
|
|
198
|
+
bins?: number;
|
|
199
|
+
lookback?: number;
|
|
200
|
+
valueAreaPercent?: number;
|
|
201
|
+
};
|
|
143
202
|
}
|
|
144
203
|
/** 副图指标类型 */
|
|
145
204
|
export type SubIndicatorType = keyof SubIndicatorParams;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { KLineData } from '../../types/price';
|
|
2
2
|
import { drawOption, PriceRange } from './kLine';
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
7
|
-
export declare
|
|
8
|
-
export declare function drawMA5Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[]): void;
|
|
9
|
-
export declare function drawMA10Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[]): void;
|
|
10
|
-
export declare function drawMA20Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[]): void;
|
|
11
|
-
export declare function drawMA30Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[]): void;
|
|
12
|
-
export declare function drawMA60Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[]): void;
|
|
3
|
+
export declare function drawMA5Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[], theme?: 'light' | 'dark'): void;
|
|
4
|
+
export declare function drawMA10Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[], theme?: 'light' | 'dark'): void;
|
|
5
|
+
export declare function drawMA20Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[], theme?: 'light' | 'dark'): void;
|
|
6
|
+
export declare function drawMA30Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[], theme?: 'light' | 'dark'): void;
|
|
7
|
+
export declare function drawMA60Line(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, kLinePositions?: number[], theme?: 'light' | 'dark'): void;
|
|
@@ -24,7 +24,7 @@ export interface PriceAxisOptions {
|
|
|
24
24
|
priceOffset?: number;
|
|
25
25
|
}
|
|
26
26
|
/** 右侧价格轴(固定,不随 translate/scroll 变化) */
|
|
27
|
-
export declare function drawPriceAxis(ctx: CanvasRenderingContext2D, opts: PriceAxisOptions): void;
|
|
27
|
+
export declare function drawPriceAxis(ctx: CanvasRenderingContext2D, opts: PriceAxisOptions, theme?: 'light' | 'dark'): void;
|
|
28
28
|
export interface TimeAxisOptions {
|
|
29
29
|
x: number;
|
|
30
30
|
y: number;
|
|
@@ -113,12 +113,12 @@ export interface CrosshairTimeLabelOptions {
|
|
|
113
113
|
paddingX?: number;
|
|
114
114
|
paddingY?: number;
|
|
115
115
|
}
|
|
116
|
-
export declare function drawCrosshairTimeLabel(ctx: CanvasRenderingContext2D, opts: CrosshairTimeLabelOptions): void;
|
|
117
|
-
export declare function drawCrosshairPriceLabel(ctx: CanvasRenderingContext2D, opts: CrosshairPriceLabelOptions): void;
|
|
116
|
+
export declare function drawCrosshairTimeLabel(ctx: CanvasRenderingContext2D, opts: CrosshairTimeLabelOptions, theme?: 'light' | 'dark'): void;
|
|
117
|
+
export declare function drawCrosshairPriceLabel(ctx: CanvasRenderingContext2D, opts: CrosshairPriceLabelOptions, theme?: 'light' | 'dark'): void;
|
|
118
118
|
/** 绘制"最新价水平虚线"(画在 plotCanvas 的 world 坐标系:需在 translate(-scrollLeft,0) 之后调用) */
|
|
119
|
-
export declare function drawLastPriceDashedLine(ctx: CanvasRenderingContext2D, opts: LastPriceLineOptions): void;
|
|
119
|
+
export declare function drawLastPriceDashedLine(ctx: CanvasRenderingContext2D, opts: LastPriceLineOptions, theme?: 'light' | 'dark'): void;
|
|
120
120
|
/** 底部时间轴(X方向随 scrollLeft 变化) */
|
|
121
|
-
export declare function drawTimeAxis(ctx: CanvasRenderingContext2D, opts: TimeAxisOptions): void;
|
|
121
|
+
export declare function drawTimeAxis(ctx: CanvasRenderingContext2D, opts: TimeAxisOptions, theme?: 'light' | 'dark'): void;
|
|
122
122
|
/** ============ 轴标签绘制函数 ============ */
|
|
123
123
|
export interface AxisPriceLabelOptions {
|
|
124
124
|
x: number;
|
|
@@ -133,7 +133,7 @@ export interface AxisPriceLabelOptions {
|
|
|
133
133
|
textColor?: string;
|
|
134
134
|
fontSize?: number;
|
|
135
135
|
}
|
|
136
|
-
export declare function drawAxisPriceLabel(ctx: CanvasRenderingContext2D, opts: AxisPriceLabelOptions): void;
|
|
136
|
+
export declare function drawAxisPriceLabel(ctx: CanvasRenderingContext2D, opts: AxisPriceLabelOptions, theme?: 'light' | 'dark'): void;
|
|
137
137
|
export interface AxisTimeLabelOptions {
|
|
138
138
|
x: number;
|
|
139
139
|
y: number;
|
|
@@ -147,4 +147,4 @@ export interface AxisTimeLabelOptions {
|
|
|
147
147
|
fontSize?: number;
|
|
148
148
|
paddingX?: number;
|
|
149
149
|
}
|
|
150
|
-
export declare function drawAxisTimeLabel(ctx: CanvasRenderingContext2D, opts: AxisTimeLabelOptions): void;
|
|
150
|
+
export declare function drawAxisTimeLabel(ctx: CanvasRenderingContext2D, opts: AxisTimeLabelOptions, theme?: 'light' | 'dark'): void;
|
|
@@ -24,7 +24,7 @@ export interface GridOption {
|
|
|
24
24
|
*/
|
|
25
25
|
export declare function drawGridLayer(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr: number, startIndex: number, endIndex: number, priceRange: PriceRange,
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* 右侧价格轴所在的"世界坐标X"(在 translate(-scrollLeft, 0) 之后的坐标系里)
|
|
28
28
|
* 通常传入:scrollLeft + viewWidth
|
|
29
29
|
*/
|
|
30
|
-
axisRightX: number, gridOpt?: GridOption): void;
|
|
30
|
+
axisRightX: number, gridOpt?: GridOption, theme?: 'light' | 'dark'): void;
|
|
@@ -12,4 +12,4 @@ export interface PriceRange {
|
|
|
12
12
|
* @deprecated
|
|
13
13
|
* K线图绘制 - 影线固定为 1 物理像素宽
|
|
14
14
|
*/
|
|
15
|
-
export declare function kLineDraw(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange): void;
|
|
15
|
+
export declare function kLineDraw(ctx: CanvasRenderingContext2D, data: KLineData[], option: drawOption, logicHeight: number, dpr?: number, startIndex?: number, endIndex?: number, priceRange?: PriceRange, theme?: 'light' | 'dark'): void;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { KLineData } from '../../types/price';
|
|
2
2
|
export { formatShanghaiDate } from '../dateFormat';
|
|
3
|
-
export declare
|
|
4
|
-
export declare const DOWN_COLOR: "rgba(3, 123, 102, 1)";
|
|
5
|
-
export declare const NEUTRAL_COLOR: "rgba(0, 0, 0, 0.78)";
|
|
6
|
-
export declare function getUpDownColor(delta: number): string;
|
|
3
|
+
export declare function getUpDownColor(delta: number, theme?: 'light' | 'dark'): string;
|
|
7
4
|
/** 成交量/成交额单位换算:万/亿 */
|
|
8
5
|
export declare function formatWanYi(n: number, digits?: number): string;
|
|
9
6
|
export declare function formatSignedNumber(n: number, digits?: number): string;
|
|
10
7
|
export declare function formatPercent(n: number, digits?: number): string;
|
|
11
8
|
export declare function formatSignedPercent(n: number, digits?: number): string;
|
|
12
|
-
export declare function calcOpenColor(k: KLineData, prev?: KLineData): string;
|
|
13
|
-
export declare function calcCloseColor(k: KLineData): string;
|
|
14
|
-
export declare function calcChangeColor(k: KLineData): string;
|
|
9
|
+
export declare function calcOpenColor(k: KLineData, prev?: KLineData, theme?: 'light' | 'dark'): string;
|
|
10
|
+
export declare function calcCloseColor(k: KLineData, theme?: 'light' | 'dark'): string;
|
|
11
|
+
export declare function calcChangeColor(k: KLineData, theme?: 'light' | 'dark'): string;
|