@363045841yyt/klinechart-core 0.7.12 → 0.8.1-alpha.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/config/chartSettings.d.ts +0 -6
- package/dist/config/chartSettings.d.ts.map +1 -1
- package/dist/config/chartSettings.js +0 -1
- package/dist/config/chartSettings.js.map +1 -1
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +22 -0
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/createIndicatorSelectorController.d.ts.map +1 -1
- package/dist/controllers/createIndicatorSelectorController.js +4 -6
- package/dist/controllers/createIndicatorSelectorController.js.map +1 -1
- package/dist/controllers/index.d.ts +4 -4
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +3 -2
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/types.d.ts +21 -0
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/data-fetchers/baostock.d.ts +3 -0
- package/dist/data-fetchers/baostock.d.ts.map +1 -0
- package/dist/data-fetchers/baostock.js +34 -0
- package/dist/data-fetchers/baostock.js.map +1 -0
- package/dist/data-fetchers/hundred-mock.d.ts +3 -0
- package/dist/data-fetchers/hundred-mock.d.ts.map +1 -0
- package/dist/data-fetchers/hundred-mock.js +30 -0
- package/dist/data-fetchers/hundred-mock.js.map +1 -0
- package/dist/data-fetchers/index.d.ts +5 -0
- package/dist/data-fetchers/index.d.ts.map +1 -0
- package/dist/data-fetchers/index.js +5 -0
- package/dist/data-fetchers/index.js.map +1 -0
- package/dist/data-fetchers/router.d.ts +3 -0
- package/dist/data-fetchers/router.d.ts.map +1 -0
- package/dist/data-fetchers/router.js +16 -0
- package/dist/data-fetchers/router.js.map +1 -0
- package/dist/data-fetchers/thousand-mock.d.ts +3 -0
- package/dist/data-fetchers/thousand-mock.d.ts.map +1 -0
- package/dist/data-fetchers/thousand-mock.js +29 -0
- package/dist/data-fetchers/thousand-mock.js.map +1 -0
- package/dist/engine/chart.d.ts +20 -2
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +81 -24
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.d.ts +3 -2
- package/dist/engine/indicators/indicatorDefinitionRegistry.d.ts.map +1 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.js +26 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.js.map +1 -1
- package/dist/engine/indicators/indicatorMetadata.d.ts +29 -2
- package/dist/engine/indicators/indicatorMetadata.d.ts.map +1 -1
- package/dist/engine/indicators/indicatorMetadata.js.map +1 -1
- package/dist/engine/indicators/indicatorRuntime.d.ts.map +1 -1
- package/dist/engine/indicators/indicatorRuntime.js +5 -4
- package/dist/engine/indicators/indicatorRuntime.js.map +1 -1
- package/dist/engine/indicators/scheduler.d.ts +16 -1
- package/dist/engine/indicators/scheduler.d.ts.map +1 -1
- package/dist/engine/indicators/scheduler.js +26 -7
- package/dist/engine/indicators/scheduler.js.map +1 -1
- package/dist/engine/renderers/Indicator/atr.d.ts +2 -1
- package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/atr.js +5 -9
- package/dist/engine/renderers/Indicator/atr.js.map +1 -1
- package/dist/engine/renderers/Indicator/boll.d.ts +4 -1
- package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/boll.js +22 -10
- package/dist/engine/renderers/Indicator/boll.js.map +1 -1
- package/dist/engine/renderers/Indicator/cci.d.ts +2 -1
- package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/cci.js +6 -10
- package/dist/engine/renderers/Indicator/cci.js.map +1 -1
- package/dist/engine/renderers/Indicator/chaikinVol.d.ts +4 -1
- package/dist/engine/renderers/Indicator/chaikinVol.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/chaikinVol.js +16 -8
- package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
- package/dist/engine/renderers/Indicator/cmf.d.ts +4 -1
- package/dist/engine/renderers/Indicator/cmf.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/cmf.js +15 -8
- package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
- package/dist/engine/renderers/Indicator/dema.d.ts +2 -0
- package/dist/engine/renderers/Indicator/dema.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/dema.js +18 -8
- package/dist/engine/renderers/Indicator/dema.js.map +1 -1
- package/dist/engine/renderers/Indicator/donchian.d.ts +4 -1
- package/dist/engine/renderers/Indicator/donchian.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/donchian.js +19 -8
- package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
- package/dist/engine/renderers/Indicator/ene.d.ts +12 -1
- package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ene.js +22 -10
- package/dist/engine/renderers/Indicator/ene.js.map +1 -1
- package/dist/engine/renderers/Indicator/expma.d.ts +4 -1
- package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/expma.js +21 -10
- package/dist/engine/renderers/Indicator/expma.js.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.d.ts +2 -1
- package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.js +6 -10
- package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
- package/dist/engine/renderers/Indicator/fib.d.ts +2 -0
- package/dist/engine/renderers/Indicator/fib.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/fib.js +25 -8
- package/dist/engine/renderers/Indicator/fib.js.map +1 -1
- package/dist/engine/renderers/Indicator/hma.d.ts +2 -0
- package/dist/engine/renderers/Indicator/hma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/hma.js +18 -8
- package/dist/engine/renderers/Indicator/hma.js.map +1 -1
- package/dist/engine/renderers/Indicator/hv.d.ts +4 -1
- package/dist/engine/renderers/Indicator/hv.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/hv.js +17 -8
- package/dist/engine/renderers/Indicator/hv.js.map +1 -1
- package/dist/engine/renderers/Indicator/ichimoku.d.ts +4 -1
- package/dist/engine/renderers/Indicator/ichimoku.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ichimoku.js +26 -8
- package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
- package/dist/engine/renderers/Indicator/index.d.ts +27 -28
- package/dist/engine/renderers/Indicator/index.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/index.js +27 -28
- package/dist/engine/renderers/Indicator/index.js.map +1 -1
- package/dist/engine/renderers/Indicator/{indicatorData.d.ts → indicatorCatalog.d.ts} +1 -1
- package/dist/engine/renderers/Indicator/indicatorCatalog.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/{indicatorData.js → indicatorCatalog.js} +94 -406
- package/dist/engine/renderers/Indicator/indicatorCatalog.js.map +1 -0
- package/dist/engine/renderers/Indicator/kama.d.ts +2 -0
- package/dist/engine/renderers/Indicator/kama.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/kama.js +18 -8
- package/dist/engine/renderers/Indicator/kama.js.map +1 -1
- package/dist/engine/renderers/Indicator/keltner.d.ts +4 -1
- package/dist/engine/renderers/Indicator/keltner.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/keltner.js +19 -8
- package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
- package/dist/engine/renderers/Indicator/kst.d.ts +2 -1
- package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/kst.js +11 -10
- package/dist/engine/renderers/Indicator/kst.js.map +1 -1
- package/dist/engine/renderers/Indicator/ma.d.ts +4 -1
- package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ma.js +32 -9
- package/dist/engine/renderers/Indicator/ma.js.map +1 -1
- package/dist/engine/renderers/Indicator/macd.d.ts +1 -1
- package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/macd.js +9 -10
- package/dist/engine/renderers/Indicator/macd.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +38 -136
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mfi.d.ts +4 -1
- package/dist/engine/renderers/Indicator/mfi.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mfi.js +15 -8
- package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
- package/dist/engine/renderers/Indicator/mom.d.ts +2 -1
- package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mom.js +6 -10
- package/dist/engine/renderers/Indicator/mom.js.map +1 -1
- package/dist/engine/renderers/Indicator/obv.d.ts +4 -1
- package/dist/engine/renderers/Indicator/obv.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/obv.js +14 -8
- package/dist/engine/renderers/Indicator/obv.js.map +1 -1
- package/dist/engine/renderers/Indicator/parkinson.d.ts +4 -1
- package/dist/engine/renderers/Indicator/parkinson.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/parkinson.js +17 -8
- package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
- package/dist/engine/renderers/Indicator/pivot.d.ts +2 -0
- package/dist/engine/renderers/Indicator/pivot.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/pivot.js +42 -8
- package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
- package/dist/engine/renderers/Indicator/pvt.d.ts +4 -1
- package/dist/engine/renderers/Indicator/pvt.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/pvt.js +14 -8
- package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
- package/dist/engine/renderers/Indicator/roc.d.ts +4 -1
- package/dist/engine/renderers/Indicator/roc.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/roc.js +15 -8
- package/dist/engine/renderers/Indicator/roc.js.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.d.ts +2 -1
- package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.js +9 -10
- package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
- package/dist/engine/renderers/Indicator/sar.d.ts +4 -1
- package/dist/engine/renderers/Indicator/sar.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/sar.js +17 -8
- package/dist/engine/renderers/Indicator/sar.js.map +1 -1
- package/dist/engine/renderers/Indicator/stoch.d.ts +2 -1
- package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/stoch.js +8 -10
- package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
- package/dist/engine/renderers/Indicator/structure.d.ts +4 -1
- package/dist/engine/renderers/Indicator/structure.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/structure.js +21 -9
- package/dist/engine/renderers/Indicator/structure.js.map +1 -1
- package/dist/engine/renderers/Indicator/supertrend.d.ts +4 -1
- package/dist/engine/renderers/Indicator/supertrend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/supertrend.js +18 -9
- package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
- package/dist/engine/renderers/Indicator/tema.d.ts +2 -0
- package/dist/engine/renderers/Indicator/tema.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/tema.js +18 -8
- package/dist/engine/renderers/Indicator/tema.js.map +1 -1
- package/dist/engine/renderers/Indicator/trix.d.ts +4 -1
- package/dist/engine/renderers/Indicator/trix.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/trix.js +29 -8
- package/dist/engine/renderers/Indicator/trix.js.map +1 -1
- package/dist/engine/renderers/Indicator/vma.d.ts +4 -1
- package/dist/engine/renderers/Indicator/vma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/vma.js +15 -8
- package/dist/engine/renderers/Indicator/vma.js.map +1 -1
- package/dist/engine/renderers/Indicator/volumeProfile.d.ts +4 -1
- package/dist/engine/renderers/Indicator/volumeProfile.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/volumeProfile.js +27 -8
- package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
- package/dist/engine/renderers/Indicator/vwap.d.ts +4 -1
- package/dist/engine/renderers/Indicator/vwap.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/vwap.js +14 -8
- package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
- package/dist/engine/renderers/Indicator/wma.d.ts +2 -0
- package/dist/engine/renderers/Indicator/wma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/wma.js +18 -8
- package/dist/engine/renderers/Indicator/wma.js.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.d.ts +2 -1
- package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.js +6 -10
- package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
- package/dist/engine/renderers/Indicator/zones.d.ts +2 -0
- package/dist/engine/renderers/Indicator/zones.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/zones.js +23 -8
- package/dist/engine/renderers/Indicator/zones.js.map +1 -1
- package/dist/engine/renderers/paneTitle.d.ts +4 -10
- package/dist/engine/renderers/paneTitle.d.ts.map +1 -1
- package/dist/engine/renderers/paneTitle.js +30 -7
- package/dist/engine/renderers/paneTitle.js.map +1 -1
- package/dist/engine/renderers/subVolume.js +0 -3
- package/dist/engine/renderers/subVolume.js.map +1 -1
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +2 -1
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/semantic/controller.d.ts +3 -14
- package/dist/semantic/controller.d.ts.map +1 -1
- package/dist/semantic/controller.js +9 -43
- package/dist/semantic/controller.js.map +1 -1
- package/dist/semantic/index.d.ts +3 -2
- package/dist/semantic/index.d.ts.map +1 -1
- package/dist/semantic/index.js +1 -1
- package/dist/semantic/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +7 -7
- package/src/config/chartSettings.ts +0 -1
- package/src/controllers/__tests__/indicatorSelector.test.ts +5 -4
- package/src/controllers/createChartController.ts +28 -1
- package/src/controllers/createIndicatorSelectorController.ts +4 -6
- package/src/controllers/index.ts +7 -6
- package/src/controllers/types.ts +30 -0
- package/src/data-fetchers/baostock.ts +34 -0
- package/src/data-fetchers/hundred-mock.ts +31 -0
- package/src/data-fetchers/index.ts +4 -0
- package/src/data-fetchers/router.ts +17 -0
- package/src/data-fetchers/thousand-mock.ts +30 -0
- package/src/engine/chart.ts +91 -23
- package/src/engine/indicators/__tests__/registerBuiltins.test.ts +4 -5
- package/src/engine/indicators/indicatorDefinitionRegistry.ts +35 -2
- package/src/engine/indicators/indicatorMetadata.ts +39 -2
- package/src/engine/indicators/indicatorRuntime.ts +5 -4
- package/src/engine/indicators/scheduler.ts +32 -8
- package/src/engine/renderers/Indicator/atr.ts +8 -11
- package/src/engine/renderers/Indicator/boll.ts +31 -10
- package/src/engine/renderers/Indicator/cci.ts +9 -14
- package/src/engine/renderers/Indicator/chaikinVol.ts +24 -8
- package/src/engine/renderers/Indicator/cmf.ts +23 -8
- package/src/engine/renderers/Indicator/dema.ts +27 -9
- package/src/engine/renderers/Indicator/donchian.ts +27 -9
- package/src/engine/renderers/Indicator/ene.ts +31 -10
- package/src/engine/renderers/Indicator/expma.ts +30 -10
- package/src/engine/renderers/Indicator/fastk.ts +9 -14
- package/src/engine/renderers/Indicator/fib.ts +28 -9
- package/src/engine/renderers/Indicator/hma.ts +27 -9
- package/src/engine/renderers/Indicator/hv.ts +26 -8
- package/src/engine/renderers/Indicator/ichimoku.ts +30 -9
- package/src/engine/renderers/Indicator/index.ts +27 -28
- package/src/engine/renderers/Indicator/indicatorCatalog.ts +346 -0
- package/src/engine/renderers/Indicator/kama.ts +27 -9
- package/src/engine/renderers/Indicator/keltner.ts +27 -9
- package/src/engine/renderers/Indicator/kst.ts +14 -18
- package/src/engine/renderers/Indicator/ma.ts +43 -9
- package/src/engine/renderers/Indicator/macd.ts +27 -32
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +43 -162
- package/src/engine/renderers/Indicator/mfi.ts +23 -8
- package/src/engine/renderers/Indicator/mom.ts +9 -14
- package/src/engine/renderers/Indicator/obv.ts +22 -8
- package/src/engine/renderers/Indicator/parkinson.ts +26 -8
- package/src/engine/renderers/Indicator/pivot.ts +46 -9
- package/src/engine/renderers/Indicator/pvt.ts +22 -8
- package/src/engine/renderers/Indicator/roc.ts +24 -8
- package/src/engine/renderers/Indicator/rsi.ts +12 -16
- package/src/engine/renderers/Indicator/sar.ts +25 -9
- package/src/engine/renderers/Indicator/stoch.ts +11 -15
- package/src/engine/renderers/Indicator/structure.ts +31 -9
- package/src/engine/renderers/Indicator/supertrend.ts +26 -10
- package/src/engine/renderers/Indicator/tema.ts +27 -9
- package/src/engine/renderers/Indicator/trix.ts +38 -8
- package/src/engine/renderers/Indicator/vma.ts +23 -8
- package/src/engine/renderers/Indicator/volumeProfile.ts +39 -8
- package/src/engine/renderers/Indicator/vwap.ts +22 -8
- package/src/engine/renderers/Indicator/wma.ts +27 -9
- package/src/engine/renderers/Indicator/wmsr.ts +9 -14
- package/src/engine/renderers/Indicator/zones.ts +28 -9
- package/src/engine/renderers/__tests__/mainIndicatorLegend.renderer.test.ts +142 -79
- package/src/engine/renderers/paneTitle.ts +45 -19
- package/src/engine/renderers/subVolume.ts +0 -2
- package/src/engine/subPaneManager.ts +2 -1
- package/src/semantic/__tests__/controller.test.ts +19 -7
- package/src/semantic/controller.ts +9 -57
- package/src/semantic/index.ts +3 -2
- package/src/version.ts +1 -1
- package/dist/engine/renderers/Indicator/indicatorData.d.ts.map +0 -1
- package/dist/engine/renderers/Indicator/indicatorData.js.map +0 -1
- package/dist/engine/renderers/Indicator/macdLegend.d.ts +0 -13
- package/dist/engine/renderers/Indicator/macdLegend.d.ts.map +0 -1
- package/dist/engine/renderers/Indicator/macdLegend.js +0 -116
- package/dist/engine/renderers/Indicator/macdLegend.js.map +0 -1
- package/dist/engine/renderers/Indicator/subPaneConfig.d.ts +0 -16
- package/dist/engine/renderers/Indicator/subPaneConfig.d.ts.map +0 -1
- package/dist/engine/renderers/Indicator/subPaneConfig.js +0 -194
- package/dist/engine/renderers/Indicator/subPaneConfig.js.map +0 -1
- package/src/engine/renderers/Indicator/indicatorData.ts +0 -650
- package/src/engine/renderers/Indicator/macdLegend.ts +0 -141
- package/src/engine/renderers/Indicator/subPaneConfig.ts +0 -265
|
@@ -1,398 +1,136 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { getRegisteredIndicatorDefinitions } from '../../indicators/indicatorDefinitionRegistry';
|
|
2
|
+
function normalizeId(id) {
|
|
3
|
+
return id.trim().toLowerCase().replace(/[^a-z0-9]/g, '');
|
|
4
|
+
}
|
|
5
|
+
// UI-only metadata that don't belong in the @Indicator decorator (rendering layer)
|
|
6
|
+
const uiMeta = {
|
|
7
|
+
ma: {
|
|
8
|
+
name: '均线',
|
|
9
|
+
description: '',
|
|
10
|
+
params: [],
|
|
11
|
+
},
|
|
12
|
+
volume: {
|
|
6
13
|
name: '成交量',
|
|
7
|
-
pane: 'sub',
|
|
8
14
|
description: '成交量反映市场活跃度,柱状图显示每根K线的交易量。上涨时柱子为红色,下跌时为绿色。',
|
|
9
15
|
},
|
|
10
|
-
{
|
|
11
|
-
id: 'BOLL',
|
|
12
|
-
label: 'BOLL',
|
|
16
|
+
boll: {
|
|
13
17
|
name: '布林带',
|
|
14
|
-
pane: 'main',
|
|
15
18
|
description: '布林带由三条轨道线组成,用于判断价格的波动范围和趋势强度。价格触及上轨可能超买,触及下轨可能超卖。',
|
|
16
19
|
params: [
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
label: '周期',
|
|
20
|
-
type: 'number',
|
|
21
|
-
min: 2,
|
|
22
|
-
max: 100,
|
|
23
|
-
step: 1,
|
|
24
|
-
default: 20,
|
|
25
|
-
description: '计算移动平均线的周期数,周期越长轨道越平滑',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
key: 'multiplier',
|
|
29
|
-
label: '倍数',
|
|
30
|
-
type: 'number',
|
|
31
|
-
min: 0.1,
|
|
32
|
-
max: 5,
|
|
33
|
-
step: 0.1,
|
|
34
|
-
default: 2,
|
|
35
|
-
description: '标准差倍数,决定轨道宽度,通常为 2',
|
|
36
|
-
},
|
|
20
|
+
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 20, description: '计算移动平均线的周期数,周期越长轨道越平滑' },
|
|
21
|
+
{ key: 'multiplier', label: '倍数', type: 'number', min: 0.1, max: 5, step: 0.1, default: 2, description: '标准差倍数,决定轨道宽度,通常为 2' },
|
|
37
22
|
],
|
|
38
23
|
},
|
|
39
|
-
{
|
|
40
|
-
id: 'EXPMA',
|
|
41
|
-
label: 'EXPMA',
|
|
24
|
+
expma: {
|
|
42
25
|
name: '指数平滑移动平均线',
|
|
43
|
-
pane: 'main',
|
|
44
26
|
description: 'EXPMA 对近期价格给予更高权重,比普通 MA 更敏感。快线上穿慢线为金叉看涨,下穿为死叉看跌。',
|
|
45
27
|
params: [
|
|
46
|
-
{
|
|
47
|
-
|
|
48
|
-
label: '快线',
|
|
49
|
-
type: 'number',
|
|
50
|
-
min: 2,
|
|
51
|
-
max: 100,
|
|
52
|
-
step: 1,
|
|
53
|
-
default: 12,
|
|
54
|
-
description: '快线周期,对价格变化更敏感',
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
key: 'slowPeriod',
|
|
58
|
-
label: '慢线',
|
|
59
|
-
type: 'number',
|
|
60
|
-
min: 2,
|
|
61
|
-
max: 200,
|
|
62
|
-
step: 1,
|
|
63
|
-
default: 50,
|
|
64
|
-
description: '慢线周期,用于判断趋势方向',
|
|
65
|
-
},
|
|
28
|
+
{ key: 'fastPeriod', label: '快线', type: 'number', min: 2, max: 100, step: 1, default: 12, description: '快线周期,对价格变化更敏感' },
|
|
29
|
+
{ key: 'slowPeriod', label: '慢线', type: 'number', min: 2, max: 200, step: 1, default: 50, description: '慢线周期,用于判断趋势方向' },
|
|
66
30
|
],
|
|
67
31
|
},
|
|
68
|
-
{
|
|
69
|
-
id: 'ENE',
|
|
70
|
-
label: 'ENE',
|
|
32
|
+
ene: {
|
|
71
33
|
name: '轨道线',
|
|
72
|
-
pane: 'main',
|
|
73
34
|
description: 'ENE 轨道线由三条轨道组成,价格突破上轨可能超买,突破下轨可能超卖,适合判断震荡行情的买卖点。',
|
|
74
35
|
params: [
|
|
75
|
-
{
|
|
76
|
-
|
|
77
|
-
label: '周期',
|
|
78
|
-
type: 'number',
|
|
79
|
-
min: 2,
|
|
80
|
-
max: 100,
|
|
81
|
-
step: 1,
|
|
82
|
-
default: 10,
|
|
83
|
-
description: '计算中轨的周期数',
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
key: 'deviation',
|
|
87
|
-
label: '偏离率',
|
|
88
|
-
type: 'number',
|
|
89
|
-
min: 1,
|
|
90
|
-
max: 30,
|
|
91
|
-
step: 0.5,
|
|
92
|
-
default: 11,
|
|
93
|
-
description: '轨道偏离率百分比,决定轨道宽度',
|
|
94
|
-
},
|
|
36
|
+
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: '计算中轨的周期数' },
|
|
37
|
+
{ key: 'deviation', label: '偏离率', type: 'number', min: 1, max: 30, step: 0.5, default: 11, description: '轨道偏离率百分比,决定轨道宽度' },
|
|
95
38
|
],
|
|
96
39
|
},
|
|
97
|
-
{
|
|
98
|
-
id: 'MACD',
|
|
99
|
-
label: 'MACD',
|
|
40
|
+
macd: {
|
|
100
41
|
name: '指数平滑异同移动平均线',
|
|
101
|
-
pane: 'sub',
|
|
102
42
|
description: 'MACD 通过快慢均线的交叉判断趋势方向和动量。DIF 上穿 DEA 为金叉看涨,下穿为死叉看跌。',
|
|
103
43
|
params: [
|
|
104
|
-
{
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
type: 'number',
|
|
108
|
-
min: 2,
|
|
109
|
-
max: 50,
|
|
110
|
-
step: 1,
|
|
111
|
-
default: 12,
|
|
112
|
-
description: '快线 EMA 周期,对价格变化更敏感',
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
key: 'slowPeriod',
|
|
116
|
-
label: '慢线',
|
|
117
|
-
type: 'number',
|
|
118
|
-
min: 2,
|
|
119
|
-
max: 100,
|
|
120
|
-
step: 1,
|
|
121
|
-
default: 26,
|
|
122
|
-
description: '慢线 EMA 周期,用于计算 DIF',
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
key: 'signalPeriod',
|
|
126
|
-
label: '信号',
|
|
127
|
-
type: 'number',
|
|
128
|
-
min: 2,
|
|
129
|
-
max: 50,
|
|
130
|
-
step: 1,
|
|
131
|
-
default: 9,
|
|
132
|
-
description: 'DEA 的 EMA 周期,用于生成买卖信号',
|
|
133
|
-
},
|
|
44
|
+
{ key: 'fastPeriod', label: '快线', type: 'number', min: 2, max: 50, step: 1, default: 12, description: '快线 EMA 周期,对价格变化更敏感' },
|
|
45
|
+
{ key: 'slowPeriod', label: '慢线', type: 'number', min: 2, max: 100, step: 1, default: 26, description: '慢线 EMA 周期,用于计算 DIF' },
|
|
46
|
+
{ key: 'signalPeriod', label: '信号', type: 'number', min: 2, max: 50, step: 1, default: 9, description: 'DEA 的 EMA 周期,用于生成买卖信号' },
|
|
134
47
|
],
|
|
135
48
|
},
|
|
136
|
-
{
|
|
137
|
-
id: 'RSI',
|
|
138
|
-
label: 'RSI',
|
|
49
|
+
rsi: {
|
|
139
50
|
name: '相对强弱指标',
|
|
140
|
-
pane: 'sub',
|
|
141
51
|
description: 'RSI 衡量价格变动的速度和幅度,判断超买超卖状态。RSI > 70 超买,RSI < 30 超卖。',
|
|
142
52
|
params: [
|
|
143
|
-
{
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
type: 'number',
|
|
147
|
-
min: 2,
|
|
148
|
-
max: 100,
|
|
149
|
-
step: 1,
|
|
150
|
-
default: 6,
|
|
151
|
-
description: '第一条 RSI 周期,通常为 6(快线)',
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
key: 'period2',
|
|
155
|
-
label: '周期 2',
|
|
156
|
-
type: 'number',
|
|
157
|
-
min: 2,
|
|
158
|
-
max: 100,
|
|
159
|
-
step: 1,
|
|
160
|
-
default: 12,
|
|
161
|
-
description: '第二条 RSI 周期,通常为 12(中线)',
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
key: 'period3',
|
|
165
|
-
label: '周期 3',
|
|
166
|
-
type: 'number',
|
|
167
|
-
min: 2,
|
|
168
|
-
max: 100,
|
|
169
|
-
step: 1,
|
|
170
|
-
default: 24,
|
|
171
|
-
description: '第三条 RSI 周期,通常为 24(慢线)',
|
|
172
|
-
},
|
|
53
|
+
{ key: 'period1', label: '周期 1', type: 'number', min: 2, max: 100, step: 1, default: 6, description: '第一条 RSI 周期,通常为 6(快线)' },
|
|
54
|
+
{ key: 'period2', label: '周期 2', type: 'number', min: 2, max: 100, step: 1, default: 12, description: '第二条 RSI 周期,通常为 12(中线)' },
|
|
55
|
+
{ key: 'period3', label: '周期 3', type: 'number', min: 2, max: 100, step: 1, default: 24, description: '第三条 RSI 周期,通常为 24(慢线)' },
|
|
173
56
|
],
|
|
174
57
|
},
|
|
175
|
-
{
|
|
176
|
-
id: 'CCI',
|
|
177
|
-
label: 'CCI',
|
|
58
|
+
cci: {
|
|
178
59
|
name: '顺势指标',
|
|
179
|
-
pane: 'sub',
|
|
180
60
|
description: 'CCI 衡量价格与统计平均值的偏离程度。CCI > 100 超买,CCI < -100 超卖,适合捕捉趋势反转。',
|
|
181
61
|
params: [
|
|
182
|
-
{
|
|
183
|
-
key: 'period',
|
|
184
|
-
label: '周期',
|
|
185
|
-
type: 'number',
|
|
186
|
-
min: 2,
|
|
187
|
-
max: 100,
|
|
188
|
-
step: 1,
|
|
189
|
-
default: 14,
|
|
190
|
-
description: '计算周期,周期越短信号越灵敏',
|
|
191
|
-
},
|
|
62
|
+
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 14, description: '计算周期,周期越短信号越灵敏' },
|
|
192
63
|
],
|
|
193
64
|
},
|
|
194
|
-
{
|
|
195
|
-
id: 'STOCH',
|
|
196
|
-
label: 'STOCH',
|
|
65
|
+
stoch: {
|
|
197
66
|
name: '随机指标',
|
|
198
|
-
pane: 'sub',
|
|
199
67
|
description: 'KDJ 随机指标通过比较收盘价与价格区间判断超买超卖。K > 80 超买,K < 20 超卖,K 上穿 D 金叉。',
|
|
200
68
|
params: [
|
|
201
|
-
{
|
|
202
|
-
|
|
203
|
-
label: 'K 周期',
|
|
204
|
-
type: 'number',
|
|
205
|
-
min: 2,
|
|
206
|
-
max: 100,
|
|
207
|
-
step: 1,
|
|
208
|
-
default: 9,
|
|
209
|
-
description: '计算 K 值的周期,统计 N 日内价格区间',
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
key: 'm',
|
|
213
|
-
label: 'D 周期',
|
|
214
|
-
type: 'number',
|
|
215
|
-
min: 1,
|
|
216
|
-
max: 50,
|
|
217
|
-
step: 1,
|
|
218
|
-
default: 3,
|
|
219
|
-
description: 'D 值是 K 的 M 日移动平均,使信号更平滑',
|
|
220
|
-
},
|
|
69
|
+
{ key: 'n', label: 'K 周期', type: 'number', min: 2, max: 100, step: 1, default: 9, description: '计算 K 值的周期,统计 N 日内价格区间' },
|
|
70
|
+
{ key: 'm', label: 'D 周期', type: 'number', min: 1, max: 50, step: 1, default: 3, description: 'D 值是 K 的 M 日移动平均,使信号更平滑' },
|
|
221
71
|
],
|
|
222
72
|
},
|
|
223
|
-
{
|
|
224
|
-
id: 'MOM',
|
|
225
|
-
label: 'MOM',
|
|
73
|
+
mom: {
|
|
226
74
|
name: '动量指标',
|
|
227
|
-
pane: 'sub',
|
|
228
75
|
description: '动量指标衡量价格变化的速度,MOM > 0 表示上涨动能,MOM < 0 表示下跌动能。适合判断趋势强度。',
|
|
229
76
|
params: [
|
|
230
|
-
{
|
|
231
|
-
key: 'period',
|
|
232
|
-
label: '周期',
|
|
233
|
-
type: 'number',
|
|
234
|
-
min: 2,
|
|
235
|
-
max: 100,
|
|
236
|
-
step: 1,
|
|
237
|
-
default: 10,
|
|
238
|
-
description: '与多少日前价格比较,周期越短越灵敏',
|
|
239
|
-
},
|
|
77
|
+
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: '与多少日前价格比较,周期越短越灵敏' },
|
|
240
78
|
],
|
|
241
79
|
},
|
|
242
|
-
{
|
|
243
|
-
id: 'WMSR',
|
|
244
|
-
label: 'WMSR',
|
|
80
|
+
wmsr: {
|
|
245
81
|
name: '威廉指标',
|
|
246
|
-
pane: 'sub',
|
|
247
82
|
description: '威廉指标衡量超买超卖程度,范围为 -100 到 0。WMSR > -20 超买,WMSR < -80 超卖。',
|
|
248
83
|
params: [
|
|
249
|
-
{
|
|
250
|
-
key: 'period',
|
|
251
|
-
label: '周期',
|
|
252
|
-
type: 'number',
|
|
253
|
-
min: 2,
|
|
254
|
-
max: 100,
|
|
255
|
-
step: 1,
|
|
256
|
-
default: 14,
|
|
257
|
-
description: '回溯周期,统计周期内最高最低价',
|
|
258
|
-
},
|
|
84
|
+
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 14, description: '回溯周期,统计周期内最高最低价' },
|
|
259
85
|
],
|
|
260
86
|
},
|
|
261
|
-
{
|
|
262
|
-
id: 'KST',
|
|
263
|
-
label: 'KST',
|
|
87
|
+
kst: {
|
|
264
88
|
name: '确然指标',
|
|
265
|
-
pane: 'sub',
|
|
266
89
|
description: 'KST 综合多个 ROC 判断长期趋势,KST 上穿信号线看涨,下穿看跌。适合捕捉主要趋势转换。',
|
|
267
90
|
params: [
|
|
268
|
-
{
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
max: 100,
|
|
274
|
-
step: 1,
|
|
275
|
-
default: 10,
|
|
276
|
-
description: '短期变化率周期',
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
key: 'roc2',
|
|
280
|
-
label: 'ROC2',
|
|
281
|
-
type: 'number',
|
|
282
|
-
min: 2,
|
|
283
|
-
max: 100,
|
|
284
|
-
step: 1,
|
|
285
|
-
default: 15,
|
|
286
|
-
description: '中短期变化率周期',
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
key: 'roc3',
|
|
290
|
-
label: 'ROC3',
|
|
291
|
-
type: 'number',
|
|
292
|
-
min: 2,
|
|
293
|
-
max: 100,
|
|
294
|
-
step: 1,
|
|
295
|
-
default: 20,
|
|
296
|
-
description: '中长期变化率周期',
|
|
297
|
-
},
|
|
298
|
-
{
|
|
299
|
-
key: 'roc4',
|
|
300
|
-
label: 'ROC4',
|
|
301
|
-
type: 'number',
|
|
302
|
-
min: 2,
|
|
303
|
-
max: 100,
|
|
304
|
-
step: 1,
|
|
305
|
-
default: 30,
|
|
306
|
-
description: '长期变化率周期',
|
|
307
|
-
},
|
|
308
|
-
{
|
|
309
|
-
key: 'signalPeriod',
|
|
310
|
-
label: '信号',
|
|
311
|
-
type: 'number',
|
|
312
|
-
min: 2,
|
|
313
|
-
max: 50,
|
|
314
|
-
step: 1,
|
|
315
|
-
default: 9,
|
|
316
|
-
description: '信号线的 SMA 周期',
|
|
317
|
-
},
|
|
91
|
+
{ key: 'roc1', label: 'ROC1', type: 'number', min: 2, max: 100, step: 1, default: 10, description: '短期变化率周期' },
|
|
92
|
+
{ key: 'roc2', label: 'ROC2', type: 'number', min: 2, max: 100, step: 1, default: 15, description: '中短期变化率周期' },
|
|
93
|
+
{ key: 'roc3', label: 'ROC3', type: 'number', min: 2, max: 100, step: 1, default: 20, description: '中长期变化率周期' },
|
|
94
|
+
{ key: 'roc4', label: 'ROC4', type: 'number', min: 2, max: 100, step: 1, default: 30, description: '长期变化率周期' },
|
|
95
|
+
{ key: 'signalPeriod', label: '信号', type: 'number', min: 2, max: 50, step: 1, default: 9, description: '信号线的 SMA 周期' },
|
|
318
96
|
],
|
|
319
97
|
},
|
|
320
|
-
{
|
|
321
|
-
id: 'FASTK',
|
|
322
|
-
label: 'FASTK',
|
|
98
|
+
fastk: {
|
|
323
99
|
name: '快速随机指标',
|
|
324
|
-
pane: 'sub',
|
|
325
100
|
description: 'FASTK 是未经过平滑处理的随机指标,比普通 KDJ 更敏感,能更快捕捉价格转折点,但假信号也更多。',
|
|
326
101
|
params: [
|
|
327
|
-
{
|
|
328
|
-
key: 'period',
|
|
329
|
-
label: '周期',
|
|
330
|
-
type: 'number',
|
|
331
|
-
min: 2,
|
|
332
|
-
max: 100,
|
|
333
|
-
step: 1,
|
|
334
|
-
default: 9,
|
|
335
|
-
description: '计算周期,周期越短越敏感',
|
|
336
|
-
},
|
|
102
|
+
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 9, description: '计算周期,周期越短越敏感' },
|
|
337
103
|
],
|
|
338
104
|
},
|
|
339
|
-
{
|
|
340
|
-
id: 'ATR',
|
|
341
|
-
label: 'ATR',
|
|
105
|
+
atr: {
|
|
342
106
|
name: '平均真实波幅',
|
|
343
|
-
pane: 'sub',
|
|
344
107
|
description: 'ATR(Average True Range)衡量市场波动性,值越大表示波动越剧烈。Wilder 平滑算法,常用于设置止损位和判断趋势强度。',
|
|
345
108
|
params: [
|
|
346
|
-
{
|
|
347
|
-
key: 'period',
|
|
348
|
-
label: '周期',
|
|
349
|
-
type: 'number',
|
|
350
|
-
min: 1,
|
|
351
|
-
max: 100,
|
|
352
|
-
step: 1,
|
|
353
|
-
default: 14,
|
|
354
|
-
description: 'ATR 计算周期,周期越长曲线越平滑',
|
|
355
|
-
},
|
|
109
|
+
{ key: 'period', label: '周期', type: 'number', min: 1, max: 100, step: 1, default: 14, description: 'ATR 计算周期,周期越长曲线越平滑' },
|
|
356
110
|
],
|
|
357
111
|
},
|
|
358
|
-
|
|
359
|
-
{
|
|
360
|
-
id: 'WMA',
|
|
361
|
-
label: 'WMA',
|
|
112
|
+
wma: {
|
|
362
113
|
name: '加权移动平均',
|
|
363
|
-
pane: 'main',
|
|
364
114
|
description: 'WMA 对近期价格赋予更高权重,比普通 MA 反应更快,适用于短期趋势跟踪。',
|
|
365
115
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: '计算周期' }],
|
|
366
116
|
},
|
|
367
|
-
{
|
|
368
|
-
id: 'DEMA',
|
|
369
|
-
label: 'DEMA',
|
|
117
|
+
dema: {
|
|
370
118
|
name: '双指数移动平均',
|
|
371
|
-
pane: 'main',
|
|
372
119
|
description: 'DEMA 通过双重平滑减少滞后,比传统 EMA 更贴近价格,适合快速趋势判断。',
|
|
373
120
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 14, description: '计算周期' }],
|
|
374
121
|
},
|
|
375
|
-
{
|
|
376
|
-
id: 'TEMA',
|
|
377
|
-
label: 'TEMA',
|
|
122
|
+
tema: {
|
|
378
123
|
name: '三指数移动平均',
|
|
379
|
-
pane: 'main',
|
|
380
124
|
description: 'TEMA 三重平滑,滞后最小,响应最快,适合敏锐捕捉价格变化。',
|
|
381
125
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 14, description: '计算周期' }],
|
|
382
126
|
},
|
|
383
|
-
{
|
|
384
|
-
id: 'HMA',
|
|
385
|
-
label: 'HMA',
|
|
127
|
+
hma: {
|
|
386
128
|
name: '赫尔移动平均',
|
|
387
|
-
pane: 'main',
|
|
388
129
|
description: 'HMA 通过加权移动平均和平方根计算,在平滑度和响应速度之间取得极佳平衡。',
|
|
389
130
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 14, description: '计算周期' }],
|
|
390
131
|
},
|
|
391
|
-
{
|
|
392
|
-
id: 'KAMA',
|
|
393
|
-
label: 'KAMA',
|
|
132
|
+
kama: {
|
|
394
133
|
name: '考夫曼自适应移动平均',
|
|
395
|
-
pane: 'main',
|
|
396
134
|
description: 'KAMA 根据市场噪音自适应调整平滑度,趋势强时快速跟随,震荡时平滑过滤。',
|
|
397
135
|
params: [
|
|
398
136
|
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: 'ER 计算周期' },
|
|
@@ -400,33 +138,24 @@ export const allIndicators = [
|
|
|
400
138
|
{ key: 'slowPeriod', label: '慢线', type: 'number', min: 2, max: 60, step: 1, default: 30, description: '最慢平滑系数' },
|
|
401
139
|
],
|
|
402
140
|
},
|
|
403
|
-
{
|
|
404
|
-
id: 'SAR',
|
|
405
|
-
label: 'SAR',
|
|
141
|
+
sar: {
|
|
406
142
|
name: '抛物线转向',
|
|
407
|
-
pane: 'main',
|
|
408
143
|
description: 'SAR(Parabolic Stop and Reverse)通过抛物线轨迹跟踪趋势,提供动态止损和反转信号。',
|
|
409
144
|
params: [
|
|
410
145
|
{ key: 'step', label: '步长', type: 'number', min: 0.001, max: 0.1, step: 0.001, default: 0.02, description: '加速度步长' },
|
|
411
146
|
{ key: 'maxStep', label: '最大步长', type: 'number', min: 0.01, max: 0.5, step: 0.01, default: 0.2, description: '最大加速度上限' },
|
|
412
147
|
],
|
|
413
148
|
},
|
|
414
|
-
{
|
|
415
|
-
id: 'SUPERTREND',
|
|
416
|
-
label: 'ST',
|
|
149
|
+
supertrend: {
|
|
417
150
|
name: '超级趋势',
|
|
418
|
-
pane: 'main',
|
|
419
151
|
description: 'SuperTrend 基于 ATR 的通道突破系统,价格在通道上方为多头趋势,下方为空头趋势。',
|
|
420
152
|
params: [
|
|
421
153
|
{ key: 'atrPeriod', label: 'ATR 周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: 'ATR 计算周期' },
|
|
422
154
|
{ key: 'multiplier', label: '倍数', type: 'number', min: 0.5, max: 10, step: 0.5, default: 3, description: 'ATR 倍数' },
|
|
423
155
|
],
|
|
424
156
|
},
|
|
425
|
-
{
|
|
426
|
-
id: 'KELTNER',
|
|
427
|
-
label: 'KC',
|
|
157
|
+
keltner: {
|
|
428
158
|
name: '肯特纳通道',
|
|
429
|
-
pane: 'main',
|
|
430
159
|
description: 'Keltner Channel 以 EMA 为中轨,ATR 倍数确定通道宽度,适合判断突破与回归。',
|
|
431
160
|
params: [
|
|
432
161
|
{ key: 'emaPeriod', label: 'EMA 周期', type: 'number', min: 2, max: 100, step: 1, default: 20, description: '中轨 EMA 周期' },
|
|
@@ -434,19 +163,13 @@ export const allIndicators = [
|
|
|
434
163
|
{ key: 'multiplier', label: '倍数', type: 'number', min: 0.5, max: 10, step: 0.5, default: 2, description: 'ATR 倍数' },
|
|
435
164
|
],
|
|
436
165
|
},
|
|
437
|
-
{
|
|
438
|
-
id: 'DONCHIAN',
|
|
439
|
-
label: 'DC',
|
|
166
|
+
donchian: {
|
|
440
167
|
name: '唐奇安通道',
|
|
441
|
-
pane: 'main',
|
|
442
168
|
description: 'Donchian Channel 显示 N 日内最高价和最低价的通道,价格突破上下轨视为趋势信号。',
|
|
443
169
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 200, step: 1, default: 20, description: '通道周期' }],
|
|
444
170
|
},
|
|
445
|
-
{
|
|
446
|
-
id: 'ICHIMOKU',
|
|
447
|
-
label: 'IK',
|
|
171
|
+
ichimoku: {
|
|
448
172
|
name: '一目均衡表',
|
|
449
|
-
pane: 'main',
|
|
450
173
|
description: 'Ichimoku Kinko Hyo(一目均衡表)综合显示支撑阻力、趋势方向和动量,云区变色提示趋势转换。',
|
|
451
174
|
params: [
|
|
452
175
|
{ key: 'tenkanPeriod', label: '转折线', type: 'number', min: 2, max: 100, step: 1, default: 9, description: 'Tenkan-sen 周期' },
|
|
@@ -455,148 +178,97 @@ export const allIndicators = [
|
|
|
455
178
|
{ key: 'displacement', label: '偏移', type: 'number', min: 1, max: 52, step: 1, default: 26, description: '偏移量' },
|
|
456
179
|
],
|
|
457
180
|
},
|
|
458
|
-
{
|
|
459
|
-
id: 'ROC',
|
|
460
|
-
label: 'ROC',
|
|
181
|
+
roc: {
|
|
461
182
|
name: '变化率',
|
|
462
|
-
pane: 'sub',
|
|
463
183
|
description: 'ROC 衡量当前价格与 N 日前价格的百分比变化,正值表示上涨动能,负值表示下跌动能。',
|
|
464
184
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 12, description: 'ROC 周期' }],
|
|
465
185
|
},
|
|
466
|
-
{
|
|
467
|
-
id: 'TRIX',
|
|
468
|
-
label: 'TRIX',
|
|
186
|
+
trix: {
|
|
469
187
|
name: '三重指数平滑平均',
|
|
470
|
-
pane: 'sub',
|
|
471
188
|
description: 'TRIX 三平滑后取 ROC,过滤短期波动,上穿信号线为买入信号,下穿为卖出信号。',
|
|
472
189
|
params: [
|
|
473
190
|
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 15, description: 'TRIX 周期' },
|
|
474
191
|
{ key: 'signalPeriod', label: '信号', type: 'number', min: 2, max: 50, step: 1, default: 9, description: '信号线周期' },
|
|
475
192
|
],
|
|
476
193
|
},
|
|
477
|
-
{
|
|
478
|
-
id: 'HV',
|
|
479
|
-
label: 'HV',
|
|
194
|
+
hv: {
|
|
480
195
|
name: '历史波动率',
|
|
481
|
-
pane: 'sub',
|
|
482
196
|
description: 'HV 衡量过去 N 日对数收益率的年化标准差,值越高表示市场波动越大。',
|
|
483
197
|
params: [
|
|
484
198
|
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 20, description: '计算周期' },
|
|
485
199
|
{ key: 'annualizationFactor', label: '年化因子', type: 'number', min: 1, max: 365, step: 1, default: 252, description: '年化天数' },
|
|
486
200
|
],
|
|
487
201
|
},
|
|
488
|
-
{
|
|
489
|
-
id: 'PARKINSON',
|
|
490
|
-
label: 'PK',
|
|
202
|
+
parkinson: {
|
|
491
203
|
name: '帕金森波动率',
|
|
492
|
-
pane: 'sub',
|
|
493
204
|
description: 'Parkinson 利用最高最低价估算波动率,比 HV 更高效,捕捉日内波动范围。',
|
|
494
205
|
params: [
|
|
495
206
|
{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 20, description: '计算周期' },
|
|
496
207
|
{ key: 'annualizationFactor', label: '年化因子', type: 'number', min: 1, max: 365, step: 1, default: 252, description: '年化天数' },
|
|
497
208
|
],
|
|
498
209
|
},
|
|
499
|
-
{
|
|
500
|
-
id: 'CHAIKIN_VOL',
|
|
501
|
-
label: 'CV',
|
|
210
|
+
chaikin_vol: {
|
|
502
211
|
name: '蔡金波动率',
|
|
503
|
-
pane: 'sub',
|
|
504
212
|
description: 'Chaikin Volatility 衡量价格区间的宽度变化,波动率扩张预示突破,收缩预示盘整。',
|
|
505
213
|
params: [
|
|
506
214
|
{ key: 'emaPeriod', label: 'EMA 周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: '平滑周期' },
|
|
507
215
|
{ key: 'rocPeriod', label: 'ROC 周期', type: 'number', min: 2, max: 100, step: 1, default: 10, description: '变化率周期' },
|
|
508
216
|
],
|
|
509
217
|
},
|
|
510
|
-
{
|
|
511
|
-
id: 'VMA',
|
|
512
|
-
label: 'VMA',
|
|
218
|
+
vma: {
|
|
513
219
|
name: '成交量移动平均',
|
|
514
|
-
pane: 'sub',
|
|
515
220
|
description: 'VMA 对成交量做移动平均,量能上升确认趋势,量能萎缩预示反转。',
|
|
516
221
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 5, description: 'VMA 周期' }],
|
|
517
222
|
},
|
|
518
|
-
{
|
|
519
|
-
id: 'OBV',
|
|
520
|
-
label: 'OBV',
|
|
223
|
+
obv: {
|
|
521
224
|
name: '能量潮',
|
|
522
|
-
pane: 'sub',
|
|
523
225
|
description: 'OBV 累积量能,价格上涨时加量,下跌时减量。OBV 趋势与价格背离常预示反转。',
|
|
524
|
-
params: [],
|
|
525
226
|
},
|
|
526
|
-
{
|
|
527
|
-
id: 'PVT',
|
|
528
|
-
label: 'PVT',
|
|
227
|
+
pvt: {
|
|
529
228
|
name: '价量趋势',
|
|
530
|
-
pane: 'sub',
|
|
531
229
|
description: 'PVT 将成交量按价格变化率加权累计,比 OBV 更精细,反映资金流入流出力度。',
|
|
532
|
-
params: [],
|
|
533
230
|
},
|
|
534
|
-
{
|
|
535
|
-
id: 'VWAP',
|
|
536
|
-
label: 'VWAP',
|
|
231
|
+
vwap: {
|
|
537
232
|
name: '成交量加权均价',
|
|
538
|
-
pane: 'sub',
|
|
539
233
|
description: 'VWAP(Volume-Weighted Average Price)以成交量加权的均价线,机构常用作日内交易基准。',
|
|
540
234
|
params: [{ key: 'sessionResetGapMs', label: '重置间隔', type: 'number', min: 0, max: 86400000, step: 3600000, default: 0, description: '0=不重置,>0=超过间隔毫秒重置' }],
|
|
541
235
|
},
|
|
542
|
-
{
|
|
543
|
-
id: 'CMF',
|
|
544
|
-
label: 'CMF',
|
|
236
|
+
cmf: {
|
|
545
237
|
name: '蔡金资金流',
|
|
546
|
-
pane: 'sub',
|
|
547
238
|
description: 'CMF(Chaikin Money Flow)衡量资金流入流出强度,正值看涨,负值看跌。',
|
|
548
239
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 20, description: 'CMF 周期' }],
|
|
549
240
|
},
|
|
550
|
-
{
|
|
551
|
-
id: 'MFI',
|
|
552
|
-
label: 'MFI',
|
|
241
|
+
mfi: {
|
|
553
242
|
name: '资金流量指数',
|
|
554
|
-
pane: 'sub',
|
|
555
243
|
description: 'MFI(Money Flow Index)类似 RSI 但用量能加权,判断超买超卖。MFI > 80 超买,MFI < 20 超卖。',
|
|
556
244
|
params: [{ key: 'period', label: '周期', type: 'number', min: 2, max: 100, step: 1, default: 14, description: 'MFI 周期' }],
|
|
557
245
|
},
|
|
558
|
-
{
|
|
559
|
-
id: 'PIVOT',
|
|
560
|
-
label: 'PP',
|
|
246
|
+
pivot: {
|
|
561
247
|
name: '枢轴点',
|
|
562
|
-
pane: 'main',
|
|
563
248
|
description: 'Pivot Points 根据前日最高/最低/收盘计算支撑阻力位,R1-R3 为阻力,S1-S3 为支撑。',
|
|
564
|
-
params: [],
|
|
565
249
|
},
|
|
566
|
-
{
|
|
567
|
-
id: 'FIB',
|
|
568
|
-
label: 'FIB',
|
|
250
|
+
fib: {
|
|
569
251
|
name: '斐波那契',
|
|
570
|
-
pane: 'main',
|
|
571
252
|
description: 'Fibonacci 回调线标记关键回撤位(0.236/0.382/0.5/0.618/0.786),用于判断回调目标。',
|
|
572
253
|
params: [{ key: 'period', label: '周期', type: 'number', min: 5, max: 500, step: 1, default: 50, description: '计算周期' }],
|
|
573
254
|
},
|
|
574
|
-
{
|
|
575
|
-
id: 'STRUCTURE',
|
|
576
|
-
label: 'SMC',
|
|
255
|
+
structure: {
|
|
577
256
|
name: 'SMC 结构',
|
|
578
|
-
pane: 'main',
|
|
579
257
|
description: 'Swing / BOS / CHOCH 识别市场结构转换,突破结构(BOS)确认趋势,趋势反转(CHOCH)提示反转。',
|
|
580
258
|
params: [
|
|
581
259
|
{ key: 'leftWindow', label: '左窗口', type: 'number', min: 1, max: 20, step: 1, default: 2, description: '摆点左侧 K 线数' },
|
|
582
260
|
{ key: 'rightWindow', label: '右窗口', type: 'number', min: 1, max: 20, step: 1, default: 2, description: '摆点右侧 K 线数' },
|
|
583
261
|
],
|
|
584
262
|
},
|
|
585
|
-
{
|
|
586
|
-
id: 'ZONES',
|
|
587
|
-
label: 'ZONES',
|
|
263
|
+
zones: {
|
|
588
264
|
name: 'SMC 区域',
|
|
589
|
-
pane: 'main',
|
|
590
265
|
description: 'FVG(公允价值缺口)和 Order Block(订单块)识别机构交易行为中的关键流动性区域。',
|
|
591
266
|
params: [
|
|
592
267
|
{ key: 'obLookback', label: 'OB 回溯', type: 'number', min: 1, max: 50, step: 1, default: 5, description: 'Order Block 回溯窗口' },
|
|
593
268
|
],
|
|
594
269
|
},
|
|
595
|
-
{
|
|
596
|
-
id: 'VOLUME_PROFILE',
|
|
597
|
-
label: 'VP',
|
|
270
|
+
volume_profile: {
|
|
598
271
|
name: '成交量分布',
|
|
599
|
-
pane: 'sub',
|
|
600
272
|
description: 'Volume Profile 显示各价位成交量分布,识别高量区域(价值区)和低量区域(缺口),POC 为成交量最大价位。',
|
|
601
273
|
params: [
|
|
602
274
|
{ key: 'bins', label: '分箱数', type: 'number', min: 5, max: 100, step: 1, default: 24, description: '价格分箱数' },
|
|
@@ -604,14 +276,30 @@ export const allIndicators = [
|
|
|
604
276
|
{ key: 'valueAreaPercent', label: '价值区%', type: 'number', min: 0.1, max: 1, step: 0.05, default: 0.7, description: '价值区占比' },
|
|
605
277
|
],
|
|
606
278
|
},
|
|
607
|
-
|
|
279
|
+
};
|
|
280
|
+
function buildAllIndicators() {
|
|
281
|
+
return getRegisteredIndicatorDefinitions().map((def) => {
|
|
282
|
+
const key = normalizeId(def.name);
|
|
283
|
+
const ui = uiMeta[key];
|
|
284
|
+
return {
|
|
285
|
+
id: def.displayName.toUpperCase(),
|
|
286
|
+
label: def.displayName,
|
|
287
|
+
name: ui?.name ?? def.displayName,
|
|
288
|
+
pane: def.category === 'main' || def.allowMainPane ? 'main' : 'sub',
|
|
289
|
+
description: ui?.description,
|
|
290
|
+
params: ui?.params,
|
|
291
|
+
};
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
export const allIndicators = buildAllIndicators();
|
|
608
295
|
export const mainIndicators = allIndicators.filter((i) => i.pane === 'main');
|
|
609
296
|
export const subIndicators = allIndicators.filter((i) => i.pane === 'sub');
|
|
610
297
|
export function findIndicator(id) {
|
|
611
|
-
|
|
298
|
+
const norm = normalizeId(id);
|
|
299
|
+
return allIndicators.find((i) => normalizeId(i.id) === norm || normalizeId(i.label) === norm);
|
|
612
300
|
}
|
|
613
301
|
export function isSubIndicatorId(id) {
|
|
614
|
-
const indicator =
|
|
302
|
+
const indicator = findIndicator(id);
|
|
615
303
|
return indicator?.pane === 'sub';
|
|
616
304
|
}
|
|
617
|
-
//# sourceMappingURL=
|
|
305
|
+
//# sourceMappingURL=indicatorCatalog.js.map
|