@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,25 +1,25 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface CCIRenderState extends BaseIndicatorState {
|
|
5
|
-
timestamp: number
|
|
6
|
-
series: (number | undefined)[]
|
|
7
|
-
params: { period: number; showCCI: boolean }
|
|
8
|
-
valueMin: number
|
|
9
|
-
valueMax: number
|
|
10
|
-
visibleMin: number
|
|
11
|
-
visibleMax: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const createCCIStateKey = (paneId: string) =>
|
|
15
|
-
createIndicatorStateKey('cci', paneId)
|
|
16
|
-
|
|
17
|
-
export const EMPTY_CCI_STATE: CCIRenderState = {
|
|
18
|
-
timestamp: 0,
|
|
19
|
-
series: [],
|
|
20
|
-
params: { period: 14, showCCI: true },
|
|
21
|
-
valueMin: -150,
|
|
22
|
-
valueMax: 150,
|
|
23
|
-
visibleMin: Infinity,
|
|
24
|
-
visibleMax: -Infinity,
|
|
25
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface CCIRenderState extends BaseIndicatorState {
|
|
5
|
+
timestamp: number
|
|
6
|
+
series: (number | undefined)[]
|
|
7
|
+
params: { period: number; showCCI: boolean }
|
|
8
|
+
valueMin: number
|
|
9
|
+
valueMax: number
|
|
10
|
+
visibleMin: number
|
|
11
|
+
visibleMax: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const createCCIStateKey = (paneId: string) =>
|
|
15
|
+
createIndicatorStateKey('cci', paneId)
|
|
16
|
+
|
|
17
|
+
export const EMPTY_CCI_STATE: CCIRenderState = {
|
|
18
|
+
timestamp: 0,
|
|
19
|
+
series: [],
|
|
20
|
+
params: { period: 14, showCCI: true },
|
|
21
|
+
valueMin: -150,
|
|
22
|
+
valueMax: 150,
|
|
23
|
+
visibleMin: Infinity,
|
|
24
|
+
visibleMax: -Infinity,
|
|
25
|
+
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface ChaikinVolRenderState extends BaseIndicatorState {
|
|
5
|
-
timestamp: number
|
|
6
|
-
series: (number | undefined)[]
|
|
7
|
-
params: { emaPeriod: number; rocPeriod: number; showChaikinVol: boolean }
|
|
8
|
-
valueMin: number
|
|
9
|
-
valueMax: number
|
|
10
|
-
visibleMin: number
|
|
11
|
-
visibleMax: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const createChaikinVolStateKey = (paneId: string) =>
|
|
15
|
-
createIndicatorStateKey('chaikinVol', paneId)
|
|
16
|
-
|
|
17
|
-
export const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
|
|
18
|
-
export const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
|
|
19
|
-
|
|
20
|
-
export const EMPTY_CHAIKIN_VOL_STATE: ChaikinVolRenderState = {
|
|
21
|
-
timestamp: 0,
|
|
22
|
-
series: [],
|
|
23
|
-
params: {
|
|
24
|
-
emaPeriod: DEFAULT_CHAIKIN_VOL_EMA_PERIOD,
|
|
25
|
-
rocPeriod: DEFAULT_CHAIKIN_VOL_ROC_PERIOD,
|
|
26
|
-
showChaikinVol: true,
|
|
27
|
-
},
|
|
28
|
-
valueMin: -50,
|
|
29
|
-
valueMax: 50,
|
|
30
|
-
visibleMin: Infinity,
|
|
31
|
-
visibleMax: -Infinity,
|
|
32
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface ChaikinVolRenderState extends BaseIndicatorState {
|
|
5
|
+
timestamp: number
|
|
6
|
+
series: (number | undefined)[]
|
|
7
|
+
params: { emaPeriod: number; rocPeriod: number; showChaikinVol: boolean }
|
|
8
|
+
valueMin: number
|
|
9
|
+
valueMax: number
|
|
10
|
+
visibleMin: number
|
|
11
|
+
visibleMax: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const createChaikinVolStateKey = (paneId: string) =>
|
|
15
|
+
createIndicatorStateKey('chaikinVol', paneId)
|
|
16
|
+
|
|
17
|
+
export const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
|
|
18
|
+
export const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
|
|
19
|
+
|
|
20
|
+
export const EMPTY_CHAIKIN_VOL_STATE: ChaikinVolRenderState = {
|
|
21
|
+
timestamp: 0,
|
|
22
|
+
series: [],
|
|
23
|
+
params: {
|
|
24
|
+
emaPeriod: DEFAULT_CHAIKIN_VOL_EMA_PERIOD,
|
|
25
|
+
rocPeriod: DEFAULT_CHAIKIN_VOL_ROC_PERIOD,
|
|
26
|
+
showChaikinVol: true,
|
|
27
|
+
},
|
|
28
|
+
valueMin: -50,
|
|
29
|
+
valueMax: 50,
|
|
30
|
+
visibleMin: Infinity,
|
|
31
|
+
visibleMax: -Infinity,
|
|
32
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface CMFRenderState extends BaseIndicatorState {
|
|
5
|
-
timestamp: number
|
|
6
|
-
series: (number | undefined)[]
|
|
7
|
-
params: { period: number; showCMF: boolean }
|
|
8
|
-
valueMin: number
|
|
9
|
-
valueMax: number
|
|
10
|
-
visibleMin: number
|
|
11
|
-
visibleMax: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const createCMFStateKey = (paneId: string) =>
|
|
15
|
-
createIndicatorStateKey('cmf', paneId)
|
|
16
|
-
|
|
17
|
-
export const DEFAULT_CMF_PERIOD = 20
|
|
18
|
-
|
|
19
|
-
export const EMPTY_CMF_STATE: CMFRenderState = {
|
|
20
|
-
timestamp: 0,
|
|
21
|
-
series: [],
|
|
22
|
-
params: { period: DEFAULT_CMF_PERIOD, showCMF: true },
|
|
23
|
-
valueMin: -1,
|
|
24
|
-
valueMax: 1,
|
|
25
|
-
visibleMin: Infinity,
|
|
26
|
-
visibleMax: -Infinity,
|
|
27
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface CMFRenderState extends BaseIndicatorState {
|
|
5
|
+
timestamp: number
|
|
6
|
+
series: (number | undefined)[]
|
|
7
|
+
params: { period: number; showCMF: boolean }
|
|
8
|
+
valueMin: number
|
|
9
|
+
valueMax: number
|
|
10
|
+
visibleMin: number
|
|
11
|
+
visibleMax: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const createCMFStateKey = (paneId: string) =>
|
|
15
|
+
createIndicatorStateKey('cmf', paneId)
|
|
16
|
+
|
|
17
|
+
export const DEFAULT_CMF_PERIOD = 20
|
|
18
|
+
|
|
19
|
+
export const EMPTY_CMF_STATE: CMFRenderState = {
|
|
20
|
+
timestamp: 0,
|
|
21
|
+
series: [],
|
|
22
|
+
params: { period: DEFAULT_CMF_PERIOD, showCMF: true },
|
|
23
|
+
valueMin: -1,
|
|
24
|
+
valueMax: 1,
|
|
25
|
+
visibleMin: Infinity,
|
|
26
|
+
visibleMax: -Infinity,
|
|
27
|
+
}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface DEMARenderState extends BaseIndicatorState {
|
|
5
|
-
timestamp: number
|
|
6
|
-
series: (number | undefined)[]
|
|
7
|
-
params: { period: number; showDEMA: boolean }
|
|
8
|
-
valueMin: number
|
|
9
|
-
valueMax: number
|
|
10
|
-
visibleMin: number
|
|
11
|
-
visibleMax: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const createDEMAStateKey = (paneId: string) =>
|
|
15
|
-
createIndicatorStateKey('dema', paneId)
|
|
16
|
-
|
|
17
|
-
export const DEFAULT_DEMA_PERIOD = 20
|
|
18
|
-
|
|
19
|
-
export const EMPTY_DEMA_STATE: DEMARenderState = {
|
|
20
|
-
timestamp: 0,
|
|
21
|
-
series: [],
|
|
22
|
-
params: { period: DEFAULT_DEMA_PERIOD, showDEMA: true },
|
|
23
|
-
valueMin: 0,
|
|
24
|
-
valueMax: 1,
|
|
25
|
-
visibleMin: Infinity,
|
|
26
|
-
visibleMax: -Infinity,
|
|
27
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface DEMARenderState extends BaseIndicatorState {
|
|
5
|
+
timestamp: number
|
|
6
|
+
series: (number | undefined)[]
|
|
7
|
+
params: { period: number; showDEMA: boolean }
|
|
8
|
+
valueMin: number
|
|
9
|
+
valueMax: number
|
|
10
|
+
visibleMin: number
|
|
11
|
+
visibleMax: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const createDEMAStateKey = (paneId: string) =>
|
|
15
|
+
createIndicatorStateKey('dema', paneId)
|
|
16
|
+
|
|
17
|
+
export const DEFAULT_DEMA_PERIOD = 20
|
|
18
|
+
|
|
19
|
+
export const EMPTY_DEMA_STATE: DEMARenderState = {
|
|
20
|
+
timestamp: 0,
|
|
21
|
+
series: [],
|
|
22
|
+
params: { period: DEFAULT_DEMA_PERIOD, showDEMA: true },
|
|
23
|
+
valueMin: 0,
|
|
24
|
+
valueMax: 1,
|
|
25
|
+
visibleMin: Infinity,
|
|
26
|
+
visibleMax: -Infinity,
|
|
27
|
+
}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface DonchianPoint {
|
|
5
|
-
upper: number
|
|
6
|
-
middle: number
|
|
7
|
-
lower: number
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface DonchianRenderState extends BaseIndicatorState {
|
|
11
|
-
timestamp: number
|
|
12
|
-
series: (DonchianPoint | undefined)[]
|
|
13
|
-
params: {
|
|
14
|
-
period: number
|
|
15
|
-
showUpper: boolean
|
|
16
|
-
showMiddle: boolean
|
|
17
|
-
showLower: boolean
|
|
18
|
-
}
|
|
19
|
-
valueMin: number
|
|
20
|
-
valueMax: number
|
|
21
|
-
visibleMin: number
|
|
22
|
-
visibleMax: number
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const createDonchianStateKey = (paneId: string) =>
|
|
26
|
-
createIndicatorStateKey('donchian', paneId)
|
|
27
|
-
|
|
28
|
-
export const DEFAULT_DONCHIAN_PERIOD = 20
|
|
29
|
-
|
|
30
|
-
export const EMPTY_DONCHIAN_STATE: DonchianRenderState = {
|
|
31
|
-
timestamp: 0,
|
|
32
|
-
series: [],
|
|
33
|
-
params: {
|
|
34
|
-
period: DEFAULT_DONCHIAN_PERIOD,
|
|
35
|
-
showUpper: true,
|
|
36
|
-
showMiddle: true,
|
|
37
|
-
showLower: true,
|
|
38
|
-
},
|
|
39
|
-
valueMin: 0,
|
|
40
|
-
valueMax: 1,
|
|
41
|
-
visibleMin: Infinity,
|
|
42
|
-
visibleMax: -Infinity,
|
|
43
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface DonchianPoint {
|
|
5
|
+
upper: number
|
|
6
|
+
middle: number
|
|
7
|
+
lower: number
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface DonchianRenderState extends BaseIndicatorState {
|
|
11
|
+
timestamp: number
|
|
12
|
+
series: (DonchianPoint | undefined)[]
|
|
13
|
+
params: {
|
|
14
|
+
period: number
|
|
15
|
+
showUpper: boolean
|
|
16
|
+
showMiddle: boolean
|
|
17
|
+
showLower: boolean
|
|
18
|
+
}
|
|
19
|
+
valueMin: number
|
|
20
|
+
valueMax: number
|
|
21
|
+
visibleMin: number
|
|
22
|
+
visibleMax: number
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const createDonchianStateKey = (paneId: string) =>
|
|
26
|
+
createIndicatorStateKey('donchian', paneId)
|
|
27
|
+
|
|
28
|
+
export const DEFAULT_DONCHIAN_PERIOD = 20
|
|
29
|
+
|
|
30
|
+
export const EMPTY_DONCHIAN_STATE: DonchianRenderState = {
|
|
31
|
+
timestamp: 0,
|
|
32
|
+
series: [],
|
|
33
|
+
params: {
|
|
34
|
+
period: DEFAULT_DONCHIAN_PERIOD,
|
|
35
|
+
showUpper: true,
|
|
36
|
+
showMiddle: true,
|
|
37
|
+
showLower: true,
|
|
38
|
+
},
|
|
39
|
+
valueMin: 0,
|
|
40
|
+
valueMax: 1,
|
|
41
|
+
visibleMin: Infinity,
|
|
42
|
+
visibleMax: -Infinity,
|
|
43
|
+
}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
import type { ENEPoint } from './calculators'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* ENE 渲染器状态(共享给渲染器和图例)
|
|
7
|
-
* 包含全量 ENE 数组、计算参数、以及视口极值
|
|
8
|
-
*/
|
|
9
|
-
export interface ENERenderState extends BaseIndicatorState {
|
|
10
|
-
timestamp: number
|
|
11
|
-
/** 全量 ENE 数组(稀疏:前 period-1 个为 undefined) */
|
|
12
|
-
series: ENEPoint[]
|
|
13
|
-
/** 计算参数 */
|
|
14
|
-
params: {
|
|
15
|
-
period: number
|
|
16
|
-
deviation: number
|
|
17
|
-
}
|
|
18
|
-
/** 视口内所有 ENE 线的最低价 */
|
|
19
|
-
visibleMin: number
|
|
20
|
-
/** 视口内所有 ENE 线的最高价 */
|
|
21
|
-
visibleMax: number
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* ENE 状态的 StateStore 键名
|
|
26
|
-
* 格式:indicator:ene:main
|
|
27
|
-
*/
|
|
28
|
-
export const ENE_STATE_KEY = createIndicatorStateKey('ene', 'main')
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 空数据占位状态
|
|
32
|
-
* 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
|
|
33
|
-
*/
|
|
34
|
-
export const EMPTY_ENE_STATE: ENERenderState = {
|
|
35
|
-
timestamp: 0,
|
|
36
|
-
series: [],
|
|
37
|
-
params: {
|
|
38
|
-
period: 10,
|
|
39
|
-
deviation: 11,
|
|
40
|
-
},
|
|
41
|
-
visibleMin: Infinity,
|
|
42
|
-
visibleMax: -Infinity,
|
|
43
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
import type { ENEPoint } from './calculators'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* ENE 渲染器状态(共享给渲染器和图例)
|
|
7
|
+
* 包含全量 ENE 数组、计算参数、以及视口极值
|
|
8
|
+
*/
|
|
9
|
+
export interface ENERenderState extends BaseIndicatorState {
|
|
10
|
+
timestamp: number
|
|
11
|
+
/** 全量 ENE 数组(稀疏:前 period-1 个为 undefined) */
|
|
12
|
+
series: ENEPoint[]
|
|
13
|
+
/** 计算参数 */
|
|
14
|
+
params: {
|
|
15
|
+
period: number
|
|
16
|
+
deviation: number
|
|
17
|
+
}
|
|
18
|
+
/** 视口内所有 ENE 线的最低价 */
|
|
19
|
+
visibleMin: number
|
|
20
|
+
/** 视口内所有 ENE 线的最高价 */
|
|
21
|
+
visibleMax: number
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* ENE 状态的 StateStore 键名
|
|
26
|
+
* 格式:indicator:ene:main
|
|
27
|
+
*/
|
|
28
|
+
export const ENE_STATE_KEY = createIndicatorStateKey('ene', 'main')
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 空数据占位状态
|
|
32
|
+
* 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
|
|
33
|
+
*/
|
|
34
|
+
export const EMPTY_ENE_STATE: ENERenderState = {
|
|
35
|
+
timestamp: 0,
|
|
36
|
+
series: [],
|
|
37
|
+
params: {
|
|
38
|
+
period: 10,
|
|
39
|
+
deviation: 11,
|
|
40
|
+
},
|
|
41
|
+
visibleMin: Infinity,
|
|
42
|
+
visibleMax: -Infinity,
|
|
43
|
+
}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
import type { EXPMAPoint } from './calculators'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* EXPMA 渲染器状态(共享给渲染器和图例)
|
|
7
|
-
* 包含全量 EXPMA 数组、计算参数、以及视口极值
|
|
8
|
-
*/
|
|
9
|
-
export interface EXPMARenderState extends BaseIndicatorState {
|
|
10
|
-
timestamp: number
|
|
11
|
-
/** 全量 EXPMA 数组(密集:从 index 0 开始) */
|
|
12
|
-
series: EXPMAPoint[]
|
|
13
|
-
/** 计算参数 */
|
|
14
|
-
params: {
|
|
15
|
-
fastPeriod: number
|
|
16
|
-
slowPeriod: number
|
|
17
|
-
}
|
|
18
|
-
/** 视口内所有 EXPMA 线的最低价 */
|
|
19
|
-
visibleMin: number
|
|
20
|
-
/** 视口内所有 EXPMA 线的最高价 */
|
|
21
|
-
visibleMax: number
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* EXPMA 状态的 StateStore 键名
|
|
26
|
-
* 格式:indicator:expma:main
|
|
27
|
-
*/
|
|
28
|
-
export const EXPMA_STATE_KEY = createIndicatorStateKey('expma', 'main')
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 空数据占位状态
|
|
32
|
-
* 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
|
|
33
|
-
*/
|
|
34
|
-
export const EMPTY_EXPMA_STATE: EXPMARenderState = {
|
|
35
|
-
timestamp: 0,
|
|
36
|
-
series: [],
|
|
37
|
-
params: {
|
|
38
|
-
fastPeriod: 12,
|
|
39
|
-
slowPeriod: 50,
|
|
40
|
-
},
|
|
41
|
-
visibleMin: Infinity,
|
|
42
|
-
visibleMax: -Infinity,
|
|
43
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
import type { EXPMAPoint } from './calculators'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* EXPMA 渲染器状态(共享给渲染器和图例)
|
|
7
|
+
* 包含全量 EXPMA 数组、计算参数、以及视口极值
|
|
8
|
+
*/
|
|
9
|
+
export interface EXPMARenderState extends BaseIndicatorState {
|
|
10
|
+
timestamp: number
|
|
11
|
+
/** 全量 EXPMA 数组(密集:从 index 0 开始) */
|
|
12
|
+
series: EXPMAPoint[]
|
|
13
|
+
/** 计算参数 */
|
|
14
|
+
params: {
|
|
15
|
+
fastPeriod: number
|
|
16
|
+
slowPeriod: number
|
|
17
|
+
}
|
|
18
|
+
/** 视口内所有 EXPMA 线的最低价 */
|
|
19
|
+
visibleMin: number
|
|
20
|
+
/** 视口内所有 EXPMA 线的最高价 */
|
|
21
|
+
visibleMax: number
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* EXPMA 状态的 StateStore 键名
|
|
26
|
+
* 格式:indicator:expma:main
|
|
27
|
+
*/
|
|
28
|
+
export const EXPMA_STATE_KEY = createIndicatorStateKey('expma', 'main')
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 空数据占位状态
|
|
32
|
+
* 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
|
|
33
|
+
*/
|
|
34
|
+
export const EMPTY_EXPMA_STATE: EXPMARenderState = {
|
|
35
|
+
timestamp: 0,
|
|
36
|
+
series: [],
|
|
37
|
+
params: {
|
|
38
|
+
fastPeriod: 12,
|
|
39
|
+
slowPeriod: 50,
|
|
40
|
+
},
|
|
41
|
+
visibleMin: Infinity,
|
|
42
|
+
visibleMax: -Infinity,
|
|
43
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface FASTKRenderState extends BaseIndicatorState {
|
|
5
|
-
timestamp: number
|
|
6
|
-
series: (number | undefined)[]
|
|
7
|
-
params: { period: number; showFASTK: boolean }
|
|
8
|
-
valueMin: number
|
|
9
|
-
valueMax: number
|
|
10
|
-
visibleMin: number
|
|
11
|
-
visibleMax: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export const createFASTKStateKey = (paneId: string) =>
|
|
15
|
-
createIndicatorStateKey('fastk', paneId)
|
|
16
|
-
|
|
17
|
-
export const EMPTY_FASTK_STATE: FASTKRenderState = {
|
|
18
|
-
timestamp: 0,
|
|
19
|
-
series: [],
|
|
20
|
-
params: { period: 9, showFASTK: true },
|
|
21
|
-
valueMin: 0,
|
|
22
|
-
valueMax: 100,
|
|
23
|
-
visibleMin: Infinity,
|
|
24
|
-
visibleMax: -Infinity,
|
|
25
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface FASTKRenderState extends BaseIndicatorState {
|
|
5
|
+
timestamp: number
|
|
6
|
+
series: (number | undefined)[]
|
|
7
|
+
params: { period: number; showFASTK: boolean }
|
|
8
|
+
valueMin: number
|
|
9
|
+
valueMax: number
|
|
10
|
+
visibleMin: number
|
|
11
|
+
visibleMax: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const createFASTKStateKey = (paneId: string) =>
|
|
15
|
+
createIndicatorStateKey('fastk', paneId)
|
|
16
|
+
|
|
17
|
+
export const EMPTY_FASTK_STATE: FASTKRenderState = {
|
|
18
|
+
timestamp: 0,
|
|
19
|
+
series: [],
|
|
20
|
+
params: { period: 9, showFASTK: true },
|
|
21
|
+
valueMin: 0,
|
|
22
|
+
valueMax: 100,
|
|
23
|
+
visibleMin: Infinity,
|
|
24
|
+
visibleMax: -Infinity,
|
|
25
|
+
}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
-
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
-
|
|
4
|
-
export interface FibPoint {
|
|
5
|
-
high: number
|
|
6
|
-
low: number
|
|
7
|
-
direction: 'up' | 'down'
|
|
8
|
-
level236: number
|
|
9
|
-
level382: number
|
|
10
|
-
level500: number
|
|
11
|
-
level618: number
|
|
12
|
-
level786: number
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface FibRenderState extends BaseIndicatorState {
|
|
16
|
-
timestamp: number
|
|
17
|
-
series: (FibPoint | undefined)[]
|
|
18
|
-
params: {
|
|
19
|
-
period: number
|
|
20
|
-
showLevels: boolean
|
|
21
|
-
}
|
|
22
|
-
valueMin: number
|
|
23
|
-
valueMax: number
|
|
24
|
-
visibleMin: number
|
|
25
|
-
visibleMax: number
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export const createFibStateKey = (paneId: string) =>
|
|
29
|
-
createIndicatorStateKey('fib', paneId)
|
|
30
|
-
|
|
31
|
-
export const DEFAULT_FIB_PERIOD = 50
|
|
32
|
-
|
|
33
|
-
export const EMPTY_FIB_STATE: FibRenderState = {
|
|
34
|
-
timestamp: 0,
|
|
35
|
-
series: [],
|
|
36
|
-
params: { period: DEFAULT_FIB_PERIOD, showLevels: true },
|
|
37
|
-
valueMin: 0,
|
|
38
|
-
valueMax: 1,
|
|
39
|
-
visibleMin: Infinity,
|
|
40
|
-
visibleMax: -Infinity,
|
|
41
|
-
}
|
|
1
|
+
import type { BaseIndicatorState } from '../../plugin'
|
|
2
|
+
import { createIndicatorStateKey } from '../../plugin/stateKeys'
|
|
3
|
+
|
|
4
|
+
export interface FibPoint {
|
|
5
|
+
high: number
|
|
6
|
+
low: number
|
|
7
|
+
direction: 'up' | 'down'
|
|
8
|
+
level236: number
|
|
9
|
+
level382: number
|
|
10
|
+
level500: number
|
|
11
|
+
level618: number
|
|
12
|
+
level786: number
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface FibRenderState extends BaseIndicatorState {
|
|
16
|
+
timestamp: number
|
|
17
|
+
series: (FibPoint | undefined)[]
|
|
18
|
+
params: {
|
|
19
|
+
period: number
|
|
20
|
+
showLevels: boolean
|
|
21
|
+
}
|
|
22
|
+
valueMin: number
|
|
23
|
+
valueMax: number
|
|
24
|
+
visibleMin: number
|
|
25
|
+
visibleMax: number
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const createFibStateKey = (paneId: string) =>
|
|
29
|
+
createIndicatorStateKey('fib', paneId)
|
|
30
|
+
|
|
31
|
+
export const DEFAULT_FIB_PERIOD = 50
|
|
32
|
+
|
|
33
|
+
export const EMPTY_FIB_STATE: FibRenderState = {
|
|
34
|
+
timestamp: 0,
|
|
35
|
+
series: [],
|
|
36
|
+
params: { period: DEFAULT_FIB_PERIOD, showLevels: true },
|
|
37
|
+
valueMin: 0,
|
|
38
|
+
valueMax: 1,
|
|
39
|
+
visibleMin: Infinity,
|
|
40
|
+
visibleMax: -Infinity,
|
|
41
|
+
}
|