@363045841yyt/klinechart-core 0.7.3 → 0.7.5
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/README.md +201 -201
- package/README.zh-CN.md +201 -201
- package/dist/controllers/index.d.ts +1 -0
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +1 -0
- package/dist/controllers/index.js.map +1 -1
- package/dist/engine/chart.d.ts +11 -19
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +92 -109
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/renderers/Indicator/indicatorData.d.ts +1 -0
- package/dist/engine/renderers/Indicator/indicatorData.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/indicatorData.js +1 -1
- package/dist/engine/renderers/Indicator/indicatorData.js.map +1 -1
- package/dist/engine/renderers/webgl/candleSurface.js +47 -47
- package/dist/engine/subPaneManager.d.ts +4 -0
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +13 -0
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -2
- package/dist/version.js.map +1 -1
- package/package.json +129 -122
- package/src/__tests__/signal.test.ts +124 -124
- package/src/config/chartSettings.ts +66 -66
- package/src/controllers/__tests__/drawing.test.ts +214 -214
- package/src/controllers/__tests__/indicatorSelector.test.ts +481 -481
- package/src/controllers/__tests__/toolbar.test.ts +225 -225
- package/src/controllers/createChartController.ts +665 -665
- package/src/controllers/createDrawingController.ts +96 -96
- package/src/controllers/createIndicatorSelectorController.ts +307 -307
- package/src/controllers/createToolbarController.ts +146 -146
- package/src/controllers/index.ts +20 -19
- package/src/controllers/types.ts +284 -284
- package/src/engine/__tests__/chart.dpr.test.ts +401 -401
- package/src/engine/__tests__/paneRenderer.resize.test.ts +92 -92
- package/src/engine/chart-store.ts +121 -121
- package/src/engine/chart.d.ts +617 -617
- package/src/engine/chart.ts +2803 -2815
- package/src/engine/controller/__tests__/interaction.dpr.test.ts +259 -259
- package/src/engine/controller/interaction.ts +722 -722
- package/src/engine/controller/markerInteraction.ts +130 -130
- package/src/engine/controller/pinchTracker.ts +82 -82
- package/src/engine/controller/tooltipPosition.ts +48 -48
- package/src/engine/draw/__tests__/pixelAlign.spec.ts +176 -176
- package/src/engine/draw/pixelAlign.ts +259 -259
- package/src/engine/drawing/index.ts +655 -655
- package/src/engine/drawing/interaction.ts +842 -842
- package/src/engine/drawing/plugin.ts +343 -343
- package/src/engine/indicators/__tests__/__fixtures__/golden/atr.json +38 -38
- package/src/engine/indicators/__tests__/__fixtures__/golden/dema.json +14 -14
- package/src/engine/indicators/__tests__/__fixtures__/golden/hma.json +14 -14
- package/src/engine/indicators/__tests__/__fixtures__/golden/index.ts +55 -55
- package/src/engine/indicators/__tests__/__fixtures__/golden/kama.json +14 -14
- package/src/engine/indicators/__tests__/__fixtures__/golden/tema.json +14 -14
- package/src/engine/indicators/__tests__/__fixtures__/golden/wma.json +40 -40
- package/src/engine/indicators/__tests__/__fixtures__/synthetic.ts +65 -65
- package/src/engine/indicators/__tests__/_propertyAssertions.ts +76 -76
- package/src/engine/indicators/__tests__/atr.test.ts +153 -153
- package/src/engine/indicators/__tests__/calculators.test.ts +614 -614
- package/src/engine/indicators/__tests__/cmf-mfi.test.ts +100 -100
- package/src/engine/indicators/__tests__/dema.test.ts +73 -73
- package/src/engine/indicators/__tests__/donchian.test.ts +70 -70
- package/src/engine/indicators/__tests__/hma.test.ts +73 -73
- package/src/engine/indicators/__tests__/ichimoku.test.ts +105 -105
- package/src/engine/indicators/__tests__/kama.test.ts +80 -80
- package/src/engine/indicators/__tests__/keltner.test.ts +65 -65
- package/src/engine/indicators/__tests__/pivot-fib.test.ts +110 -110
- package/src/engine/indicators/__tests__/roc.test.ts +68 -68
- package/src/engine/indicators/__tests__/sar.test.ts +86 -86
- package/src/engine/indicators/__tests__/scheduler.test.ts +831 -831
- package/src/engine/indicators/__tests__/soa.test.ts +533 -533
- package/src/engine/indicators/__tests__/structure.test.ts +110 -110
- package/src/engine/indicators/__tests__/supertrend.test.ts +65 -65
- package/src/engine/indicators/__tests__/tema.test.ts +68 -68
- package/src/engine/indicators/__tests__/trix.test.ts +70 -70
- package/src/engine/indicators/__tests__/volatility.test.ts +117 -117
- package/src/engine/indicators/__tests__/volume.test.ts +115 -115
- package/src/engine/indicators/__tests__/volumeProfile.test.ts +74 -74
- package/src/engine/indicators/__tests__/vwap.test.ts +69 -69
- package/src/engine/indicators/__tests__/wma.test.ts +112 -112
- package/src/engine/indicators/__tests__/zones.test.ts +95 -95
- package/src/engine/indicators/atrState.ts +27 -27
- package/src/engine/indicators/bollState.ts +51 -51
- package/src/engine/indicators/calculators.ts +2593 -2593
- package/src/engine/indicators/cciState.ts +25 -25
- package/src/engine/indicators/chaikinVolState.ts +32 -32
- package/src/engine/indicators/cmfState.ts +27 -27
- package/src/engine/indicators/demaState.ts +27 -27
- package/src/engine/indicators/donchianState.ts +43 -43
- package/src/engine/indicators/eneState.ts +43 -43
- package/src/engine/indicators/expmaState.ts +43 -43
- package/src/engine/indicators/fastkState.ts +25 -25
- package/src/engine/indicators/fibState.ts +41 -41
- package/src/engine/indicators/hmaState.ts +27 -27
- package/src/engine/indicators/hvState.ts +28 -28
- package/src/engine/indicators/ichimokuState.ts +70 -70
- package/src/engine/indicators/indicator.worker.ts +169 -169
- package/src/engine/indicators/indicatorDefinitionRegistry.ts +62 -62
- package/src/engine/indicators/indicatorMetadata.ts +110 -110
- package/src/engine/indicators/indicatorRegistry.ts +106 -106
- package/src/engine/indicators/indicatorRuntime.ts +1548 -1548
- package/src/engine/indicators/kamaState.ts +34 -34
- package/src/engine/indicators/keltnerState.ts +49 -49
- package/src/engine/indicators/kstState.ts +42 -42
- package/src/engine/indicators/maState.ts +36 -36
- package/src/engine/indicators/macdState.ts +76 -76
- package/src/engine/indicators/mfiState.ts +27 -27
- package/src/engine/indicators/momState.ts +25 -25
- package/src/engine/indicators/obvState.ts +25 -25
- package/src/engine/indicators/parkinsonState.ts +28 -28
- package/src/engine/indicators/pivotState.ts +51 -51
- package/src/engine/indicators/pvtState.ts +25 -25
- package/src/engine/indicators/rocState.ts +27 -27
- package/src/engine/indicators/rsiState.ts +65 -65
- package/src/engine/indicators/sarState.ts +41 -41
- package/src/engine/indicators/scheduler.ts +1205 -1205
- package/src/engine/indicators/soa.ts +352 -352
- package/src/engine/indicators/stateComposer.ts +1262 -1262
- package/src/engine/indicators/stochState.ts +26 -26
- package/src/engine/indicators/structureState.ts +69 -69
- package/src/engine/indicators/supertrendState.ts +37 -37
- package/src/engine/indicators/temaState.ts +27 -27
- package/src/engine/indicators/trixState.ts +35 -35
- package/src/engine/indicators/vmaState.ts +27 -27
- package/src/engine/indicators/volumeProfileState.ts +63 -63
- package/src/engine/indicators/vwapState.ts +29 -29
- package/src/engine/indicators/wmaState.ts +27 -27
- package/src/engine/indicators/wmsrState.ts +25 -25
- package/src/engine/indicators/workerProtocol.ts +613 -613
- package/src/engine/indicators/zonesState.ts +47 -47
- package/src/engine/layout/pane.ts +161 -161
- package/src/engine/marker/registry.ts +265 -265
- package/src/engine/paneRenderer.ts +169 -169
- package/src/engine/renderers/Indicator/atr.ts +237 -237
- package/src/engine/renderers/Indicator/boll.ts +317 -317
- package/src/engine/renderers/Indicator/cci.ts +275 -275
- package/src/engine/renderers/Indicator/chaikinVol.ts +138 -138
- package/src/engine/renderers/Indicator/cmf.ts +137 -137
- package/src/engine/renderers/Indicator/dema.ts +136 -136
- package/src/engine/renderers/Indicator/donchian.ts +137 -137
- package/src/engine/renderers/Indicator/ene.ts +271 -271
- package/src/engine/renderers/Indicator/expma.ts +197 -197
- package/src/engine/renderers/Indicator/fastk.ts +316 -316
- package/src/engine/renderers/Indicator/fib.ts +141 -141
- package/src/engine/renderers/Indicator/hma.ts +136 -136
- package/src/engine/renderers/Indicator/hv.ts +124 -124
- package/src/engine/renderers/Indicator/ichimoku.ts +181 -181
- package/src/engine/renderers/Indicator/index.ts +241 -241
- package/src/engine/renderers/Indicator/indicatorData.ts +650 -650
- package/src/engine/renderers/Indicator/kama.ts +136 -136
- package/src/engine/renderers/Indicator/keltner.ts +137 -137
- package/src/engine/renderers/Indicator/kst.ts +302 -302
- package/src/engine/renderers/Indicator/ma.ts +200 -200
- package/src/engine/renderers/Indicator/macd.ts +477 -477
- package/src/engine/renderers/Indicator/macdLegend.ts +141 -141
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +272 -272
- package/src/engine/renderers/Indicator/mfi.ts +142 -142
- package/src/engine/renderers/Indicator/mom.ts +311 -311
- package/src/engine/renderers/Indicator/obv.ts +123 -123
- package/src/engine/renderers/Indicator/parkinson.ts +124 -124
- package/src/engine/renderers/Indicator/pivot.ts +131 -131
- package/src/engine/renderers/Indicator/pvt.ts +123 -123
- package/src/engine/renderers/Indicator/roc.ts +143 -143
- package/src/engine/renderers/Indicator/rsi.ts +390 -390
- package/src/engine/renderers/Indicator/sar.ts +113 -113
- package/src/engine/renderers/Indicator/scale/atr_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/cci_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/fastk_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/indicator_scale.ts +204 -204
- package/src/engine/renderers/Indicator/scale/kst_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/macd_scale.ts +22 -22
- package/src/engine/renderers/Indicator/scale/mom_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/rsi_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/stoch_scale.ts +19 -19
- package/src/engine/renderers/Indicator/scale/volume_scale.ts +26 -26
- package/src/engine/renderers/Indicator/scale/wmsr_scale.ts +19 -19
- package/src/engine/renderers/Indicator/stoch.ts +359 -359
- package/src/engine/renderers/Indicator/structure.ts +126 -126
- package/src/engine/renderers/Indicator/subPaneConfig.ts +265 -265
- package/src/engine/renderers/Indicator/supertrend.ts +115 -115
- package/src/engine/renderers/Indicator/tema.ts +136 -136
- package/src/engine/renderers/Indicator/trix.ts +158 -158
- package/src/engine/renderers/Indicator/vma.ts +124 -124
- package/src/engine/renderers/Indicator/volumeProfile.ts +125 -125
- package/src/engine/renderers/Indicator/vwap.ts +123 -123
- package/src/engine/renderers/Indicator/wma.ts +136 -136
- package/src/engine/renderers/Indicator/wmsr.ts +328 -328
- package/src/engine/renderers/Indicator/zones.ts +104 -104
- package/src/engine/renderers/__tests__/boll.renderer.test.ts +314 -314
- package/src/engine/renderers/__tests__/ene.renderer.test.ts +305 -305
- package/src/engine/renderers/__tests__/expma.renderer.test.ts +279 -279
- package/src/engine/renderers/__tests__/ma.renderer.test.ts +426 -426
- package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +502 -502
- package/src/engine/renderers/__tests__/yAxis.renderer.test.ts +173 -173
- package/src/engine/renderers/candle.ts +459 -459
- package/src/engine/renderers/crosshair.ts +69 -69
- package/src/engine/renderers/customMarkers.ts +162 -162
- package/src/engine/renderers/extremaMarkers.ts +246 -246
- package/src/engine/renderers/gridLines.ts +90 -90
- package/src/engine/renderers/lastPrice.ts +97 -97
- package/src/engine/renderers/paneTitle.ts +136 -136
- package/src/engine/renderers/subVolume.ts +236 -236
- package/src/engine/renderers/timeAxis.ts +121 -121
- package/src/engine/renderers/webgl/candleSurface.ts +955 -955
- package/src/engine/renderers/webgl/sharedWebGLSurface.ts +146 -146
- package/src/engine/renderers/yAxis.ts +105 -105
- package/src/engine/scale/__tests__/logFormula.spec.ts +148 -148
- package/src/engine/scale/logFormula.ts +130 -130
- package/src/engine/scale/price.ts +39 -39
- package/src/engine/scale/priceScale.ts +264 -264
- package/src/engine/subPaneManager.ts +442 -427
- package/src/engine/theme/colors.ts +642 -642
- package/src/engine/theme/fonts.ts +20 -20
- package/src/engine/utils/klineConfig.ts +49 -49
- package/src/engine/utils/tickCount.ts +11 -11
- package/src/engine/utils/tickPosition.ts +214 -214
- package/src/engine/utils/zoom.ts +83 -83
- package/src/engine/viewport/viewport.ts +67 -67
- package/src/index.ts +3 -3
- package/src/plugin/ConfigManager.ts +93 -93
- package/src/plugin/EventBus.ts +77 -77
- package/src/plugin/HookSystem.ts +106 -106
- package/src/plugin/PluginHost.ts +243 -243
- package/src/plugin/PluginRegistry.ts +92 -92
- package/src/plugin/StateStore.ts +73 -73
- package/src/plugin/index.ts +19 -19
- package/src/plugin/rendererPluginManager.ts +368 -368
- package/src/plugin/stateKeys.ts +8 -8
- package/src/plugin/types.ts +526 -526
- package/src/reactivity/index.ts +2 -2
- package/src/reactivity/signal.ts +119 -119
- package/src/semantic/controller.ts +251 -251
- package/src/semantic/drawShape.ts +260 -260
- package/src/semantic/index.ts +28 -28
- package/src/semantic/schema.json +256 -256
- package/src/semantic/types.ts +251 -251
- package/src/semantic/validator.ts +349 -349
- package/src/types/kLine.ts +13 -13
- package/src/types/price.ts +56 -56
- package/src/types/volumePrice.ts +33 -33
- package/src/utils/dateFormat.ts +208 -208
- package/src/utils/kLineDraw/axis.ts +562 -562
- package/src/utils/priceToY.ts +34 -34
- package/src/utils/volumePrice.ts +202 -202
- package/src/version.ts +1 -1
|
@@ -1,241 +1,241 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 指标渲染器导出入口
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { RendererPlugin } from '../../../plugin'
|
|
6
|
-
import { createVolumeRendererPlugin } from '../subVolume'
|
|
7
|
-
|
|
8
|
-
// MA 均线
|
|
9
|
-
export { createMARendererPlugin, type MAFlags } from './ma'
|
|
10
|
-
|
|
11
|
-
// BOLL 布林带
|
|
12
|
-
export { createBOLLRendererPlugin } from './boll'
|
|
13
|
-
|
|
14
|
-
// EXPMA 指数平滑移动平均线
|
|
15
|
-
export { createEXPMARendererPlugin } from './expma'
|
|
16
|
-
|
|
17
|
-
// ENE 轨道线
|
|
18
|
-
export { createENERendererPlugin } from './ene'
|
|
19
|
-
|
|
20
|
-
// 主图指标图例(统一管理 MA、BOLL 等)
|
|
21
|
-
export { createMainIndicatorLegendRendererPlugin } from './mainIndicatorLegend'
|
|
22
|
-
|
|
23
|
-
// MACD
|
|
24
|
-
export { createMACDRendererPlugin, calcMACDAtIndex, type MACDConfig, type MACDRendererOptions, getMACDTitleInfo } from './macd'
|
|
25
|
-
export { createMACDLegendRendererPlugin, type MACDLegendOptions } from './macdLegend'
|
|
26
|
-
|
|
27
|
-
// RSI 相对强弱指标
|
|
28
|
-
export { createRSIRendererPlugin, type RSIRendererOptions, getRSITitleInfo } from './rsi'
|
|
29
|
-
|
|
30
|
-
// CCI 顺势指标
|
|
31
|
-
export { createCCIRendererPlugin, type CCIRendererOptions, getCCITitleInfo } from './cci'
|
|
32
|
-
|
|
33
|
-
// STOCH 随机指标
|
|
34
|
-
export { createSTOCHRendererPlugin, type STOCHRendererOptions, getSTOCHTitleInfo } from './stoch'
|
|
35
|
-
|
|
36
|
-
// MOM 动量指标
|
|
37
|
-
export { createMOMRendererPlugin, type MOMRendererOptions, getMOMTitleInfo } from './mom'
|
|
38
|
-
|
|
39
|
-
// WMSR 威廉指标
|
|
40
|
-
export { createWMSRRendererPlugin, type WMSRRendererOptions, getWMSRTitleInfo } from './wmsr'
|
|
41
|
-
|
|
42
|
-
// KST 确知指标
|
|
43
|
-
export { createKSTRendererPlugin, type KSTRendererOptions, getKSTTitleInfo } from './kst'
|
|
44
|
-
|
|
45
|
-
// FASTK 快速随机指标
|
|
46
|
-
export { createFASTKRendererPlugin, type FASTKRendererOptions, getFASTKTitleInfo } from './fastk'
|
|
47
|
-
|
|
48
|
-
// ATR 平均真实波幅
|
|
49
|
-
export { createATRRendererPlugin, type ATRRendererOptions, getATRTitleInfo } from './atr'
|
|
50
|
-
|
|
51
|
-
// WMA 加权移动平均
|
|
52
|
-
export { createWMARendererPlugin } from './wma'
|
|
53
|
-
// DEMA 双指数移动平均
|
|
54
|
-
export { createDEMARendererPlugin } from './dema'
|
|
55
|
-
// TEMA 三指数移动平均
|
|
56
|
-
export { createTEMARendererPlugin } from './tema'
|
|
57
|
-
// HMA 赫尔移动平均
|
|
58
|
-
export { createHMARendererPlugin } from './hma'
|
|
59
|
-
// KAMA 考夫曼自适应移动平均
|
|
60
|
-
export { createKAMARendererPlugin } from './kama'
|
|
61
|
-
// SAR 抛物线转向
|
|
62
|
-
export { createSARRendererPlugin } from './sar'
|
|
63
|
-
// SuperTrend 超级趋势
|
|
64
|
-
export { createSuperTrendRendererPlugin } from './supertrend'
|
|
65
|
-
// Keltner 肯特纳通道
|
|
66
|
-
export { createKeltnerRendererPlugin } from './keltner'
|
|
67
|
-
// Donchian 唐奇安通道
|
|
68
|
-
export { createDonchianRendererPlugin } from './donchian'
|
|
69
|
-
// Ichimoku 一目均衡表
|
|
70
|
-
export { createIchimokuRendererPlugin } from './ichimoku'
|
|
71
|
-
// ROC 变化率
|
|
72
|
-
export { createROCRendererPlugin } from './roc'
|
|
73
|
-
// TRIX 三重指数平滑平均
|
|
74
|
-
export { createTRIXRendererPlugin } from './trix'
|
|
75
|
-
// HV 历史波动率
|
|
76
|
-
export { createHVRendererPlugin } from './hv'
|
|
77
|
-
// Parkinson 帕金森波动率
|
|
78
|
-
export { createParkinsonRendererPlugin } from './parkinson'
|
|
79
|
-
// Chaikin Vol 蔡金波动率
|
|
80
|
-
export { createChaikinVolRendererPlugin } from './chaikinVol'
|
|
81
|
-
// VMA 成交量移动平均
|
|
82
|
-
export { createVMARendererPlugin } from './vma'
|
|
83
|
-
// OBV 能量潮
|
|
84
|
-
export { createOBVRendererPlugin } from './obv'
|
|
85
|
-
// PVT 价量趋势
|
|
86
|
-
export { createPVTRendererPlugin } from './pvt'
|
|
87
|
-
// VWAP 成交量加权均价
|
|
88
|
-
export { createVWAPRendererPlugin } from './vwap'
|
|
89
|
-
// CMF 蔡金资金流
|
|
90
|
-
export { createCMFRendererPlugin } from './cmf'
|
|
91
|
-
// MFI 资金流量指数
|
|
92
|
-
export { createMFIRendererPlugin } from './mfi'
|
|
93
|
-
// Pivot Points 枢轴点
|
|
94
|
-
export { createPivotRendererPlugin } from './pivot'
|
|
95
|
-
// Fibonacci 斐波那契
|
|
96
|
-
export { createFibRendererPlugin } from './fib'
|
|
97
|
-
// SMC Structure 结构
|
|
98
|
-
export { createStructureRendererPlugin } from './structure'
|
|
99
|
-
// SMC Zones 区域
|
|
100
|
-
export { createZonesRendererPlugin } from './zones'
|
|
101
|
-
// Volume Profile 成交量分布
|
|
102
|
-
export { createVolumeProfileRendererPlugin } from './volumeProfile'
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* 副图指标类型
|
|
106
|
-
*/
|
|
107
|
-
export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK' | 'ATR'
|
|
108
|
-
| 'WMA' | 'DEMA' | 'TEMA' | 'HMA' | 'KAMA' | 'SAR' | 'SUPERTREND' | 'KELTNER' | 'DONCHIAN' | 'ICHIMOKU'
|
|
109
|
-
| 'ROC' | 'TRIX' | 'HV' | 'PARKINSON' | 'CHAIKIN_VOL' | 'VMA' | 'OBV' | 'PVT' | 'VWAP'
|
|
110
|
-
| 'CMF' | 'MFI' | 'PIVOT' | 'FIB' | 'STRUCTURE' | 'ZONES' | 'VOLUME_PROFILE'
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* 渲染器工厂选项
|
|
114
|
-
*/
|
|
115
|
-
export interface IndicatorRendererOptions {
|
|
116
|
-
/** 指标类型 */
|
|
117
|
-
indicatorId: SubIndicatorType
|
|
118
|
-
/** 目标 pane ID */
|
|
119
|
-
paneId: string
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// 导入各个创建函数用于工厂函数
|
|
123
|
-
import { createMACDRendererPlugin } from './macd'
|
|
124
|
-
import { createRSIRendererPlugin } from './rsi'
|
|
125
|
-
import { createCCIRendererPlugin } from './cci'
|
|
126
|
-
import { createSTOCHRendererPlugin } from './stoch'
|
|
127
|
-
import { createMOMRendererPlugin } from './mom'
|
|
128
|
-
import { createWMSRRendererPlugin } from './wmsr'
|
|
129
|
-
import { createKSTRendererPlugin } from './kst'
|
|
130
|
-
import { createFASTKRendererPlugin } from './fastk'
|
|
131
|
-
import { createATRRendererPlugin } from './atr'
|
|
132
|
-
import { createWMARendererPlugin } from './wma'
|
|
133
|
-
import { createDEMARendererPlugin } from './dema'
|
|
134
|
-
import { createTEMARendererPlugin } from './tema'
|
|
135
|
-
import { createHMARendererPlugin } from './hma'
|
|
136
|
-
import { createKAMARendererPlugin } from './kama'
|
|
137
|
-
import { createSARRendererPlugin } from './sar'
|
|
138
|
-
import { createSuperTrendRendererPlugin } from './supertrend'
|
|
139
|
-
import { createKeltnerRendererPlugin } from './keltner'
|
|
140
|
-
import { createDonchianRendererPlugin } from './donchian'
|
|
141
|
-
import { createIchimokuRendererPlugin } from './ichimoku'
|
|
142
|
-
import { createROCRendererPlugin } from './roc'
|
|
143
|
-
import { createTRIXRendererPlugin } from './trix'
|
|
144
|
-
import { createHVRendererPlugin } from './hv'
|
|
145
|
-
import { createParkinsonRendererPlugin } from './parkinson'
|
|
146
|
-
import { createChaikinVolRendererPlugin } from './chaikinVol'
|
|
147
|
-
import { createVMARendererPlugin } from './vma'
|
|
148
|
-
import { createOBVRendererPlugin } from './obv'
|
|
149
|
-
import { createPVTRendererPlugin } from './pvt'
|
|
150
|
-
import { createVWAPRendererPlugin } from './vwap'
|
|
151
|
-
import { createCMFRendererPlugin } from './cmf'
|
|
152
|
-
import { createMFIRendererPlugin } from './mfi'
|
|
153
|
-
import { createPivotRendererPlugin } from './pivot'
|
|
154
|
-
import { createFibRendererPlugin } from './fib'
|
|
155
|
-
import { createStructureRendererPlugin } from './structure'
|
|
156
|
-
import { createZonesRendererPlugin } from './zones'
|
|
157
|
-
import { createVolumeProfileRendererPlugin } from './volumeProfile'
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* 创建副图指标渲染器(统一工厂函数)
|
|
161
|
-
*/
|
|
162
|
-
export function createSubIndicatorRenderer(options: IndicatorRendererOptions): RendererPlugin {
|
|
163
|
-
const { indicatorId, paneId } = options
|
|
164
|
-
|
|
165
|
-
switch (indicatorId) {
|
|
166
|
-
case 'VOLUME':
|
|
167
|
-
return createVolumeRendererPlugin({ paneId })
|
|
168
|
-
case 'MACD':
|
|
169
|
-
return createMACDRendererPlugin({ paneId })
|
|
170
|
-
case 'RSI':
|
|
171
|
-
return createRSIRendererPlugin({ paneId })
|
|
172
|
-
case 'CCI':
|
|
173
|
-
return createCCIRendererPlugin({ paneId })
|
|
174
|
-
case 'STOCH':
|
|
175
|
-
return createSTOCHRendererPlugin({ paneId })
|
|
176
|
-
case 'MOM':
|
|
177
|
-
return createMOMRendererPlugin({ paneId })
|
|
178
|
-
case 'WMSR':
|
|
179
|
-
return createWMSRRendererPlugin({ paneId })
|
|
180
|
-
case 'KST':
|
|
181
|
-
return createKSTRendererPlugin({ paneId })
|
|
182
|
-
case 'FASTK':
|
|
183
|
-
return createFASTKRendererPlugin({ paneId })
|
|
184
|
-
case 'ATR':
|
|
185
|
-
return createATRRendererPlugin({ paneId })
|
|
186
|
-
case 'WMA':
|
|
187
|
-
return createWMARendererPlugin({ paneId })
|
|
188
|
-
case 'DEMA':
|
|
189
|
-
return createDEMARendererPlugin({ paneId })
|
|
190
|
-
case 'TEMA':
|
|
191
|
-
return createTEMARendererPlugin({ paneId })
|
|
192
|
-
case 'HMA':
|
|
193
|
-
return createHMARendererPlugin({ paneId })
|
|
194
|
-
case 'KAMA':
|
|
195
|
-
return createKAMARendererPlugin({ paneId })
|
|
196
|
-
case 'SAR':
|
|
197
|
-
return createSARRendererPlugin({ paneId })
|
|
198
|
-
case 'SUPERTREND':
|
|
199
|
-
return createSuperTrendRendererPlugin({ paneId })
|
|
200
|
-
case 'KELTNER':
|
|
201
|
-
return createKeltnerRendererPlugin({ paneId })
|
|
202
|
-
case 'DONCHIAN':
|
|
203
|
-
return createDonchianRendererPlugin({ paneId })
|
|
204
|
-
case 'ICHIMOKU':
|
|
205
|
-
return createIchimokuRendererPlugin({ paneId })
|
|
206
|
-
case 'ROC':
|
|
207
|
-
return createROCRendererPlugin({ paneId })
|
|
208
|
-
case 'TRIX':
|
|
209
|
-
return createTRIXRendererPlugin({ paneId })
|
|
210
|
-
case 'HV':
|
|
211
|
-
return createHVRendererPlugin({ paneId })
|
|
212
|
-
case 'PARKINSON':
|
|
213
|
-
return createParkinsonRendererPlugin({ paneId })
|
|
214
|
-
case 'CHAIKIN_VOL':
|
|
215
|
-
return createChaikinVolRendererPlugin({ paneId })
|
|
216
|
-
case 'VMA':
|
|
217
|
-
return createVMARendererPlugin({ paneId })
|
|
218
|
-
case 'OBV':
|
|
219
|
-
return createOBVRendererPlugin({ paneId })
|
|
220
|
-
case 'PVT':
|
|
221
|
-
return createPVTRendererPlugin({ paneId })
|
|
222
|
-
case 'VWAP':
|
|
223
|
-
return createVWAPRendererPlugin({ paneId })
|
|
224
|
-
case 'CMF':
|
|
225
|
-
return createCMFRendererPlugin({ paneId })
|
|
226
|
-
case 'MFI':
|
|
227
|
-
return createMFIRendererPlugin({ paneId })
|
|
228
|
-
case 'PIVOT':
|
|
229
|
-
return createPivotRendererPlugin({ paneId })
|
|
230
|
-
case 'FIB':
|
|
231
|
-
return createFibRendererPlugin({ paneId })
|
|
232
|
-
case 'STRUCTURE':
|
|
233
|
-
return createStructureRendererPlugin({ paneId })
|
|
234
|
-
case 'ZONES':
|
|
235
|
-
return createZonesRendererPlugin({ paneId })
|
|
236
|
-
case 'VOLUME_PROFILE':
|
|
237
|
-
return createVolumeProfileRendererPlugin({ paneId })
|
|
238
|
-
default:
|
|
239
|
-
throw new Error(`Unknown indicator: ${indicatorId}`)
|
|
240
|
-
}
|
|
241
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 指标渲染器导出入口
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { RendererPlugin } from '../../../plugin'
|
|
6
|
+
import { createVolumeRendererPlugin } from '../subVolume'
|
|
7
|
+
|
|
8
|
+
// MA 均线
|
|
9
|
+
export { createMARendererPlugin, type MAFlags } from './ma'
|
|
10
|
+
|
|
11
|
+
// BOLL 布林带
|
|
12
|
+
export { createBOLLRendererPlugin } from './boll'
|
|
13
|
+
|
|
14
|
+
// EXPMA 指数平滑移动平均线
|
|
15
|
+
export { createEXPMARendererPlugin } from './expma'
|
|
16
|
+
|
|
17
|
+
// ENE 轨道线
|
|
18
|
+
export { createENERendererPlugin } from './ene'
|
|
19
|
+
|
|
20
|
+
// 主图指标图例(统一管理 MA、BOLL 等)
|
|
21
|
+
export { createMainIndicatorLegendRendererPlugin } from './mainIndicatorLegend'
|
|
22
|
+
|
|
23
|
+
// MACD
|
|
24
|
+
export { createMACDRendererPlugin, calcMACDAtIndex, type MACDConfig, type MACDRendererOptions, getMACDTitleInfo } from './macd'
|
|
25
|
+
export { createMACDLegendRendererPlugin, type MACDLegendOptions } from './macdLegend'
|
|
26
|
+
|
|
27
|
+
// RSI 相对强弱指标
|
|
28
|
+
export { createRSIRendererPlugin, type RSIRendererOptions, getRSITitleInfo } from './rsi'
|
|
29
|
+
|
|
30
|
+
// CCI 顺势指标
|
|
31
|
+
export { createCCIRendererPlugin, type CCIRendererOptions, getCCITitleInfo } from './cci'
|
|
32
|
+
|
|
33
|
+
// STOCH 随机指标
|
|
34
|
+
export { createSTOCHRendererPlugin, type STOCHRendererOptions, getSTOCHTitleInfo } from './stoch'
|
|
35
|
+
|
|
36
|
+
// MOM 动量指标
|
|
37
|
+
export { createMOMRendererPlugin, type MOMRendererOptions, getMOMTitleInfo } from './mom'
|
|
38
|
+
|
|
39
|
+
// WMSR 威廉指标
|
|
40
|
+
export { createWMSRRendererPlugin, type WMSRRendererOptions, getWMSRTitleInfo } from './wmsr'
|
|
41
|
+
|
|
42
|
+
// KST 确知指标
|
|
43
|
+
export { createKSTRendererPlugin, type KSTRendererOptions, getKSTTitleInfo } from './kst'
|
|
44
|
+
|
|
45
|
+
// FASTK 快速随机指标
|
|
46
|
+
export { createFASTKRendererPlugin, type FASTKRendererOptions, getFASTKTitleInfo } from './fastk'
|
|
47
|
+
|
|
48
|
+
// ATR 平均真实波幅
|
|
49
|
+
export { createATRRendererPlugin, type ATRRendererOptions, getATRTitleInfo } from './atr'
|
|
50
|
+
|
|
51
|
+
// WMA 加权移动平均
|
|
52
|
+
export { createWMARendererPlugin } from './wma'
|
|
53
|
+
// DEMA 双指数移动平均
|
|
54
|
+
export { createDEMARendererPlugin } from './dema'
|
|
55
|
+
// TEMA 三指数移动平均
|
|
56
|
+
export { createTEMARendererPlugin } from './tema'
|
|
57
|
+
// HMA 赫尔移动平均
|
|
58
|
+
export { createHMARendererPlugin } from './hma'
|
|
59
|
+
// KAMA 考夫曼自适应移动平均
|
|
60
|
+
export { createKAMARendererPlugin } from './kama'
|
|
61
|
+
// SAR 抛物线转向
|
|
62
|
+
export { createSARRendererPlugin } from './sar'
|
|
63
|
+
// SuperTrend 超级趋势
|
|
64
|
+
export { createSuperTrendRendererPlugin } from './supertrend'
|
|
65
|
+
// Keltner 肯特纳通道
|
|
66
|
+
export { createKeltnerRendererPlugin } from './keltner'
|
|
67
|
+
// Donchian 唐奇安通道
|
|
68
|
+
export { createDonchianRendererPlugin } from './donchian'
|
|
69
|
+
// Ichimoku 一目均衡表
|
|
70
|
+
export { createIchimokuRendererPlugin } from './ichimoku'
|
|
71
|
+
// ROC 变化率
|
|
72
|
+
export { createROCRendererPlugin } from './roc'
|
|
73
|
+
// TRIX 三重指数平滑平均
|
|
74
|
+
export { createTRIXRendererPlugin } from './trix'
|
|
75
|
+
// HV 历史波动率
|
|
76
|
+
export { createHVRendererPlugin } from './hv'
|
|
77
|
+
// Parkinson 帕金森波动率
|
|
78
|
+
export { createParkinsonRendererPlugin } from './parkinson'
|
|
79
|
+
// Chaikin Vol 蔡金波动率
|
|
80
|
+
export { createChaikinVolRendererPlugin } from './chaikinVol'
|
|
81
|
+
// VMA 成交量移动平均
|
|
82
|
+
export { createVMARendererPlugin } from './vma'
|
|
83
|
+
// OBV 能量潮
|
|
84
|
+
export { createOBVRendererPlugin } from './obv'
|
|
85
|
+
// PVT 价量趋势
|
|
86
|
+
export { createPVTRendererPlugin } from './pvt'
|
|
87
|
+
// VWAP 成交量加权均价
|
|
88
|
+
export { createVWAPRendererPlugin } from './vwap'
|
|
89
|
+
// CMF 蔡金资金流
|
|
90
|
+
export { createCMFRendererPlugin } from './cmf'
|
|
91
|
+
// MFI 资金流量指数
|
|
92
|
+
export { createMFIRendererPlugin } from './mfi'
|
|
93
|
+
// Pivot Points 枢轴点
|
|
94
|
+
export { createPivotRendererPlugin } from './pivot'
|
|
95
|
+
// Fibonacci 斐波那契
|
|
96
|
+
export { createFibRendererPlugin } from './fib'
|
|
97
|
+
// SMC Structure 结构
|
|
98
|
+
export { createStructureRendererPlugin } from './structure'
|
|
99
|
+
// SMC Zones 区域
|
|
100
|
+
export { createZonesRendererPlugin } from './zones'
|
|
101
|
+
// Volume Profile 成交量分布
|
|
102
|
+
export { createVolumeProfileRendererPlugin } from './volumeProfile'
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 副图指标类型
|
|
106
|
+
*/
|
|
107
|
+
export type SubIndicatorType = 'VOLUME' | 'MACD' | 'RSI' | 'CCI' | 'STOCH' | 'MOM' | 'WMSR' | 'KST' | 'FASTK' | 'ATR'
|
|
108
|
+
| 'WMA' | 'DEMA' | 'TEMA' | 'HMA' | 'KAMA' | 'SAR' | 'SUPERTREND' | 'KELTNER' | 'DONCHIAN' | 'ICHIMOKU'
|
|
109
|
+
| 'ROC' | 'TRIX' | 'HV' | 'PARKINSON' | 'CHAIKIN_VOL' | 'VMA' | 'OBV' | 'PVT' | 'VWAP'
|
|
110
|
+
| 'CMF' | 'MFI' | 'PIVOT' | 'FIB' | 'STRUCTURE' | 'ZONES' | 'VOLUME_PROFILE'
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 渲染器工厂选项
|
|
114
|
+
*/
|
|
115
|
+
export interface IndicatorRendererOptions {
|
|
116
|
+
/** 指标类型 */
|
|
117
|
+
indicatorId: SubIndicatorType
|
|
118
|
+
/** 目标 pane ID */
|
|
119
|
+
paneId: string
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// 导入各个创建函数用于工厂函数
|
|
123
|
+
import { createMACDRendererPlugin } from './macd'
|
|
124
|
+
import { createRSIRendererPlugin } from './rsi'
|
|
125
|
+
import { createCCIRendererPlugin } from './cci'
|
|
126
|
+
import { createSTOCHRendererPlugin } from './stoch'
|
|
127
|
+
import { createMOMRendererPlugin } from './mom'
|
|
128
|
+
import { createWMSRRendererPlugin } from './wmsr'
|
|
129
|
+
import { createKSTRendererPlugin } from './kst'
|
|
130
|
+
import { createFASTKRendererPlugin } from './fastk'
|
|
131
|
+
import { createATRRendererPlugin } from './atr'
|
|
132
|
+
import { createWMARendererPlugin } from './wma'
|
|
133
|
+
import { createDEMARendererPlugin } from './dema'
|
|
134
|
+
import { createTEMARendererPlugin } from './tema'
|
|
135
|
+
import { createHMARendererPlugin } from './hma'
|
|
136
|
+
import { createKAMARendererPlugin } from './kama'
|
|
137
|
+
import { createSARRendererPlugin } from './sar'
|
|
138
|
+
import { createSuperTrendRendererPlugin } from './supertrend'
|
|
139
|
+
import { createKeltnerRendererPlugin } from './keltner'
|
|
140
|
+
import { createDonchianRendererPlugin } from './donchian'
|
|
141
|
+
import { createIchimokuRendererPlugin } from './ichimoku'
|
|
142
|
+
import { createROCRendererPlugin } from './roc'
|
|
143
|
+
import { createTRIXRendererPlugin } from './trix'
|
|
144
|
+
import { createHVRendererPlugin } from './hv'
|
|
145
|
+
import { createParkinsonRendererPlugin } from './parkinson'
|
|
146
|
+
import { createChaikinVolRendererPlugin } from './chaikinVol'
|
|
147
|
+
import { createVMARendererPlugin } from './vma'
|
|
148
|
+
import { createOBVRendererPlugin } from './obv'
|
|
149
|
+
import { createPVTRendererPlugin } from './pvt'
|
|
150
|
+
import { createVWAPRendererPlugin } from './vwap'
|
|
151
|
+
import { createCMFRendererPlugin } from './cmf'
|
|
152
|
+
import { createMFIRendererPlugin } from './mfi'
|
|
153
|
+
import { createPivotRendererPlugin } from './pivot'
|
|
154
|
+
import { createFibRendererPlugin } from './fib'
|
|
155
|
+
import { createStructureRendererPlugin } from './structure'
|
|
156
|
+
import { createZonesRendererPlugin } from './zones'
|
|
157
|
+
import { createVolumeProfileRendererPlugin } from './volumeProfile'
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* 创建副图指标渲染器(统一工厂函数)
|
|
161
|
+
*/
|
|
162
|
+
export function createSubIndicatorRenderer(options: IndicatorRendererOptions): RendererPlugin {
|
|
163
|
+
const { indicatorId, paneId } = options
|
|
164
|
+
|
|
165
|
+
switch (indicatorId) {
|
|
166
|
+
case 'VOLUME':
|
|
167
|
+
return createVolumeRendererPlugin({ paneId })
|
|
168
|
+
case 'MACD':
|
|
169
|
+
return createMACDRendererPlugin({ paneId })
|
|
170
|
+
case 'RSI':
|
|
171
|
+
return createRSIRendererPlugin({ paneId })
|
|
172
|
+
case 'CCI':
|
|
173
|
+
return createCCIRendererPlugin({ paneId })
|
|
174
|
+
case 'STOCH':
|
|
175
|
+
return createSTOCHRendererPlugin({ paneId })
|
|
176
|
+
case 'MOM':
|
|
177
|
+
return createMOMRendererPlugin({ paneId })
|
|
178
|
+
case 'WMSR':
|
|
179
|
+
return createWMSRRendererPlugin({ paneId })
|
|
180
|
+
case 'KST':
|
|
181
|
+
return createKSTRendererPlugin({ paneId })
|
|
182
|
+
case 'FASTK':
|
|
183
|
+
return createFASTKRendererPlugin({ paneId })
|
|
184
|
+
case 'ATR':
|
|
185
|
+
return createATRRendererPlugin({ paneId })
|
|
186
|
+
case 'WMA':
|
|
187
|
+
return createWMARendererPlugin({ paneId })
|
|
188
|
+
case 'DEMA':
|
|
189
|
+
return createDEMARendererPlugin({ paneId })
|
|
190
|
+
case 'TEMA':
|
|
191
|
+
return createTEMARendererPlugin({ paneId })
|
|
192
|
+
case 'HMA':
|
|
193
|
+
return createHMARendererPlugin({ paneId })
|
|
194
|
+
case 'KAMA':
|
|
195
|
+
return createKAMARendererPlugin({ paneId })
|
|
196
|
+
case 'SAR':
|
|
197
|
+
return createSARRendererPlugin({ paneId })
|
|
198
|
+
case 'SUPERTREND':
|
|
199
|
+
return createSuperTrendRendererPlugin({ paneId })
|
|
200
|
+
case 'KELTNER':
|
|
201
|
+
return createKeltnerRendererPlugin({ paneId })
|
|
202
|
+
case 'DONCHIAN':
|
|
203
|
+
return createDonchianRendererPlugin({ paneId })
|
|
204
|
+
case 'ICHIMOKU':
|
|
205
|
+
return createIchimokuRendererPlugin({ paneId })
|
|
206
|
+
case 'ROC':
|
|
207
|
+
return createROCRendererPlugin({ paneId })
|
|
208
|
+
case 'TRIX':
|
|
209
|
+
return createTRIXRendererPlugin({ paneId })
|
|
210
|
+
case 'HV':
|
|
211
|
+
return createHVRendererPlugin({ paneId })
|
|
212
|
+
case 'PARKINSON':
|
|
213
|
+
return createParkinsonRendererPlugin({ paneId })
|
|
214
|
+
case 'CHAIKIN_VOL':
|
|
215
|
+
return createChaikinVolRendererPlugin({ paneId })
|
|
216
|
+
case 'VMA':
|
|
217
|
+
return createVMARendererPlugin({ paneId })
|
|
218
|
+
case 'OBV':
|
|
219
|
+
return createOBVRendererPlugin({ paneId })
|
|
220
|
+
case 'PVT':
|
|
221
|
+
return createPVTRendererPlugin({ paneId })
|
|
222
|
+
case 'VWAP':
|
|
223
|
+
return createVWAPRendererPlugin({ paneId })
|
|
224
|
+
case 'CMF':
|
|
225
|
+
return createCMFRendererPlugin({ paneId })
|
|
226
|
+
case 'MFI':
|
|
227
|
+
return createMFIRendererPlugin({ paneId })
|
|
228
|
+
case 'PIVOT':
|
|
229
|
+
return createPivotRendererPlugin({ paneId })
|
|
230
|
+
case 'FIB':
|
|
231
|
+
return createFibRendererPlugin({ paneId })
|
|
232
|
+
case 'STRUCTURE':
|
|
233
|
+
return createStructureRendererPlugin({ paneId })
|
|
234
|
+
case 'ZONES':
|
|
235
|
+
return createZonesRendererPlugin({ paneId })
|
|
236
|
+
case 'VOLUME_PROFILE':
|
|
237
|
+
return createVolumeProfileRendererPlugin({ paneId })
|
|
238
|
+
default:
|
|
239
|
+
throw new Error(`Unknown indicator: ${indicatorId}`)
|
|
240
|
+
}
|
|
241
|
+
}
|