@363045841yyt/klinechart-core 0.8.6 → 0.8.7
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 +21 -2
- package/dist/config/chartSettings.d.ts.map +1 -1
- package/dist/config/chartSettings.js +9 -1
- package/dist/config/chartSettings.js.map +1 -1
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +49 -2
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/types.d.ts +34 -23
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/data-fetchers/baostock.d.ts +0 -3
- package/dist/data-fetchers/baostock.d.ts.map +1 -1
- package/dist/data-fetchers/baostock.js +0 -1
- package/dist/data-fetchers/baostock.js.map +1 -1
- package/dist/data-fetchers/dataBuffer.d.ts +13 -2
- package/dist/data-fetchers/dataBuffer.d.ts.map +1 -1
- package/dist/data-fetchers/dataBuffer.js +41 -7
- package/dist/data-fetchers/dataBuffer.js.map +1 -1
- package/dist/data-fetchers/dataBufferTypes.d.ts +11 -0
- package/dist/data-fetchers/dataBufferTypes.d.ts.map +1 -0
- package/dist/data-fetchers/dataBufferTypes.js +2 -0
- package/dist/data-fetchers/dataBufferTypes.js.map +1 -0
- package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts +4 -3
- package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts.map +1 -1
- package/dist/data-fetchers/fetcherDefinitionRegistry.js +9 -2
- package/dist/data-fetchers/fetcherDefinitionRegistry.js.map +1 -1
- package/dist/data-fetchers/gotdx/gotdx.d.ts +7 -0
- package/dist/data-fetchers/gotdx/gotdx.d.ts.map +1 -0
- package/dist/data-fetchers/gotdx/gotdx.js +7 -0
- package/dist/data-fetchers/gotdx/gotdx.js.map +1 -0
- package/dist/data-fetchers/gotdx.d.ts +0 -8
- package/dist/data-fetchers/gotdx.d.ts.map +1 -1
- package/dist/data-fetchers/gotdx.js +40 -3
- package/dist/data-fetchers/gotdx.js.map +1 -1
- package/dist/data-fetchers/hundred-mock.d.ts +0 -3
- package/dist/data-fetchers/hundred-mock.d.ts.map +1 -1
- package/dist/data-fetchers/hundred-mock.js +0 -1
- package/dist/data-fetchers/hundred-mock.js.map +1 -1
- package/dist/data-fetchers/index.d.ts +10 -8
- package/dist/data-fetchers/index.d.ts.map +1 -1
- package/dist/data-fetchers/index.js +8 -7
- package/dist/data-fetchers/index.js.map +1 -1
- package/dist/data-fetchers/router.d.ts +2 -0
- package/dist/data-fetchers/router.d.ts.map +1 -1
- package/dist/data-fetchers/router.js +8 -1
- package/dist/data-fetchers/router.js.map +1 -1
- package/dist/data-fetchers/thousand-mock.d.ts +0 -3
- package/dist/data-fetchers/thousand-mock.d.ts.map +1 -1
- package/dist/data-fetchers/thousand-mock.js +0 -1
- package/dist/data-fetchers/thousand-mock.js.map +1 -1
- package/dist/data-fetchers/timeShareBuffer.d.ts +27 -0
- package/dist/data-fetchers/timeShareBuffer.d.ts.map +1 -0
- package/dist/data-fetchers/timeShareBuffer.js +79 -0
- package/dist/data-fetchers/timeShareBuffer.js.map +1 -0
- package/dist/data-fetchers/tradingview.d.ts +0 -8
- package/dist/data-fetchers/tradingview.d.ts.map +1 -1
- package/dist/data-fetchers/tradingview.js +1 -2
- package/dist/data-fetchers/tradingview.js.map +1 -1
- package/dist/data-fetchers/types.d.ts +9 -1
- package/dist/data-fetchers/types.d.ts.map +1 -1
- package/dist/engine/chart.d.ts +29 -1
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +140 -5
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/chartTypes.d.ts +3 -0
- package/dist/engine/chartTypes.d.ts.map +1 -1
- package/dist/engine/controller/interaction.d.ts +6 -1
- package/dist/engine/controller/interaction.d.ts.map +1 -1
- package/dist/engine/controller/interaction.js +76 -28
- package/dist/engine/controller/interaction.js.map +1 -1
- package/dist/engine/data/chartDataManager.d.ts +38 -11
- package/dist/engine/data/chartDataManager.d.ts.map +1 -1
- package/dist/engine/data/chartDataManager.js +491 -188
- package/dist/engine/data/chartDataManager.js.map +1 -1
- package/dist/engine/draw/pixelAlign.d.ts +0 -27
- package/dist/engine/draw/pixelAlign.d.ts.map +1 -1
- package/dist/engine/draw/pixelAlign.js +1 -1
- package/dist/engine/draw/pixelAlign.js.map +1 -1
- package/dist/engine/indicators/calculators.d.ts +0 -104
- package/dist/engine/indicators/calculators.d.ts.map +1 -1
- package/dist/engine/indicators/calculators.js +57 -168
- package/dist/engine/indicators/calculators.js.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.js +3 -2
- package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
- package/dist/engine/indicators/macdState.d.ts +0 -5
- package/dist/engine/indicators/macdState.d.ts.map +1 -1
- package/dist/engine/indicators/macdState.js +1 -1
- package/dist/engine/indicators/macdState.js.map +1 -1
- package/dist/engine/indicators/registerBuiltins.d.ts.map +1 -1
- package/dist/engine/indicators/registerBuiltins.js +1 -0
- package/dist/engine/indicators/registerBuiltins.js.map +1 -1
- package/dist/engine/indicators/rsiState.d.ts +0 -4
- package/dist/engine/indicators/rsiState.d.ts.map +1 -1
- package/dist/engine/indicators/rsiState.js +1 -1
- package/dist/engine/indicators/rsiState.js.map +1 -1
- package/dist/engine/indicators/scheduler.d.ts.map +1 -1
- package/dist/engine/indicators/scheduler.js +1 -7
- package/dist/engine/indicators/scheduler.js.map +1 -1
- package/dist/engine/layout/chartPaneLayout.d.ts +2 -0
- package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
- package/dist/engine/layout/chartPaneLayout.js +24 -6
- package/dist/engine/layout/chartPaneLayout.js.map +1 -1
- package/dist/engine/modes/kLineMode.d.ts +37 -0
- package/dist/engine/modes/kLineMode.d.ts.map +1 -0
- package/dist/engine/modes/kLineMode.js +22 -0
- package/dist/engine/modes/kLineMode.js.map +1 -0
- package/dist/engine/modes/timeShareMode.d.ts +37 -0
- package/dist/engine/modes/timeShareMode.d.ts.map +1 -0
- package/dist/engine/modes/timeShareMode.js +59 -0
- package/dist/engine/modes/timeShareMode.js.map +1 -0
- package/dist/engine/modes/types.d.ts +47 -0
- package/dist/engine/modes/types.d.ts.map +1 -0
- package/dist/engine/modes/types.js +2 -0
- package/dist/engine/modes/types.js.map +1 -0
- package/dist/engine/paneRenderer.d.ts +4 -0
- package/dist/engine/paneRenderer.d.ts.map +1 -1
- package/dist/engine/paneRenderer.js +27 -40
- package/dist/engine/paneRenderer.js.map +1 -1
- package/dist/engine/render/chartRenderer.d.ts +4 -23
- package/dist/engine/render/chartRenderer.d.ts.map +1 -1
- package/dist/engine/render/chartRenderer.js +87 -17
- package/dist/engine/render/chartRenderer.js.map +1 -1
- package/dist/engine/renderers/Indicator/atr.d.ts +1 -18
- package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/atr.js +3 -22
- package/dist/engine/renderers/Indicator/atr.js.map +1 -1
- package/dist/engine/renderers/Indicator/boll.d.ts +1 -4
- package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/boll.js +3 -18
- package/dist/engine/renderers/Indicator/boll.js.map +1 -1
- package/dist/engine/renderers/Indicator/cci.d.ts +1 -22
- package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/cci.js +8 -20
- package/dist/engine/renderers/Indicator/cci.js.map +1 -1
- package/dist/engine/renderers/Indicator/chaikinVol.d.ts +1 -7
- package/dist/engine/renderers/Indicator/chaikinVol.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/chaikinVol.js +3 -16
- package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
- package/dist/engine/renderers/Indicator/cmf.d.ts +1 -7
- package/dist/engine/renderers/Indicator/cmf.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/cmf.js +3 -15
- package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
- package/dist/engine/renderers/Indicator/dema.d.ts +1 -7
- package/dist/engine/renderers/Indicator/dema.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/dema.js +3 -17
- package/dist/engine/renderers/Indicator/dema.js.map +1 -1
- package/dist/engine/renderers/Indicator/donchian.d.ts +1 -8
- package/dist/engine/renderers/Indicator/donchian.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/donchian.js +2 -2
- package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
- package/dist/engine/renderers/Indicator/ene.d.ts +1 -12
- package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ene.js +3 -18
- package/dist/engine/renderers/Indicator/ene.js.map +1 -1
- package/dist/engine/renderers/Indicator/expma.d.ts +1 -4
- package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/expma.js +2 -2
- package/dist/engine/renderers/Indicator/expma.js.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.d.ts +1 -22
- package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.js +11 -64
- package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
- package/dist/engine/renderers/Indicator/fib.d.ts +1 -6
- package/dist/engine/renderers/Indicator/fib.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/fib.js +2 -2
- package/dist/engine/renderers/Indicator/fib.js.map +1 -1
- package/dist/engine/renderers/Indicator/hma.d.ts +1 -7
- package/dist/engine/renderers/Indicator/hma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/hma.js +3 -17
- package/dist/engine/renderers/Indicator/hma.js.map +1 -1
- package/dist/engine/renderers/Indicator/hv.d.ts +1 -7
- package/dist/engine/renderers/Indicator/hv.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/hv.js +3 -16
- package/dist/engine/renderers/Indicator/hv.js.map +1 -1
- package/dist/engine/renderers/Indicator/ichimoku.d.ts +1 -8
- package/dist/engine/renderers/Indicator/ichimoku.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ichimoku.js +2 -2
- package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
- package/dist/engine/renderers/Indicator/kama.d.ts +1 -7
- package/dist/engine/renderers/Indicator/kama.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/kama.js +3 -17
- package/dist/engine/renderers/Indicator/kama.js.map +1 -1
- package/dist/engine/renderers/Indicator/keltner.d.ts +1 -8
- package/dist/engine/renderers/Indicator/keltner.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/keltner.js +2 -2
- package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
- package/dist/engine/renderers/Indicator/kst.d.ts +1 -22
- package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/kst.js +2 -2
- package/dist/engine/renderers/Indicator/kst.js.map +1 -1
- package/dist/engine/renderers/Indicator/ma.d.ts +1 -4
- package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ma.js +1 -1
- package/dist/engine/renderers/Indicator/ma.js.map +1 -1
- package/dist/engine/renderers/Indicator/macd.d.ts +1 -49
- package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/macd.js +2 -12
- 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 +114 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mfi.d.ts +1 -7
- package/dist/engine/renderers/Indicator/mfi.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mfi.js +3 -15
- package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
- package/dist/engine/renderers/Indicator/mom.d.ts +1 -22
- package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mom.js +8 -23
- package/dist/engine/renderers/Indicator/mom.js.map +1 -1
- package/dist/engine/renderers/Indicator/obv.d.ts +1 -7
- package/dist/engine/renderers/Indicator/obv.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/obv.js +3 -14
- package/dist/engine/renderers/Indicator/obv.js.map +1 -1
- package/dist/engine/renderers/Indicator/parkinson.d.ts +1 -7
- package/dist/engine/renderers/Indicator/parkinson.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/parkinson.js +3 -16
- package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
- package/dist/engine/renderers/Indicator/pivot.d.ts +1 -6
- package/dist/engine/renderers/Indicator/pivot.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/pivot.js +2 -2
- package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
- package/dist/engine/renderers/Indicator/pvt.d.ts +1 -7
- package/dist/engine/renderers/Indicator/pvt.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/pvt.js +3 -14
- package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
- package/dist/engine/renderers/Indicator/roc.d.ts +1 -8
- package/dist/engine/renderers/Indicator/roc.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/roc.js +3 -15
- package/dist/engine/renderers/Indicator/roc.js.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.d.ts +0 -32
- package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.js +3 -3
- package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
- package/dist/engine/renderers/Indicator/sar.d.ts +1 -8
- package/dist/engine/renderers/Indicator/sar.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/sar.js +2 -2
- package/dist/engine/renderers/Indicator/sar.js.map +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +2 -0
- package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.js +10 -6
- package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
- package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts +4 -0
- package/dist/engine/renderers/Indicator/shared/dashedLines.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/shared/dashedLines.js +50 -0
- package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -0
- package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts +14 -0
- package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/shared/titleInfo.js +25 -0
- package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -0
- package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +5 -0
- package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/shared/webglBand.js +17 -0
- package/dist/engine/renderers/Indicator/shared/webglBand.js.map +1 -0
- package/dist/engine/renderers/Indicator/stoch.d.ts +1 -22
- package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/stoch.js +5 -46
- package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
- package/dist/engine/renderers/Indicator/structure.d.ts +1 -7
- package/dist/engine/renderers/Indicator/structure.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/structure.js +2 -2
- package/dist/engine/renderers/Indicator/structure.js.map +1 -1
- package/dist/engine/renderers/Indicator/supertrend.d.ts +1 -8
- package/dist/engine/renderers/Indicator/supertrend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/supertrend.js +2 -2
- package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
- package/dist/engine/renderers/Indicator/tema.d.ts +1 -7
- package/dist/engine/renderers/Indicator/tema.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/tema.js +3 -17
- package/dist/engine/renderers/Indicator/tema.js.map +1 -1
- package/dist/engine/renderers/Indicator/trix.d.ts +1 -8
- package/dist/engine/renderers/Indicator/trix.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/trix.js +2 -2
- package/dist/engine/renderers/Indicator/trix.js.map +1 -1
- package/dist/engine/renderers/Indicator/vma.d.ts +1 -7
- package/dist/engine/renderers/Indicator/vma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/vma.js +3 -15
- package/dist/engine/renderers/Indicator/vma.js.map +1 -1
- package/dist/engine/renderers/Indicator/volumeProfile.d.ts +1 -7
- package/dist/engine/renderers/Indicator/volumeProfile.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/volumeProfile.js +2 -2
- package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
- package/dist/engine/renderers/Indicator/vwap.d.ts +1 -7
- package/dist/engine/renderers/Indicator/vwap.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/vwap.js +3 -14
- package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
- package/dist/engine/renderers/Indicator/wma.d.ts +1 -7
- package/dist/engine/renderers/Indicator/wma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/wma.js +3 -17
- package/dist/engine/renderers/Indicator/wma.js.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.d.ts +1 -22
- package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.js +8 -23
- package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
- package/dist/engine/renderers/Indicator/zones.d.ts +1 -6
- package/dist/engine/renderers/Indicator/zones.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/zones.js +2 -2
- package/dist/engine/renderers/Indicator/zones.js.map +1 -1
- package/dist/engine/renderers/candle.d.ts +0 -16
- package/dist/engine/renderers/candle.d.ts.map +1 -1
- package/dist/engine/renderers/candle.js +1 -1
- package/dist/engine/renderers/candle.js.map +1 -1
- package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
- package/dist/engine/renderers/comparisonLine.js +2 -0
- package/dist/engine/renderers/comparisonLine.js.map +1 -1
- package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
- package/dist/engine/renderers/extremaMarkers.js +2 -0
- package/dist/engine/renderers/extremaMarkers.js.map +1 -1
- package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
- package/dist/engine/renderers/lastPrice.js +7 -2
- package/dist/engine/renderers/lastPrice.js.map +1 -1
- package/dist/engine/renderers/leftYAxis.d.ts +11 -0
- package/dist/engine/renderers/leftYAxis.d.ts.map +1 -0
- package/dist/engine/renderers/leftYAxis.js +67 -0
- package/dist/engine/renderers/leftYAxis.js.map +1 -0
- package/dist/engine/renderers/subVolume.d.ts +1 -13
- package/dist/engine/renderers/subVolume.d.ts.map +1 -1
- package/dist/engine/renderers/subVolume.js +1 -1
- package/dist/engine/renderers/subVolume.js.map +1 -1
- package/dist/engine/renderers/timeAxis.d.ts +0 -2
- package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
- package/dist/engine/renderers/timeAxis.js +4 -1
- package/dist/engine/renderers/timeAxis.js.map +1 -1
- package/dist/engine/renderers/timeShare.d.ts +3 -0
- package/dist/engine/renderers/timeShare.d.ts.map +1 -0
- package/dist/engine/renderers/timeShare.js +260 -0
- package/dist/engine/renderers/timeShare.js.map +1 -0
- package/dist/engine/renderers/yAxis.d.ts.map +1 -1
- package/dist/engine/renderers/yAxis.js +9 -1
- package/dist/engine/renderers/yAxis.js.map +1 -1
- package/dist/engine/scale/price.d.ts +0 -7
- package/dist/engine/scale/price.d.ts.map +1 -1
- package/dist/engine/scale/price.js +3 -2
- package/dist/engine/scale/price.js.map +1 -1
- package/dist/engine/theme/fonts.d.ts +0 -2
- package/dist/engine/theme/fonts.d.ts.map +1 -1
- package/dist/engine/theme/fonts.js +1 -1
- package/dist/engine/theme/fonts.js.map +1 -1
- package/dist/engine/utils/klineConfig.d.ts.map +1 -1
- package/dist/engine/utils/klineConfig.js +1 -5
- package/dist/engine/utils/klineConfig.js.map +1 -1
- package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
- package/dist/engine/viewport/chartViewportManager.js +6 -5
- package/dist/engine/viewport/chartViewportManager.js.map +1 -1
- package/dist/plugin/types.d.ts +1 -0
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js.map +1 -1
- package/dist/semantic/types.d.ts +1 -1
- package/dist/semantic/types.d.ts.map +1 -1
- package/dist/tokens/theme-base.d.ts +5 -0
- package/dist/tokens/theme-base.d.ts.map +1 -0
- package/dist/tokens/theme-base.js +31 -0
- package/dist/tokens/theme-base.js.map +1 -0
- package/dist/tokens/theme-china.d.ts.map +1 -1
- package/dist/tokens/theme-china.js +3 -0
- package/dist/tokens/theme-china.js.map +1 -1
- package/dist/tokens/theme-dark.d.ts.map +1 -1
- package/dist/tokens/theme-dark.js +11 -30
- package/dist/tokens/theme-dark.js.map +1 -1
- package/dist/tokens/theme-light.d.ts.map +1 -1
- package/dist/tokens/theme-light.js +11 -30
- package/dist/tokens/theme-light.js.map +1 -1
- package/dist/tokens/types.d.ts +7 -0
- package/dist/tokens/types.d.ts.map +1 -1
- package/dist/types/price.d.ts +8 -0
- package/dist/types/price.d.ts.map +1 -1
- package/dist/types/price.js +4 -0
- package/dist/types/price.js.map +1 -1
- package/dist/utils/dateFormat.d.ts +5 -42
- package/dist/utils/dateFormat.d.ts.map +1 -1
- package/dist/utils/dateFormat.js +24 -4
- package/dist/utils/dateFormat.js.map +1 -1
- package/dist/utils/kLineDraw/axis.d.ts +9 -28
- package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
- package/dist/utils/kLineDraw/axis.js +33 -58
- package/dist/utils/kLineDraw/axis.js.map +1 -1
- package/dist/utils/volumePrice.d.ts +0 -40
- package/dist/utils/volumePrice.d.ts.map +1 -1
- package/dist/utils/volumePrice.js +2 -2
- package/dist/utils/volumePrice.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/config/chartSettings.ts +9 -1
- package/src/controllers/createChartController.ts +52 -2
- package/src/controllers/types.ts +36 -17
- package/src/data-fetchers/__tests__/dataBuffer.test.ts +39 -5
- package/src/data-fetchers/baostock.ts +1 -1
- package/src/data-fetchers/dataBuffer.ts +48 -11
- package/src/data-fetchers/dataBufferTypes.ts +11 -0
- package/src/data-fetchers/fetcherDefinitionRegistry.ts +14 -4
- package/src/data-fetchers/gotdx/gotdx.ts +6 -0
- package/src/data-fetchers/gotdx.ts +45 -7
- package/src/data-fetchers/hundred-mock.ts +1 -1
- package/src/data-fetchers/index.ts +10 -20
- package/src/data-fetchers/router.ts +12 -1
- package/src/data-fetchers/thousand-mock.ts +1 -1
- package/src/data-fetchers/timeShareBuffer.ts +92 -0
- package/src/data-fetchers/tradingview.ts +2 -2
- package/src/data-fetchers/types.ts +15 -2
- package/src/engine/__tests__/chart.dpr.test.ts +1 -0
- package/src/engine/chart.ts +157 -7
- package/src/engine/chartTypes.ts +3 -0
- package/src/engine/controller/__tests__/interaction.dpr.test.ts +2 -0
- package/src/engine/controller/interaction.ts +80 -28
- package/src/engine/data/chartDataManager.ts +557 -214
- package/src/engine/draw/pixelAlign.ts +1 -1
- package/src/engine/indicators/__tests__/_propertyAssertions.ts +2 -2
- package/src/engine/indicators/__tests__/registerBuiltins.test.ts +1 -1
- package/src/engine/indicators/calculators.ts +83 -233
- package/src/engine/indicators/chartIndicatorManager.ts +3 -2
- package/src/engine/indicators/macdState.ts +1 -1
- package/src/engine/indicators/registerBuiltins.ts +1 -0
- package/src/engine/indicators/rsiState.ts +1 -1
- package/src/engine/indicators/scheduler.ts +1 -7
- package/src/engine/layout/chartPaneLayout.ts +26 -6
- package/src/engine/modes/kLineMode.ts +57 -0
- package/src/engine/modes/timeShareMode.ts +95 -0
- package/src/engine/modes/types.ts +63 -0
- package/src/engine/paneRenderer.ts +37 -46
- package/src/engine/render/chartRenderer.ts +93 -20
- package/src/engine/renderers/Indicator/atr.ts +4 -29
- package/src/engine/renderers/Indicator/boll.ts +3 -24
- package/src/engine/renderers/Indicator/cci.ts +9 -27
- package/src/engine/renderers/Indicator/chaikinVol.ts +3 -23
- package/src/engine/renderers/Indicator/cmf.ts +3 -22
- package/src/engine/renderers/Indicator/dema.ts +5 -26
- package/src/engine/renderers/Indicator/donchian.ts +3 -3
- package/src/engine/renderers/Indicator/ene.ts +3 -24
- package/src/engine/renderers/Indicator/expma.ts +2 -2
- package/src/engine/renderers/Indicator/fastk.ts +12 -95
- package/src/engine/renderers/Indicator/fib.ts +2 -2
- package/src/engine/renderers/Indicator/hma.ts +5 -26
- package/src/engine/renderers/Indicator/hv.ts +3 -23
- package/src/engine/renderers/Indicator/ichimoku.ts +3 -3
- package/src/engine/renderers/Indicator/kama.ts +5 -26
- package/src/engine/renderers/Indicator/keltner.ts +3 -3
- package/src/engine/renderers/Indicator/kst.ts +3 -3
- package/src/engine/renderers/Indicator/ma.ts +1 -1
- package/src/engine/renderers/Indicator/macd.ts +4 -21
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +127 -2
- package/src/engine/renderers/Indicator/mfi.ts +3 -22
- package/src/engine/renderers/Indicator/mom.ts +9 -30
- package/src/engine/renderers/Indicator/obv.ts +3 -21
- package/src/engine/renderers/Indicator/parkinson.ts +3 -23
- package/src/engine/renderers/Indicator/pivot.ts +2 -2
- package/src/engine/renderers/Indicator/pvt.ts +3 -21
- package/src/engine/renderers/Indicator/roc.ts +4 -23
- package/src/engine/renderers/Indicator/rsi.ts +4 -4
- package/src/engine/renderers/Indicator/sar.ts +3 -3
- package/src/engine/renderers/Indicator/scale/indicator_scale.ts +11 -4
- package/src/engine/renderers/Indicator/shared/dashedLines.ts +81 -0
- package/src/engine/renderers/Indicator/shared/titleInfo.ts +52 -0
- package/src/engine/renderers/Indicator/shared/webglBand.ts +23 -0
- package/src/engine/renderers/Indicator/stoch.ts +6 -71
- package/src/engine/renderers/Indicator/structure.ts +2 -2
- package/src/engine/renderers/Indicator/supertrend.ts +3 -3
- package/src/engine/renderers/Indicator/tema.ts +5 -26
- package/src/engine/renderers/Indicator/trix.ts +3 -3
- package/src/engine/renderers/Indicator/vma.ts +3 -22
- package/src/engine/renderers/Indicator/volumeProfile.ts +2 -2
- package/src/engine/renderers/Indicator/vwap.ts +3 -21
- package/src/engine/renderers/Indicator/wma.ts +5 -26
- package/src/engine/renderers/Indicator/wmsr.ts +9 -30
- package/src/engine/renderers/Indicator/zones.ts +2 -2
- package/src/engine/renderers/candle.ts +1 -1
- package/src/engine/renderers/comparisonLine.ts +1 -0
- package/src/engine/renderers/extremaMarkers.ts +1 -0
- package/src/engine/renderers/lastPrice.ts +5 -2
- package/src/engine/renderers/leftYAxis.ts +77 -0
- package/src/engine/renderers/subVolume.ts +3 -3
- package/src/engine/renderers/timeAxis.ts +16 -13
- package/src/engine/renderers/timeShare.ts +271 -0
- package/src/engine/renderers/yAxis.ts +9 -1
- package/src/engine/scale/price.ts +2 -2
- package/src/engine/theme/fonts.ts +1 -1
- package/src/engine/utils/klineConfig.ts +1 -5
- package/src/engine/viewport/chartViewportManager.ts +6 -5
- package/src/plugin/types.ts +1 -0
- package/src/semantic/types.ts +1 -1
- package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +14 -0
- package/src/tokens/theme-base.ts +36 -0
- package/src/tokens/theme-china.ts +4 -0
- package/src/tokens/theme-dark.ts +12 -32
- package/src/tokens/theme-light.ts +13 -33
- package/src/tokens/types.ts +9 -0
- package/src/types/price.ts +13 -0
- package/src/utils/dateFormat.ts +27 -4
- package/src/utils/kLineDraw/axis.ts +40 -107
- package/src/utils/volumePrice.ts +2 -2
- package/src/version.ts +1 -1
|
@@ -188,7 +188,7 @@ export function calcMAData(data, period) {
|
|
|
188
188
|
export const DEFAULT_RSI_PERIOD1 = 6;
|
|
189
189
|
export const DEFAULT_RSI_PERIOD2 = 12;
|
|
190
190
|
export const DEFAULT_RSI_PERIOD3 = 24;
|
|
191
|
-
|
|
191
|
+
const DEFAULT_RSI_PERIODS = [6, 12, 24];
|
|
192
192
|
/**
|
|
193
193
|
* 计算 RSI 数据
|
|
194
194
|
* RSI = 100 - 100 / (1 + RS)
|
|
@@ -254,7 +254,7 @@ export function calcRSIData(data, period) {
|
|
|
254
254
|
// ============================================================================
|
|
255
255
|
// CCI 顺势指标
|
|
256
256
|
// ============================================================================
|
|
257
|
-
|
|
257
|
+
const DEFAULT_CCI_PERIOD = 14;
|
|
258
258
|
export function calcCCIData(data, period) {
|
|
259
259
|
const result = new Array(data.length);
|
|
260
260
|
if (data.length < period)
|
|
@@ -292,8 +292,8 @@ export function calcCCIData(data, period) {
|
|
|
292
292
|
// ============================================================================
|
|
293
293
|
// STOCH 随机指标
|
|
294
294
|
// ============================================================================
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
const DEFAULT_STOCH_N = 9;
|
|
296
|
+
const DEFAULT_STOCH_M = 3;
|
|
297
297
|
export function calcSTOCHData(data, n, m) {
|
|
298
298
|
const result = new Array(data.length);
|
|
299
299
|
if (data.length < n)
|
|
@@ -341,7 +341,7 @@ export function calcSTOCHData(data, n, m) {
|
|
|
341
341
|
// ============================================================================
|
|
342
342
|
// MOM 动量指标
|
|
343
343
|
// ============================================================================
|
|
344
|
-
|
|
344
|
+
const DEFAULT_MOM_PERIOD = 10;
|
|
345
345
|
export function calcMOMData(data, period) {
|
|
346
346
|
const result = new Array(data.length);
|
|
347
347
|
if (data.length < period + 1)
|
|
@@ -358,7 +358,7 @@ export function calcMOMData(data, period) {
|
|
|
358
358
|
// ============================================================================
|
|
359
359
|
// WMSR 威廉指标
|
|
360
360
|
// ============================================================================
|
|
361
|
-
|
|
361
|
+
const DEFAULT_WMSR_PERIOD = 14;
|
|
362
362
|
export function calcWMSRData(data, period) {
|
|
363
363
|
const result = new Array(data.length);
|
|
364
364
|
if (data.length < period)
|
|
@@ -386,11 +386,11 @@ export function calcWMSRData(data, period) {
|
|
|
386
386
|
// ============================================================================
|
|
387
387
|
// KST 确知指标
|
|
388
388
|
// ============================================================================
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
389
|
+
const DEFAULT_KST_ROC1 = 10;
|
|
390
|
+
const DEFAULT_KST_ROC2 = 15;
|
|
391
|
+
const DEFAULT_KST_ROC3 = 20;
|
|
392
|
+
const DEFAULT_KST_ROC4 = 30;
|
|
393
|
+
const DEFAULT_KST_SIGNAL = 9;
|
|
394
394
|
function calcROCInternal(data, period) {
|
|
395
395
|
const result = new Array(data.length);
|
|
396
396
|
if (data.length < period + 1)
|
|
@@ -460,7 +460,7 @@ export function calcKSTData(data, roc1, roc2, roc3, roc4, signalPeriod) {
|
|
|
460
460
|
// ============================================================================
|
|
461
461
|
// FASTK 快速随机指标
|
|
462
462
|
// ============================================================================
|
|
463
|
-
|
|
463
|
+
const DEFAULT_FASTK_PERIOD = 9;
|
|
464
464
|
export function calcFASTKData(data, period) {
|
|
465
465
|
const result = new Array(data.length);
|
|
466
466
|
if (data.length < period)
|
|
@@ -488,9 +488,9 @@ export function calcFASTKData(data, period) {
|
|
|
488
488
|
/**
|
|
489
489
|
* 默认 MACD 参数
|
|
490
490
|
*/
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
491
|
+
const DEFAULT_MACD_FAST_PERIOD = 12;
|
|
492
|
+
const DEFAULT_MACD_SLOW_PERIOD = 26;
|
|
493
|
+
const DEFAULT_MACD_SIGNAL_PERIOD = 9;
|
|
494
494
|
/**
|
|
495
495
|
* 计算 EMA(指数移动平均)值
|
|
496
496
|
* EMA(today) = close × K + EMA(yesterday) × (1 - K)
|
|
@@ -499,7 +499,7 @@ export const DEFAULT_MACD_SIGNAL_PERIOD = 9;
|
|
|
499
499
|
* @param period 周期
|
|
500
500
|
* @returns EMA 值数组,第一个值使用第一个收盘价
|
|
501
501
|
*/
|
|
502
|
-
|
|
502
|
+
function calcEMA(data, period) {
|
|
503
503
|
const result = new Array(data.length);
|
|
504
504
|
const k = 2 / (period + 1);
|
|
505
505
|
if (data.length === 0)
|
|
@@ -520,7 +520,7 @@ export function calcEMA(data, period) {
|
|
|
520
520
|
* @param period 周期
|
|
521
521
|
* @returns EMA 值数组
|
|
522
522
|
*/
|
|
523
|
-
|
|
523
|
+
function calcEMAFromArray(values, period) {
|
|
524
524
|
const result = new Array(values.length);
|
|
525
525
|
const k = 2 / (period + 1);
|
|
526
526
|
const firstValid = values.findIndex(v => v !== undefined);
|
|
@@ -713,7 +713,7 @@ export function calcMACDDataSoA(layout, fastPeriod, slowPeriod, signalPeriod) {
|
|
|
713
713
|
// ============================================================================
|
|
714
714
|
// ATR — Wilder's Average True Range
|
|
715
715
|
// ============================================================================
|
|
716
|
-
|
|
716
|
+
const DEFAULT_ATR_PERIOD = 14;
|
|
717
717
|
/**
|
|
718
718
|
* 计算 Wilder ATR。
|
|
719
719
|
* TR(0) = H(0) - L(0)
|
|
@@ -763,19 +763,12 @@ export function calcATRData(data, period) {
|
|
|
763
763
|
}
|
|
764
764
|
return result;
|
|
765
765
|
}
|
|
766
|
-
/**
|
|
767
|
-
* 从 SoA 布局计算 ATR(包装函数,对齐其他指标的 SoA 入口)
|
|
768
|
-
*/
|
|
769
|
-
export function calcATRDataSoA(layout, period) {
|
|
770
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
771
|
-
return calcATRData(data, period);
|
|
772
|
-
}
|
|
773
766
|
// ============================================================================
|
|
774
767
|
// WMA — Weighted Moving Average (linear weights)
|
|
775
768
|
// 权重: w_i = i (i=1..period),分母 = period*(period+1)/2
|
|
776
769
|
// 滞后 = (period-1)/3 (相比 SMA 更快响应)
|
|
777
770
|
// ============================================================================
|
|
778
|
-
|
|
771
|
+
const DEFAULT_WMA_PERIOD = 9;
|
|
779
772
|
function _computeWMAOnNumbers(values, period) {
|
|
780
773
|
const n = values.length;
|
|
781
774
|
const result = new Array(n).fill(undefined);
|
|
@@ -807,10 +800,6 @@ export function calcWMAData(data, period) {
|
|
|
807
800
|
closes[i] = data[i].close;
|
|
808
801
|
return _computeWMAOnNumbers(closes, period);
|
|
809
802
|
}
|
|
810
|
-
export function calcWMADataSoA(layout, period) {
|
|
811
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
812
|
-
return calcWMAData(data, period);
|
|
813
|
-
}
|
|
814
803
|
// ============================================================================
|
|
815
804
|
// EMA helper(DEMA / TEMA 复用,沿用 EXPMA 的 first-close seed 习惯)
|
|
816
805
|
// alpha = 2 / (period + 1)
|
|
@@ -842,7 +831,7 @@ function _computeEMASeries(values, period) {
|
|
|
842
831
|
// 公式: DEMA(t) = 2*EMA(t) - EMA(EMA)(t)
|
|
843
832
|
// 性质: 对线性输入零滞后(稳态),warmup ~ 2*(period-1)
|
|
844
833
|
// ============================================================================
|
|
845
|
-
|
|
834
|
+
const DEFAULT_DEMA_PERIOD = 20;
|
|
846
835
|
export function calcDEMAData(data, period) {
|
|
847
836
|
const n = data.length;
|
|
848
837
|
const result = new Array(n).fill(undefined);
|
|
@@ -862,16 +851,12 @@ export function calcDEMAData(data, period) {
|
|
|
862
851
|
}
|
|
863
852
|
return result;
|
|
864
853
|
}
|
|
865
|
-
export function calcDEMADataSoA(layout, period) {
|
|
866
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
867
|
-
return calcDEMAData(data, period);
|
|
868
|
-
}
|
|
869
854
|
// ============================================================================
|
|
870
855
|
// TEMA — Triple Exponential Moving Average
|
|
871
856
|
// 公式: TEMA(t) = 3*EMA(t) - 3*EMA(EMA)(t) + EMA(EMA(EMA))(t)
|
|
872
857
|
// 性质: 对二次多项式输入零滞后(稳态),warmup ~ 3*(period-1)
|
|
873
858
|
// ============================================================================
|
|
874
|
-
|
|
859
|
+
const DEFAULT_TEMA_PERIOD = 20;
|
|
875
860
|
export function calcTEMAData(data, period) {
|
|
876
861
|
const n = data.length;
|
|
877
862
|
const result = new Array(n).fill(undefined);
|
|
@@ -893,17 +878,13 @@ export function calcTEMAData(data, period) {
|
|
|
893
878
|
}
|
|
894
879
|
return result;
|
|
895
880
|
}
|
|
896
|
-
export function calcTEMADataSoA(layout, period) {
|
|
897
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
898
|
-
return calcTEMAData(data, period);
|
|
899
|
-
}
|
|
900
881
|
// ============================================================================
|
|
901
882
|
// HMA — Hull Moving Average
|
|
902
883
|
// 公式: HMA(n) = WMA( 2*WMA(close, n/2) - WMA(close, n), sqrt(n) )
|
|
903
884
|
// 性质: 平滑性高于 WMA,滞后远低于同期 SMA
|
|
904
885
|
// warmup ≈ period - 1 + round(sqrt(period)) - 1
|
|
905
886
|
// ============================================================================
|
|
906
|
-
|
|
887
|
+
const DEFAULT_HMA_PERIOD = 9;
|
|
907
888
|
export function calcHMAData(data, period) {
|
|
908
889
|
const n = data.length;
|
|
909
890
|
const result = new Array(n).fill(undefined);
|
|
@@ -926,10 +907,6 @@ export function calcHMAData(data, period) {
|
|
|
926
907
|
}
|
|
927
908
|
return _computeWMAOnNumbers(raw, sqrtPeriod);
|
|
928
909
|
}
|
|
929
|
-
export function calcHMADataSoA(layout, period) {
|
|
930
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
931
|
-
return calcHMAData(data, period);
|
|
932
|
-
}
|
|
933
910
|
// ============================================================================
|
|
934
911
|
// KAMA — Kaufman's Adaptive Moving Average
|
|
935
912
|
// 自适应:在趋势强时跟得紧(接近 fast EMA),在震荡时跟得慢(接近 slow EMA)。
|
|
@@ -938,9 +915,9 @@ export function calcHMADataSoA(layout, period) {
|
|
|
938
915
|
// KAMA(t) = KAMA(t-1) + SC * (close[t] - KAMA(t-1))
|
|
939
916
|
// 种子 KAMA(n-1) = close[n-1](或 SMA(n);这里采用 close 种子以保持与项目内 EMA 系列一致)
|
|
940
917
|
// ============================================================================
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
918
|
+
const DEFAULT_KAMA_PERIOD = 10;
|
|
919
|
+
const DEFAULT_KAMA_FAST_PERIOD = 2;
|
|
920
|
+
const DEFAULT_KAMA_SLOW_PERIOD = 30;
|
|
944
921
|
export function calcKAMAData(data, period, fastPeriod, slowPeriod) {
|
|
945
922
|
const n = data.length;
|
|
946
923
|
const result = new Array(n).fill(undefined);
|
|
@@ -972,12 +949,8 @@ export function calcKAMAData(data, period, fastPeriod, slowPeriod) {
|
|
|
972
949
|
}
|
|
973
950
|
return result;
|
|
974
951
|
}
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
return calcKAMAData(data, period, fastPeriod, slowPeriod);
|
|
978
|
-
}
|
|
979
|
-
export const DEFAULT_SAR_STEP = 0.02;
|
|
980
|
-
export const DEFAULT_SAR_MAX_STEP = 0.2;
|
|
952
|
+
const DEFAULT_SAR_STEP = 0.02;
|
|
953
|
+
const DEFAULT_SAR_MAX_STEP = 0.2;
|
|
981
954
|
export function calcSARData(data, step, maxStep) {
|
|
982
955
|
const n = data.length;
|
|
983
956
|
const result = new Array(n).fill(undefined);
|
|
@@ -1031,12 +1004,8 @@ export function calcSARData(data, step, maxStep) {
|
|
|
1031
1004
|
}
|
|
1032
1005
|
return result;
|
|
1033
1006
|
}
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
return calcSARData(data, step, maxStep);
|
|
1037
|
-
}
|
|
1038
|
-
export const DEFAULT_SUPERTREND_ATR_PERIOD = 10;
|
|
1039
|
-
export const DEFAULT_SUPERTREND_MULTIPLIER = 3;
|
|
1007
|
+
const DEFAULT_SUPERTREND_ATR_PERIOD = 10;
|
|
1008
|
+
const DEFAULT_SUPERTREND_MULTIPLIER = 3;
|
|
1040
1009
|
export function calcSuperTrendData(data, atrPeriod, multiplier) {
|
|
1041
1010
|
const n = data.length;
|
|
1042
1011
|
const result = new Array(n).fill(undefined);
|
|
@@ -1071,13 +1040,9 @@ export function calcSuperTrendData(data, atrPeriod, multiplier) {
|
|
|
1071
1040
|
}
|
|
1072
1041
|
return result;
|
|
1073
1042
|
}
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
}
|
|
1078
|
-
export const DEFAULT_KELTNER_EMA_PERIOD = 20;
|
|
1079
|
-
export const DEFAULT_KELTNER_ATR_PERIOD = 10;
|
|
1080
|
-
export const DEFAULT_KELTNER_MULTIPLIER = 2;
|
|
1043
|
+
const DEFAULT_KELTNER_EMA_PERIOD = 20;
|
|
1044
|
+
const DEFAULT_KELTNER_ATR_PERIOD = 10;
|
|
1045
|
+
const DEFAULT_KELTNER_MULTIPLIER = 2;
|
|
1081
1046
|
export function calcKeltnerData(data, emaPeriod, atrPeriod, multiplier) {
|
|
1082
1047
|
const n = data.length;
|
|
1083
1048
|
const result = new Array(n).fill(undefined);
|
|
@@ -1101,11 +1066,7 @@ export function calcKeltnerData(data, emaPeriod, atrPeriod, multiplier) {
|
|
|
1101
1066
|
}
|
|
1102
1067
|
return result;
|
|
1103
1068
|
}
|
|
1104
|
-
|
|
1105
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1106
|
-
return calcKeltnerData(data, emaPeriod, atrPeriod, multiplier);
|
|
1107
|
-
}
|
|
1108
|
-
export const DEFAULT_DONCHIAN_PERIOD = 20;
|
|
1069
|
+
const DEFAULT_DONCHIAN_PERIOD = 20;
|
|
1109
1070
|
export function calcDonchianData(data, period) {
|
|
1110
1071
|
const n = data.length;
|
|
1111
1072
|
const result = new Array(n).fill(undefined);
|
|
@@ -1125,14 +1086,10 @@ export function calcDonchianData(data, period) {
|
|
|
1125
1086
|
}
|
|
1126
1087
|
return result;
|
|
1127
1088
|
}
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
export const DEFAULT_ICHIMOKU_TENKAN = 9;
|
|
1133
|
-
export const DEFAULT_ICHIMOKU_KIJUN = 26;
|
|
1134
|
-
export const DEFAULT_ICHIMOKU_SPAN_B = 52;
|
|
1135
|
-
export const DEFAULT_ICHIMOKU_DISPLACEMENT = 26;
|
|
1089
|
+
const DEFAULT_ICHIMOKU_TENKAN = 9;
|
|
1090
|
+
const DEFAULT_ICHIMOKU_KIJUN = 26;
|
|
1091
|
+
const DEFAULT_ICHIMOKU_SPAN_B = 52;
|
|
1092
|
+
const DEFAULT_ICHIMOKU_DISPLACEMENT = 26;
|
|
1136
1093
|
function _rollingMidline(data, period) {
|
|
1137
1094
|
const n = data.length;
|
|
1138
1095
|
const result = new Array(n).fill(undefined);
|
|
@@ -1202,15 +1159,11 @@ export function calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, d
|
|
|
1202
1159
|
}
|
|
1203
1160
|
return result;
|
|
1204
1161
|
}
|
|
1205
|
-
export function calcIchimokuDataSoA(layout, tenkanPeriod, kijunPeriod, spanBPeriod, displacement) {
|
|
1206
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1207
|
-
return calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, displacement);
|
|
1208
|
-
}
|
|
1209
1162
|
// ============================================================================
|
|
1210
1163
|
// ROC — Rate of Change
|
|
1211
1164
|
// ROC(t) = (close[t] - close[t-period]) / close[t-period] * 100
|
|
1212
1165
|
// ============================================================================
|
|
1213
|
-
|
|
1166
|
+
const DEFAULT_ROC_PERIOD = 12;
|
|
1214
1167
|
export function calcROCData(data, period) {
|
|
1215
1168
|
const n = data.length;
|
|
1216
1169
|
const result = new Array(n).fill(undefined);
|
|
@@ -1224,12 +1177,8 @@ export function calcROCData(data, period) {
|
|
|
1224
1177
|
}
|
|
1225
1178
|
return result;
|
|
1226
1179
|
}
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
return calcROCData(data, period);
|
|
1230
|
-
}
|
|
1231
|
-
export const DEFAULT_TRIX_PERIOD = 15;
|
|
1232
|
-
export const DEFAULT_TRIX_SIGNAL_PERIOD = 9;
|
|
1180
|
+
const DEFAULT_TRIX_PERIOD = 15;
|
|
1181
|
+
const DEFAULT_TRIX_SIGNAL_PERIOD = 9;
|
|
1233
1182
|
export function calcTRIXData(data, period, signalPeriod) {
|
|
1234
1183
|
const n = data.length;
|
|
1235
1184
|
const series = new Array(n).fill(undefined);
|
|
@@ -1256,17 +1205,13 @@ export function calcTRIXData(data, period, signalPeriod) {
|
|
|
1256
1205
|
}
|
|
1257
1206
|
return { series, signalSeries };
|
|
1258
1207
|
}
|
|
1259
|
-
export function calcTRIXDataSoA(layout, period, signalPeriod) {
|
|
1260
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1261
|
-
return calcTRIXData(data, period, signalPeriod);
|
|
1262
|
-
}
|
|
1263
1208
|
// ============================================================================
|
|
1264
1209
|
// HV — Historical Volatility (close-to-close log returns)
|
|
1265
1210
|
// HV(t) = stdDev(log(close[i]/close[i-1]), i=t-period+1..t) * sqrt(annualization)
|
|
1266
1211
|
// 输出年化波动率(百分比形式 × 100)
|
|
1267
1212
|
// ============================================================================
|
|
1268
|
-
|
|
1269
|
-
|
|
1213
|
+
const DEFAULT_HV_PERIOD = 20;
|
|
1214
|
+
const DEFAULT_HV_ANNUALIZATION = 252;
|
|
1270
1215
|
export function calcHVData(data, period, annualizationFactor) {
|
|
1271
1216
|
const n = data.length;
|
|
1272
1217
|
const result = new Array(n).fill(undefined);
|
|
@@ -1295,16 +1240,12 @@ export function calcHVData(data, period, annualizationFactor) {
|
|
|
1295
1240
|
}
|
|
1296
1241
|
return result;
|
|
1297
1242
|
}
|
|
1298
|
-
export function calcHVDataSoA(layout, period, annualizationFactor) {
|
|
1299
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1300
|
-
return calcHVData(data, period, annualizationFactor);
|
|
1301
|
-
}
|
|
1302
1243
|
// ============================================================================
|
|
1303
1244
|
// Parkinson Volatility — high-low range volatility
|
|
1304
1245
|
// PV(t) = sqrt( (1/(4*ln(2))) * mean(ln(high[i]/low[i])^2) * annualization ) * 100
|
|
1305
1246
|
// ============================================================================
|
|
1306
|
-
|
|
1307
|
-
|
|
1247
|
+
const DEFAULT_PARKINSON_PERIOD = 20;
|
|
1248
|
+
const DEFAULT_PARKINSON_ANNUALIZATION = 252;
|
|
1308
1249
|
export function calcParkinsonData(data, period, annualizationFactor) {
|
|
1309
1250
|
const n = data.length;
|
|
1310
1251
|
const result = new Array(n).fill(undefined);
|
|
@@ -1332,16 +1273,12 @@ export function calcParkinsonData(data, period, annualizationFactor) {
|
|
|
1332
1273
|
}
|
|
1333
1274
|
return result;
|
|
1334
1275
|
}
|
|
1335
|
-
export function calcParkinsonDataSoA(layout, period, annualizationFactor) {
|
|
1336
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1337
|
-
return calcParkinsonData(data, period, annualizationFactor);
|
|
1338
|
-
}
|
|
1339
1276
|
// ============================================================================
|
|
1340
1277
|
// Chaikin Volatility — EMA(high-low) 的 ROC
|
|
1341
1278
|
// ChaikinVol(t) = (EMA(H-L, p)[t] - EMA(H-L, p)[t-rocPeriod]) / EMA(H-L, p)[t-rocPeriod] * 100
|
|
1342
1279
|
// ============================================================================
|
|
1343
|
-
|
|
1344
|
-
|
|
1280
|
+
const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10;
|
|
1281
|
+
const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10;
|
|
1345
1282
|
export function calcChaikinVolData(data, emaPeriod, rocPeriod) {
|
|
1346
1283
|
const n = data.length;
|
|
1347
1284
|
const result = new Array(n).fill(undefined);
|
|
@@ -1360,14 +1297,10 @@ export function calcChaikinVolData(data, emaPeriod, rocPeriod) {
|
|
|
1360
1297
|
}
|
|
1361
1298
|
return result;
|
|
1362
1299
|
}
|
|
1363
|
-
export function calcChaikinVolDataSoA(layout, emaPeriod, rocPeriod) {
|
|
1364
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1365
|
-
return calcChaikinVolData(data, emaPeriod, rocPeriod);
|
|
1366
|
-
}
|
|
1367
1300
|
// ============================================================================
|
|
1368
1301
|
// VMA — Volume Moving Average (SMA of volume)
|
|
1369
1302
|
// ============================================================================
|
|
1370
|
-
|
|
1303
|
+
const DEFAULT_VMA_PERIOD = 5;
|
|
1371
1304
|
export function calcVMAData(data, period) {
|
|
1372
1305
|
const n = data.length;
|
|
1373
1306
|
const result = new Array(n).fill(undefined);
|
|
@@ -1383,10 +1316,6 @@ export function calcVMAData(data, period) {
|
|
|
1383
1316
|
}
|
|
1384
1317
|
return result;
|
|
1385
1318
|
}
|
|
1386
|
-
export function calcVMADataSoA(layout, period) {
|
|
1387
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1388
|
-
return calcVMAData(data, period);
|
|
1389
|
-
}
|
|
1390
1319
|
// ============================================================================
|
|
1391
1320
|
// OBV — On Balance Volume (cumulative)
|
|
1392
1321
|
// close[t] > close[t-1] → OBV += volume[t]
|
|
@@ -1411,10 +1340,6 @@ export function calcOBVData(data) {
|
|
|
1411
1340
|
}
|
|
1412
1341
|
return result;
|
|
1413
1342
|
}
|
|
1414
|
-
export function calcOBVDataSoA(layout) {
|
|
1415
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1416
|
-
return calcOBVData(data);
|
|
1417
|
-
}
|
|
1418
1343
|
// ============================================================================
|
|
1419
1344
|
// PVT — Price Volume Trend (cumulative)
|
|
1420
1345
|
// PVT(t) = PVT(t-1) + ((close[t] - close[t-1]) / close[t-1]) * volume[t]
|
|
@@ -1437,10 +1362,6 @@ export function calcPVTData(data) {
|
|
|
1437
1362
|
}
|
|
1438
1363
|
return result;
|
|
1439
1364
|
}
|
|
1440
|
-
export function calcPVTDataSoA(layout) {
|
|
1441
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1442
|
-
return calcPVTData(data);
|
|
1443
|
-
}
|
|
1444
1365
|
// ============================================================================
|
|
1445
1366
|
// VWAP — Volume-Weighted Average Price
|
|
1446
1367
|
// VWAP(t) = sum_{i in session} TP(i) * V(i) / sum_{i in session} V(i)
|
|
@@ -1448,7 +1369,7 @@ export function calcPVTDataSoA(layout) {
|
|
|
1448
1369
|
// Session reset: if sessionResetGapMs > 0, reset cumulative sums when the gap
|
|
1449
1370
|
// between consecutive bar timestamps exceeds this value (e.g., overnight)
|
|
1450
1371
|
// ============================================================================
|
|
1451
|
-
|
|
1372
|
+
const DEFAULT_VWAP_SESSION_GAP_MS = 0;
|
|
1452
1373
|
export function calcVWAPData(data, sessionResetGapMs) {
|
|
1453
1374
|
const n = data.length;
|
|
1454
1375
|
const result = new Array(n).fill(undefined);
|
|
@@ -1471,17 +1392,13 @@ export function calcVWAPData(data, sessionResetGapMs) {
|
|
|
1471
1392
|
}
|
|
1472
1393
|
return result;
|
|
1473
1394
|
}
|
|
1474
|
-
export function calcVWAPDataSoA(layout, sessionResetGapMs) {
|
|
1475
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1476
|
-
return calcVWAPData(data, sessionResetGapMs);
|
|
1477
|
-
}
|
|
1478
1395
|
// ============================================================================
|
|
1479
1396
|
// CMF — Chaikin Money Flow
|
|
1480
1397
|
// MFM = ((C-L) - (H-C)) / (H-L) ∈ [-1, 1]
|
|
1481
1398
|
// MFV = MFM * Volume
|
|
1482
1399
|
// CMF(t) = sum(MFV[t-period+1..t]) / sum(Volume[t-period+1..t]) ∈ [-1, 1]
|
|
1483
1400
|
// ============================================================================
|
|
1484
|
-
|
|
1401
|
+
const DEFAULT_CMF_PERIOD = 20;
|
|
1485
1402
|
export function calcCMFData(data, period) {
|
|
1486
1403
|
const n = data.length;
|
|
1487
1404
|
const result = new Array(n).fill(undefined);
|
|
@@ -1508,17 +1425,13 @@ export function calcCMFData(data, period) {
|
|
|
1508
1425
|
}
|
|
1509
1426
|
return result;
|
|
1510
1427
|
}
|
|
1511
|
-
export function calcCMFDataSoA(layout, period) {
|
|
1512
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1513
|
-
return calcCMFData(data, period);
|
|
1514
|
-
}
|
|
1515
1428
|
// ============================================================================
|
|
1516
1429
|
// MFI — Money Flow Index
|
|
1517
1430
|
// TP = (H+L+C)/3, RMF = TP * Volume
|
|
1518
1431
|
// PMF = sum of RMF where TP > TP[-1]; NMF = sum where TP < TP[-1]
|
|
1519
1432
|
// MFR = PMF / NMF; MFI = 100 - 100 / (1 + MFR) ∈ [0, 100]
|
|
1520
1433
|
// ============================================================================
|
|
1521
|
-
|
|
1434
|
+
const DEFAULT_MFI_PERIOD = 14;
|
|
1522
1435
|
export function calcMFIData(data, period) {
|
|
1523
1436
|
const n = data.length;
|
|
1524
1437
|
const result = new Array(n).fill(undefined);
|
|
@@ -1561,10 +1474,6 @@ export function calcMFIData(data, period) {
|
|
|
1561
1474
|
}
|
|
1562
1475
|
return result;
|
|
1563
1476
|
}
|
|
1564
|
-
export function calcMFIDataSoA(layout, period) {
|
|
1565
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1566
|
-
return calcMFIData(data, period);
|
|
1567
|
-
}
|
|
1568
1477
|
export function calcPivotData(data) {
|
|
1569
1478
|
const n = data.length;
|
|
1570
1479
|
const result = new Array(n).fill(undefined);
|
|
@@ -1586,11 +1495,7 @@ export function calcPivotData(data) {
|
|
|
1586
1495
|
}
|
|
1587
1496
|
return result;
|
|
1588
1497
|
}
|
|
1589
|
-
|
|
1590
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1591
|
-
return calcPivotData(data);
|
|
1592
|
-
}
|
|
1593
|
-
export const DEFAULT_FIB_PERIOD = 50;
|
|
1498
|
+
const DEFAULT_FIB_PERIOD = 50;
|
|
1594
1499
|
export function calcFibData(data, period) {
|
|
1595
1500
|
const n = data.length;
|
|
1596
1501
|
const result = new Array(n).fill(undefined);
|
|
@@ -1630,12 +1535,8 @@ export function calcFibData(data, period) {
|
|
|
1630
1535
|
}
|
|
1631
1536
|
return result;
|
|
1632
1537
|
}
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
return calcFibData(data, period);
|
|
1636
|
-
}
|
|
1637
|
-
export const DEFAULT_STRUCTURE_LEFT = 2;
|
|
1638
|
-
export const DEFAULT_STRUCTURE_RIGHT = 2;
|
|
1538
|
+
const DEFAULT_STRUCTURE_LEFT = 2;
|
|
1539
|
+
const DEFAULT_STRUCTURE_RIGHT = 2;
|
|
1639
1540
|
export function calcStructureData(data, leftWindow, rightWindow, breakoutSource) {
|
|
1640
1541
|
const n = data.length;
|
|
1641
1542
|
if (n === 0 || leftWindow < 0 || rightWindow < 0) {
|
|
@@ -1731,11 +1632,7 @@ function isExtremum(data, i, left, right, kind) {
|
|
|
1731
1632
|
}
|
|
1732
1633
|
return true;
|
|
1733
1634
|
}
|
|
1734
|
-
|
|
1735
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1736
|
-
return calcStructureData(data, leftWindow, rightWindow, breakoutSource);
|
|
1737
|
-
}
|
|
1738
|
-
export const DEFAULT_ZONES_OB_LOOKBACK = 5;
|
|
1635
|
+
const DEFAULT_ZONES_OB_LOOKBACK = 5;
|
|
1739
1636
|
export function calcZonesData(data, obLookback, structureLeftWindow, structureRightWindow, breakoutSource) {
|
|
1740
1637
|
const n = data.length;
|
|
1741
1638
|
if (n < 3)
|
|
@@ -1805,13 +1702,9 @@ export function calcZonesData(data, obLookback, structureLeftWindow, structureRi
|
|
|
1805
1702
|
}
|
|
1806
1703
|
return zones;
|
|
1807
1704
|
}
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
}
|
|
1812
|
-
export const DEFAULT_VP_BINS = 24;
|
|
1813
|
-
export const DEFAULT_VP_LOOKBACK = 0;
|
|
1814
|
-
export const DEFAULT_VP_VALUE_AREA = 0.7;
|
|
1705
|
+
const DEFAULT_VP_BINS = 24;
|
|
1706
|
+
const DEFAULT_VP_LOOKBACK = 0;
|
|
1707
|
+
const DEFAULT_VP_VALUE_AREA = 0.7;
|
|
1815
1708
|
export function calcVolumeProfileData(data, bins, lookback, valueAreaPercent) {
|
|
1816
1709
|
const n = data.length;
|
|
1817
1710
|
if (n === 0 || bins <= 0) {
|
|
@@ -1892,8 +1785,4 @@ export function calcVolumeProfileData(data, bins, lookback, valueAreaPercent) {
|
|
|
1892
1785
|
const vah = binsArr[hi].priceHigh;
|
|
1893
1786
|
return { bins: binsArr, poc, vah, val, totalVolume };
|
|
1894
1787
|
}
|
|
1895
|
-
export function calcVolumeProfileDataSoA(layout, bins, lookback, valueAreaPercent) {
|
|
1896
|
-
const data = SharedKLineBuffer.toKLineData(layout);
|
|
1897
|
-
return calcVolumeProfileData(data, bins, lookback, valueAreaPercent);
|
|
1898
|
-
}
|
|
1899
1788
|
//# sourceMappingURL=calculators.js.map
|