@363045841yyt/klinechart-core 0.8.6 → 0.8.8
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 +18 -2
- package/dist/config/chartSettings.d.ts.map +1 -1
- package/dist/config/chartSettings.js +8 -1
- package/dist/config/chartSettings.js.map +1 -1
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +56 -2
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/types.d.ts +36 -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 +32 -1
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +148 -7
- 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 +39 -14
- package/dist/engine/data/chartDataManager.d.ts.map +1 -1
- package/dist/engine/data/chartDataManager.js +494 -202
- 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 +113 -18
- 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/gridLines.d.ts.map +1 -1
- package/dist/engine/renderers/gridLines.js +7 -35
- package/dist/engine/renderers/gridLines.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 +79 -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 +25 -23
- 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/utils/tickPosition.d.ts +12 -0
- package/dist/engine/utils/tickPosition.d.ts.map +1 -1
- package/dist/engine/utils/tickPosition.js +15 -0
- package/dist/engine/utils/tickPosition.js.map +1 -1
- package/dist/engine/viewport/chartViewportManager.d.ts +0 -4
- package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
- package/dist/engine/viewport/chartViewportManager.js +10 -13
- package/dist/engine/viewport/chartViewportManager.js.map +1 -1
- package/dist/plugin/types.d.ts +10 -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 +8 -1
- package/src/controllers/createChartController.ts +59 -2
- package/src/controllers/types.ts +38 -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 +167 -9
- 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 +560 -229
- 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 +120 -22
- 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/__tests__/yAxis.renderer.test.ts +30 -26
- 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/gridLines.ts +7 -36
- package/src/engine/renderers/lastPrice.ts +5 -2
- package/src/engine/renderers/leftYAxis.ts +93 -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 +28 -24
- 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/utils/tickPosition.ts +34 -0
- package/src/engine/viewport/chartViewportManager.ts +11 -15
- package/src/plugin/types.ts +11 -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
|
@@ -279,7 +279,7 @@ export function calcMAData(data: KLineData[], period: number): (number | undefin
|
|
|
279
279
|
export const DEFAULT_RSI_PERIOD1 = 6
|
|
280
280
|
export const DEFAULT_RSI_PERIOD2 = 12
|
|
281
281
|
export const DEFAULT_RSI_PERIOD3 = 24
|
|
282
|
-
|
|
282
|
+
const DEFAULT_RSI_PERIODS = [6, 12, 24] as const
|
|
283
283
|
|
|
284
284
|
/**
|
|
285
285
|
* 计算 RSI 数据
|
|
@@ -351,7 +351,7 @@ export function calcRSIData(data: KLineData[], period: number): (number | undefi
|
|
|
351
351
|
// CCI 顺势指标
|
|
352
352
|
// ============================================================================
|
|
353
353
|
|
|
354
|
-
|
|
354
|
+
const DEFAULT_CCI_PERIOD = 14
|
|
355
355
|
|
|
356
356
|
export function calcCCIData(data: KLineData[], period: number): (number | undefined)[] {
|
|
357
357
|
const result: (number | undefined)[] = new Array(data.length)
|
|
@@ -397,8 +397,8 @@ export function calcCCIData(data: KLineData[], period: number): (number | undefi
|
|
|
397
397
|
// STOCH 随机指标
|
|
398
398
|
// ============================================================================
|
|
399
399
|
|
|
400
|
-
|
|
401
|
-
|
|
400
|
+
const DEFAULT_STOCH_N = 9
|
|
401
|
+
const DEFAULT_STOCH_M = 3
|
|
402
402
|
|
|
403
403
|
export interface STOCHPoint {
|
|
404
404
|
k: number
|
|
@@ -459,7 +459,7 @@ export function calcSTOCHData(data: KLineData[], n: number, m: number): STOCHPoi
|
|
|
459
459
|
// MOM 动量指标
|
|
460
460
|
// ============================================================================
|
|
461
461
|
|
|
462
|
-
|
|
462
|
+
const DEFAULT_MOM_PERIOD = 10
|
|
463
463
|
|
|
464
464
|
export function calcMOMData(data: KLineData[], period: number): (number | undefined)[] {
|
|
465
465
|
const result: (number | undefined)[] = new Array(data.length)
|
|
@@ -482,7 +482,7 @@ export function calcMOMData(data: KLineData[], period: number): (number | undefi
|
|
|
482
482
|
// WMSR 威廉指标
|
|
483
483
|
// ============================================================================
|
|
484
484
|
|
|
485
|
-
|
|
485
|
+
const DEFAULT_WMSR_PERIOD = 14
|
|
486
486
|
|
|
487
487
|
export function calcWMSRData(data: KLineData[], period: number): (number | undefined)[] {
|
|
488
488
|
const result: (number | undefined)[] = new Array(data.length)
|
|
@@ -515,11 +515,11 @@ export function calcWMSRData(data: KLineData[], period: number): (number | undef
|
|
|
515
515
|
// KST 确知指标
|
|
516
516
|
// ============================================================================
|
|
517
517
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
518
|
+
const DEFAULT_KST_ROC1 = 10
|
|
519
|
+
const DEFAULT_KST_ROC2 = 15
|
|
520
|
+
const DEFAULT_KST_ROC3 = 20
|
|
521
|
+
const DEFAULT_KST_ROC4 = 30
|
|
522
|
+
const DEFAULT_KST_SIGNAL = 9
|
|
523
523
|
|
|
524
524
|
export interface KSTPoint {
|
|
525
525
|
kst: number
|
|
@@ -624,7 +624,7 @@ export function calcKSTData(
|
|
|
624
624
|
// FASTK 快速随机指标
|
|
625
625
|
// ============================================================================
|
|
626
626
|
|
|
627
|
-
|
|
627
|
+
const DEFAULT_FASTK_PERIOD = 9
|
|
628
628
|
|
|
629
629
|
export function calcFASTKData(data: KLineData[], period: number): (number | undefined)[] {
|
|
630
630
|
const result: (number | undefined)[] = new Array(data.length)
|
|
@@ -672,9 +672,9 @@ export interface MACDPoint {
|
|
|
672
672
|
/**
|
|
673
673
|
* 默认 MACD 参数
|
|
674
674
|
*/
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
675
|
+
const DEFAULT_MACD_FAST_PERIOD = 12
|
|
676
|
+
const DEFAULT_MACD_SLOW_PERIOD = 26
|
|
677
|
+
const DEFAULT_MACD_SIGNAL_PERIOD = 9
|
|
678
678
|
|
|
679
679
|
/**
|
|
680
680
|
* 计算 EMA(指数移动平均)值
|
|
@@ -684,7 +684,7 @@ export const DEFAULT_MACD_SIGNAL_PERIOD = 9
|
|
|
684
684
|
* @param period 周期
|
|
685
685
|
* @returns EMA 值数组,第一个值使用第一个收盘价
|
|
686
686
|
*/
|
|
687
|
-
|
|
687
|
+
function calcEMA(data: KLineData[], period: number): number[] {
|
|
688
688
|
const result: number[] = new Array(data.length)
|
|
689
689
|
const k = 2 / (period + 1)
|
|
690
690
|
|
|
@@ -708,7 +708,7 @@ export function calcEMA(data: KLineData[], period: number): number[] {
|
|
|
708
708
|
* @param period 周期
|
|
709
709
|
* @returns EMA 值数组
|
|
710
710
|
*/
|
|
711
|
-
|
|
711
|
+
function calcEMAFromArray(values: (number | undefined)[], period: number): (number | undefined)[] {
|
|
712
712
|
const result: (number | undefined)[] = new Array(values.length)
|
|
713
713
|
const k = 2 / (period + 1)
|
|
714
714
|
|
|
@@ -981,7 +981,7 @@ export function calcMACDDataSoA(
|
|
|
981
981
|
// ATR — Wilder's Average True Range
|
|
982
982
|
// ============================================================================
|
|
983
983
|
|
|
984
|
-
|
|
984
|
+
const DEFAULT_ATR_PERIOD = 14
|
|
985
985
|
|
|
986
986
|
/**
|
|
987
987
|
* 计算 Wilder ATR。
|
|
@@ -1050,16 +1050,6 @@ export function calcATRData(data: KLineData[], period: number): (number | undefi
|
|
|
1050
1050
|
return result
|
|
1051
1051
|
}
|
|
1052
1052
|
|
|
1053
|
-
/**
|
|
1054
|
-
* 从 SoA 布局计算 ATR(包装函数,对齐其他指标的 SoA 入口)
|
|
1055
|
-
*/
|
|
1056
|
-
export function calcATRDataSoA(
|
|
1057
|
-
layout: KLineSoALayout,
|
|
1058
|
-
period: number,
|
|
1059
|
-
): (number | undefined)[] {
|
|
1060
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1061
|
-
return calcATRData(data, period)
|
|
1062
|
-
}
|
|
1063
1053
|
|
|
1064
1054
|
// ============================================================================
|
|
1065
1055
|
// WMA — Weighted Moving Average (linear weights)
|
|
@@ -1067,7 +1057,7 @@ export function calcATRDataSoA(
|
|
|
1067
1057
|
// 滞后 = (period-1)/3 (相比 SMA 更快响应)
|
|
1068
1058
|
// ============================================================================
|
|
1069
1059
|
|
|
1070
|
-
|
|
1060
|
+
const DEFAULT_WMA_PERIOD = 9
|
|
1071
1061
|
|
|
1072
1062
|
function _computeWMAOnNumbers(values: (number | undefined)[], period: number): (number | undefined)[] {
|
|
1073
1063
|
const n = values.length
|
|
@@ -1101,10 +1091,7 @@ export function calcWMAData(data: KLineData[], period: number): (number | undefi
|
|
|
1101
1091
|
return _computeWMAOnNumbers(closes, period)
|
|
1102
1092
|
}
|
|
1103
1093
|
|
|
1104
|
-
|
|
1105
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1106
|
-
return calcWMAData(data, period)
|
|
1107
|
-
}
|
|
1094
|
+
|
|
1108
1095
|
|
|
1109
1096
|
// ============================================================================
|
|
1110
1097
|
// EMA helper(DEMA / TEMA 复用,沿用 EXPMA 的 first-close seed 习惯)
|
|
@@ -1139,7 +1126,7 @@ function _computeEMASeries(values: (number | undefined)[], period: number): (num
|
|
|
1139
1126
|
// 性质: 对线性输入零滞后(稳态),warmup ~ 2*(period-1)
|
|
1140
1127
|
// ============================================================================
|
|
1141
1128
|
|
|
1142
|
-
|
|
1129
|
+
const DEFAULT_DEMA_PERIOD = 20
|
|
1143
1130
|
|
|
1144
1131
|
export function calcDEMAData(data: KLineData[], period: number): (number | undefined)[] {
|
|
1145
1132
|
const n = data.length
|
|
@@ -1161,10 +1148,7 @@ export function calcDEMAData(data: KLineData[], period: number): (number | undef
|
|
|
1161
1148
|
return result
|
|
1162
1149
|
}
|
|
1163
1150
|
|
|
1164
|
-
|
|
1165
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1166
|
-
return calcDEMAData(data, period)
|
|
1167
|
-
}
|
|
1151
|
+
|
|
1168
1152
|
|
|
1169
1153
|
// ============================================================================
|
|
1170
1154
|
// TEMA — Triple Exponential Moving Average
|
|
@@ -1172,7 +1156,7 @@ export function calcDEMADataSoA(layout: KLineSoALayout, period: number): (number
|
|
|
1172
1156
|
// 性质: 对二次多项式输入零滞后(稳态),warmup ~ 3*(period-1)
|
|
1173
1157
|
// ============================================================================
|
|
1174
1158
|
|
|
1175
|
-
|
|
1159
|
+
const DEFAULT_TEMA_PERIOD = 20
|
|
1176
1160
|
|
|
1177
1161
|
export function calcTEMAData(data: KLineData[], period: number): (number | undefined)[] {
|
|
1178
1162
|
const n = data.length
|
|
@@ -1196,10 +1180,7 @@ export function calcTEMAData(data: KLineData[], period: number): (number | undef
|
|
|
1196
1180
|
return result
|
|
1197
1181
|
}
|
|
1198
1182
|
|
|
1199
|
-
|
|
1200
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1201
|
-
return calcTEMAData(data, period)
|
|
1202
|
-
}
|
|
1183
|
+
|
|
1203
1184
|
|
|
1204
1185
|
// ============================================================================
|
|
1205
1186
|
// HMA — Hull Moving Average
|
|
@@ -1208,7 +1189,7 @@ export function calcTEMADataSoA(layout: KLineSoALayout, period: number): (number
|
|
|
1208
1189
|
// warmup ≈ period - 1 + round(sqrt(period)) - 1
|
|
1209
1190
|
// ============================================================================
|
|
1210
1191
|
|
|
1211
|
-
|
|
1192
|
+
const DEFAULT_HMA_PERIOD = 9
|
|
1212
1193
|
|
|
1213
1194
|
export function calcHMAData(data: KLineData[], period: number): (number | undefined)[] {
|
|
1214
1195
|
const n = data.length
|
|
@@ -1234,10 +1215,7 @@ export function calcHMAData(data: KLineData[], period: number): (number | undefi
|
|
|
1234
1215
|
return _computeWMAOnNumbers(raw, sqrtPeriod)
|
|
1235
1216
|
}
|
|
1236
1217
|
|
|
1237
|
-
|
|
1238
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1239
|
-
return calcHMAData(data, period)
|
|
1240
|
-
}
|
|
1218
|
+
|
|
1241
1219
|
|
|
1242
1220
|
// ============================================================================
|
|
1243
1221
|
// KAMA — Kaufman's Adaptive Moving Average
|
|
@@ -1248,9 +1226,9 @@ export function calcHMADataSoA(layout: KLineSoALayout, period: number): (number
|
|
|
1248
1226
|
// 种子 KAMA(n-1) = close[n-1](或 SMA(n);这里采用 close 种子以保持与项目内 EMA 系列一致)
|
|
1249
1227
|
// ============================================================================
|
|
1250
1228
|
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1229
|
+
const DEFAULT_KAMA_PERIOD = 10
|
|
1230
|
+
const DEFAULT_KAMA_FAST_PERIOD = 2
|
|
1231
|
+
const DEFAULT_KAMA_SLOW_PERIOD = 30
|
|
1254
1232
|
|
|
1255
1233
|
export function calcKAMAData(
|
|
1256
1234
|
data: KLineData[],
|
|
@@ -1296,15 +1274,7 @@ export function calcKAMAData(
|
|
|
1296
1274
|
return result
|
|
1297
1275
|
}
|
|
1298
1276
|
|
|
1299
|
-
|
|
1300
|
-
layout: KLineSoALayout,
|
|
1301
|
-
period: number,
|
|
1302
|
-
fastPeriod: number,
|
|
1303
|
-
slowPeriod: number,
|
|
1304
|
-
): (number | undefined)[] {
|
|
1305
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1306
|
-
return calcKAMAData(data, period, fastPeriod, slowPeriod)
|
|
1307
|
-
}
|
|
1277
|
+
|
|
1308
1278
|
|
|
1309
1279
|
// ============================================================================
|
|
1310
1280
|
// SAR — Parabolic Stop and Reverse
|
|
@@ -1319,8 +1289,8 @@ export interface SARPoint {
|
|
|
1319
1289
|
trend: 'up' | 'down'
|
|
1320
1290
|
}
|
|
1321
1291
|
|
|
1322
|
-
|
|
1323
|
-
|
|
1292
|
+
const DEFAULT_SAR_STEP = 0.02
|
|
1293
|
+
const DEFAULT_SAR_MAX_STEP = 0.2
|
|
1324
1294
|
|
|
1325
1295
|
export function calcSARData(
|
|
1326
1296
|
data: KLineData[],
|
|
@@ -1382,14 +1352,7 @@ export function calcSARData(
|
|
|
1382
1352
|
return result
|
|
1383
1353
|
}
|
|
1384
1354
|
|
|
1385
|
-
|
|
1386
|
-
layout: KLineSoALayout,
|
|
1387
|
-
step: number,
|
|
1388
|
-
maxStep: number,
|
|
1389
|
-
): (SARPoint | undefined)[] {
|
|
1390
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1391
|
-
return calcSARData(data, step, maxStep)
|
|
1392
|
-
}
|
|
1355
|
+
|
|
1393
1356
|
|
|
1394
1357
|
// ============================================================================
|
|
1395
1358
|
// SuperTrend — ATR-based trend-following stop/band
|
|
@@ -1400,8 +1363,8 @@ export interface SuperTrendPoint {
|
|
|
1400
1363
|
trend: 'up' | 'down'
|
|
1401
1364
|
}
|
|
1402
1365
|
|
|
1403
|
-
|
|
1404
|
-
|
|
1366
|
+
const DEFAULT_SUPERTREND_ATR_PERIOD = 10
|
|
1367
|
+
const DEFAULT_SUPERTREND_MULTIPLIER = 3
|
|
1405
1368
|
|
|
1406
1369
|
export function calcSuperTrendData(
|
|
1407
1370
|
data: KLineData[],
|
|
@@ -1448,14 +1411,7 @@ export function calcSuperTrendData(
|
|
|
1448
1411
|
return result
|
|
1449
1412
|
}
|
|
1450
1413
|
|
|
1451
|
-
|
|
1452
|
-
layout: KLineSoALayout,
|
|
1453
|
-
atrPeriod: number,
|
|
1454
|
-
multiplier: number,
|
|
1455
|
-
): (SuperTrendPoint | undefined)[] {
|
|
1456
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1457
|
-
return calcSuperTrendData(data, atrPeriod, multiplier)
|
|
1458
|
-
}
|
|
1414
|
+
|
|
1459
1415
|
|
|
1460
1416
|
// ============================================================================
|
|
1461
1417
|
// Keltner Channel — EMA ± multiplier × ATR
|
|
@@ -1467,9 +1423,9 @@ export interface KeltnerPoint {
|
|
|
1467
1423
|
lower: number
|
|
1468
1424
|
}
|
|
1469
1425
|
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1426
|
+
const DEFAULT_KELTNER_EMA_PERIOD = 20
|
|
1427
|
+
const DEFAULT_KELTNER_ATR_PERIOD = 10
|
|
1428
|
+
const DEFAULT_KELTNER_MULTIPLIER = 2
|
|
1473
1429
|
|
|
1474
1430
|
export function calcKeltnerData(
|
|
1475
1431
|
data: KLineData[],
|
|
@@ -1500,15 +1456,7 @@ export function calcKeltnerData(
|
|
|
1500
1456
|
return result
|
|
1501
1457
|
}
|
|
1502
1458
|
|
|
1503
|
-
|
|
1504
|
-
layout: KLineSoALayout,
|
|
1505
|
-
emaPeriod: number,
|
|
1506
|
-
atrPeriod: number,
|
|
1507
|
-
multiplier: number,
|
|
1508
|
-
): (KeltnerPoint | undefined)[] {
|
|
1509
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1510
|
-
return calcKeltnerData(data, emaPeriod, atrPeriod, multiplier)
|
|
1511
|
-
}
|
|
1459
|
+
|
|
1512
1460
|
|
|
1513
1461
|
// ============================================================================
|
|
1514
1462
|
// Donchian Channel — rolling max(high) / min(low) over period
|
|
@@ -1520,7 +1468,7 @@ export interface DonchianPoint {
|
|
|
1520
1468
|
lower: number
|
|
1521
1469
|
}
|
|
1522
1470
|
|
|
1523
|
-
|
|
1471
|
+
const DEFAULT_DONCHIAN_PERIOD = 20
|
|
1524
1472
|
|
|
1525
1473
|
export function calcDonchianData(
|
|
1526
1474
|
data: KLineData[],
|
|
@@ -1543,13 +1491,7 @@ export function calcDonchianData(
|
|
|
1543
1491
|
return result
|
|
1544
1492
|
}
|
|
1545
1493
|
|
|
1546
|
-
|
|
1547
|
-
layout: KLineSoALayout,
|
|
1548
|
-
period: number,
|
|
1549
|
-
): (DonchianPoint | undefined)[] {
|
|
1550
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1551
|
-
return calcDonchianData(data, period)
|
|
1552
|
-
}
|
|
1494
|
+
|
|
1553
1495
|
|
|
1554
1496
|
// ============================================================================
|
|
1555
1497
|
// Ichimoku Kinko Hyo — 一目均衡表
|
|
@@ -1570,10 +1512,10 @@ export interface IchimokuPoint {
|
|
|
1570
1512
|
chikou?: number
|
|
1571
1513
|
}
|
|
1572
1514
|
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1515
|
+
const DEFAULT_ICHIMOKU_TENKAN = 9
|
|
1516
|
+
const DEFAULT_ICHIMOKU_KIJUN = 26
|
|
1517
|
+
const DEFAULT_ICHIMOKU_SPAN_B = 52
|
|
1518
|
+
const DEFAULT_ICHIMOKU_DISPLACEMENT = 26
|
|
1577
1519
|
|
|
1578
1520
|
function _rollingMidline(data: KLineData[], period: number): (number | undefined)[] {
|
|
1579
1521
|
const n = data.length
|
|
@@ -1653,23 +1595,14 @@ export function calcIchimokuData(
|
|
|
1653
1595
|
return result
|
|
1654
1596
|
}
|
|
1655
1597
|
|
|
1656
|
-
|
|
1657
|
-
layout: KLineSoALayout,
|
|
1658
|
-
tenkanPeriod: number,
|
|
1659
|
-
kijunPeriod: number,
|
|
1660
|
-
spanBPeriod: number,
|
|
1661
|
-
displacement: number,
|
|
1662
|
-
): (IchimokuPoint | undefined)[] {
|
|
1663
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1664
|
-
return calcIchimokuData(data, tenkanPeriod, kijunPeriod, spanBPeriod, displacement)
|
|
1665
|
-
}
|
|
1598
|
+
|
|
1666
1599
|
|
|
1667
1600
|
// ============================================================================
|
|
1668
1601
|
// ROC — Rate of Change
|
|
1669
1602
|
// ROC(t) = (close[t] - close[t-period]) / close[t-period] * 100
|
|
1670
1603
|
// ============================================================================
|
|
1671
1604
|
|
|
1672
|
-
|
|
1605
|
+
const DEFAULT_ROC_PERIOD = 12
|
|
1673
1606
|
|
|
1674
1607
|
export function calcROCData(data: KLineData[], period: number): (number | undefined)[] {
|
|
1675
1608
|
const n = data.length
|
|
@@ -1683,10 +1616,7 @@ export function calcROCData(data: KLineData[], period: number): (number | undefi
|
|
|
1683
1616
|
return result
|
|
1684
1617
|
}
|
|
1685
1618
|
|
|
1686
|
-
|
|
1687
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1688
|
-
return calcROCData(data, period)
|
|
1689
|
-
}
|
|
1619
|
+
|
|
1690
1620
|
|
|
1691
1621
|
// ============================================================================
|
|
1692
1622
|
// TRIX — Triple Exponential Smoothing Oscillator
|
|
@@ -1700,8 +1630,8 @@ export interface TRIXResult {
|
|
|
1700
1630
|
signalSeries: (number | undefined)[]
|
|
1701
1631
|
}
|
|
1702
1632
|
|
|
1703
|
-
|
|
1704
|
-
|
|
1633
|
+
const DEFAULT_TRIX_PERIOD = 15
|
|
1634
|
+
const DEFAULT_TRIX_SIGNAL_PERIOD = 9
|
|
1705
1635
|
|
|
1706
1636
|
export function calcTRIXData(
|
|
1707
1637
|
data: KLineData[],
|
|
@@ -1735,14 +1665,7 @@ export function calcTRIXData(
|
|
|
1735
1665
|
return { series, signalSeries }
|
|
1736
1666
|
}
|
|
1737
1667
|
|
|
1738
|
-
|
|
1739
|
-
layout: KLineSoALayout,
|
|
1740
|
-
period: number,
|
|
1741
|
-
signalPeriod: number,
|
|
1742
|
-
): TRIXResult {
|
|
1743
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1744
|
-
return calcTRIXData(data, period, signalPeriod)
|
|
1745
|
-
}
|
|
1668
|
+
|
|
1746
1669
|
|
|
1747
1670
|
// ============================================================================
|
|
1748
1671
|
// HV — Historical Volatility (close-to-close log returns)
|
|
@@ -1750,8 +1673,8 @@ export function calcTRIXDataSoA(
|
|
|
1750
1673
|
// 输出年化波动率(百分比形式 × 100)
|
|
1751
1674
|
// ============================================================================
|
|
1752
1675
|
|
|
1753
|
-
|
|
1754
|
-
|
|
1676
|
+
const DEFAULT_HV_PERIOD = 20
|
|
1677
|
+
const DEFAULT_HV_ANNUALIZATION = 252
|
|
1755
1678
|
|
|
1756
1679
|
export function calcHVData(
|
|
1757
1680
|
data: KLineData[],
|
|
@@ -1787,22 +1710,15 @@ export function calcHVData(
|
|
|
1787
1710
|
return result
|
|
1788
1711
|
}
|
|
1789
1712
|
|
|
1790
|
-
|
|
1791
|
-
layout: KLineSoALayout,
|
|
1792
|
-
period: number,
|
|
1793
|
-
annualizationFactor: number,
|
|
1794
|
-
): (number | undefined)[] {
|
|
1795
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1796
|
-
return calcHVData(data, period, annualizationFactor)
|
|
1797
|
-
}
|
|
1713
|
+
|
|
1798
1714
|
|
|
1799
1715
|
// ============================================================================
|
|
1800
1716
|
// Parkinson Volatility — high-low range volatility
|
|
1801
1717
|
// PV(t) = sqrt( (1/(4*ln(2))) * mean(ln(high[i]/low[i])^2) * annualization ) * 100
|
|
1802
1718
|
// ============================================================================
|
|
1803
1719
|
|
|
1804
|
-
|
|
1805
|
-
|
|
1720
|
+
const DEFAULT_PARKINSON_PERIOD = 20
|
|
1721
|
+
const DEFAULT_PARKINSON_ANNUALIZATION = 252
|
|
1806
1722
|
|
|
1807
1723
|
export function calcParkinsonData(
|
|
1808
1724
|
data: KLineData[],
|
|
@@ -1837,22 +1753,15 @@ export function calcParkinsonData(
|
|
|
1837
1753
|
return result
|
|
1838
1754
|
}
|
|
1839
1755
|
|
|
1840
|
-
|
|
1841
|
-
layout: KLineSoALayout,
|
|
1842
|
-
period: number,
|
|
1843
|
-
annualizationFactor: number,
|
|
1844
|
-
): (number | undefined)[] {
|
|
1845
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1846
|
-
return calcParkinsonData(data, period, annualizationFactor)
|
|
1847
|
-
}
|
|
1756
|
+
|
|
1848
1757
|
|
|
1849
1758
|
// ============================================================================
|
|
1850
1759
|
// Chaikin Volatility — EMA(high-low) 的 ROC
|
|
1851
1760
|
// ChaikinVol(t) = (EMA(H-L, p)[t] - EMA(H-L, p)[t-rocPeriod]) / EMA(H-L, p)[t-rocPeriod] * 100
|
|
1852
1761
|
// ============================================================================
|
|
1853
1762
|
|
|
1854
|
-
|
|
1855
|
-
|
|
1763
|
+
const DEFAULT_CHAIKIN_VOL_EMA_PERIOD = 10
|
|
1764
|
+
const DEFAULT_CHAIKIN_VOL_ROC_PERIOD = 10
|
|
1856
1765
|
|
|
1857
1766
|
export function calcChaikinVolData(
|
|
1858
1767
|
data: KLineData[],
|
|
@@ -1878,20 +1787,13 @@ export function calcChaikinVolData(
|
|
|
1878
1787
|
return result
|
|
1879
1788
|
}
|
|
1880
1789
|
|
|
1881
|
-
|
|
1882
|
-
layout: KLineSoALayout,
|
|
1883
|
-
emaPeriod: number,
|
|
1884
|
-
rocPeriod: number,
|
|
1885
|
-
): (number | undefined)[] {
|
|
1886
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1887
|
-
return calcChaikinVolData(data, emaPeriod, rocPeriod)
|
|
1888
|
-
}
|
|
1790
|
+
|
|
1889
1791
|
|
|
1890
1792
|
// ============================================================================
|
|
1891
1793
|
// VMA — Volume Moving Average (SMA of volume)
|
|
1892
1794
|
// ============================================================================
|
|
1893
1795
|
|
|
1894
|
-
|
|
1796
|
+
const DEFAULT_VMA_PERIOD = 5
|
|
1895
1797
|
|
|
1896
1798
|
export function calcVMAData(data: KLineData[], period: number): (number | undefined)[] {
|
|
1897
1799
|
const n = data.length
|
|
@@ -1907,10 +1809,7 @@ export function calcVMAData(data: KLineData[], period: number): (number | undefi
|
|
|
1907
1809
|
return result
|
|
1908
1810
|
}
|
|
1909
1811
|
|
|
1910
|
-
|
|
1911
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1912
|
-
return calcVMAData(data, period)
|
|
1913
|
-
}
|
|
1812
|
+
|
|
1914
1813
|
|
|
1915
1814
|
// ============================================================================
|
|
1916
1815
|
// OBV — On Balance Volume (cumulative)
|
|
@@ -1935,10 +1834,7 @@ export function calcOBVData(data: KLineData[]): (number | undefined)[] {
|
|
|
1935
1834
|
return result
|
|
1936
1835
|
}
|
|
1937
1836
|
|
|
1938
|
-
|
|
1939
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1940
|
-
return calcOBVData(data)
|
|
1941
|
-
}
|
|
1837
|
+
|
|
1942
1838
|
|
|
1943
1839
|
// ============================================================================
|
|
1944
1840
|
// PVT — Price Volume Trend (cumulative)
|
|
@@ -1963,10 +1859,7 @@ export function calcPVTData(data: KLineData[]): (number | undefined)[] {
|
|
|
1963
1859
|
return result
|
|
1964
1860
|
}
|
|
1965
1861
|
|
|
1966
|
-
|
|
1967
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
1968
|
-
return calcPVTData(data)
|
|
1969
|
-
}
|
|
1862
|
+
|
|
1970
1863
|
|
|
1971
1864
|
// ============================================================================
|
|
1972
1865
|
// VWAP — Volume-Weighted Average Price
|
|
@@ -1976,7 +1869,7 @@ export function calcPVTDataSoA(layout: KLineSoALayout): (number | undefined)[] {
|
|
|
1976
1869
|
// between consecutive bar timestamps exceeds this value (e.g., overnight)
|
|
1977
1870
|
// ============================================================================
|
|
1978
1871
|
|
|
1979
|
-
|
|
1872
|
+
const DEFAULT_VWAP_SESSION_GAP_MS = 0
|
|
1980
1873
|
|
|
1981
1874
|
export function calcVWAPData(
|
|
1982
1875
|
data: KLineData[],
|
|
@@ -2006,13 +1899,7 @@ export function calcVWAPData(
|
|
|
2006
1899
|
return result
|
|
2007
1900
|
}
|
|
2008
1901
|
|
|
2009
|
-
|
|
2010
|
-
layout: KLineSoALayout,
|
|
2011
|
-
sessionResetGapMs: number,
|
|
2012
|
-
): (number | undefined)[] {
|
|
2013
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2014
|
-
return calcVWAPData(data, sessionResetGapMs)
|
|
2015
|
-
}
|
|
1902
|
+
|
|
2016
1903
|
|
|
2017
1904
|
// ============================================================================
|
|
2018
1905
|
// CMF — Chaikin Money Flow
|
|
@@ -2021,7 +1908,7 @@ export function calcVWAPDataSoA(
|
|
|
2021
1908
|
// CMF(t) = sum(MFV[t-period+1..t]) / sum(Volume[t-period+1..t]) ∈ [-1, 1]
|
|
2022
1909
|
// ============================================================================
|
|
2023
1910
|
|
|
2024
|
-
|
|
1911
|
+
const DEFAULT_CMF_PERIOD = 20
|
|
2025
1912
|
|
|
2026
1913
|
export function calcCMFData(data: KLineData[], period: number): (number | undefined)[] {
|
|
2027
1914
|
const n = data.length
|
|
@@ -2052,10 +1939,7 @@ export function calcCMFData(data: KLineData[], period: number): (number | undefi
|
|
|
2052
1939
|
return result
|
|
2053
1940
|
}
|
|
2054
1941
|
|
|
2055
|
-
|
|
2056
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2057
|
-
return calcCMFData(data, period)
|
|
2058
|
-
}
|
|
1942
|
+
|
|
2059
1943
|
|
|
2060
1944
|
// ============================================================================
|
|
2061
1945
|
// MFI — Money Flow Index
|
|
@@ -2064,7 +1948,7 @@ export function calcCMFDataSoA(layout: KLineSoALayout, period: number): (number
|
|
|
2064
1948
|
// MFR = PMF / NMF; MFI = 100 - 100 / (1 + MFR) ∈ [0, 100]
|
|
2065
1949
|
// ============================================================================
|
|
2066
1950
|
|
|
2067
|
-
|
|
1951
|
+
const DEFAULT_MFI_PERIOD = 14
|
|
2068
1952
|
|
|
2069
1953
|
export function calcMFIData(data: KLineData[], period: number): (number | undefined)[] {
|
|
2070
1954
|
const n = data.length
|
|
@@ -2109,10 +1993,7 @@ export function calcMFIData(data: KLineData[], period: number): (number | undefi
|
|
|
2109
1993
|
return result
|
|
2110
1994
|
}
|
|
2111
1995
|
|
|
2112
|
-
|
|
2113
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2114
|
-
return calcMFIData(data, period)
|
|
2115
|
-
}
|
|
1996
|
+
|
|
2116
1997
|
|
|
2117
1998
|
// ============================================================================
|
|
2118
1999
|
// Pivot Points — Classic floor-trader pivots from prior bar's HLC
|
|
@@ -2154,10 +2035,7 @@ export function calcPivotData(data: KLineData[]): (PivotPoint | undefined)[] {
|
|
|
2154
2035
|
return result
|
|
2155
2036
|
}
|
|
2156
2037
|
|
|
2157
|
-
|
|
2158
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2159
|
-
return calcPivotData(data)
|
|
2160
|
-
}
|
|
2038
|
+
|
|
2161
2039
|
|
|
2162
2040
|
// ============================================================================
|
|
2163
2041
|
// Fibonacci Retracement — anchored to rolling-window high/low
|
|
@@ -2177,7 +2055,7 @@ export interface FibPoint {
|
|
|
2177
2055
|
level786: number
|
|
2178
2056
|
}
|
|
2179
2057
|
|
|
2180
|
-
|
|
2058
|
+
const DEFAULT_FIB_PERIOD = 50
|
|
2181
2059
|
|
|
2182
2060
|
export function calcFibData(data: KLineData[], period: number): (FibPoint | undefined)[] {
|
|
2183
2061
|
const n = data.length
|
|
@@ -2214,10 +2092,7 @@ export function calcFibData(data: KLineData[], period: number): (FibPoint | unde
|
|
|
2214
2092
|
return result
|
|
2215
2093
|
}
|
|
2216
2094
|
|
|
2217
|
-
|
|
2218
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2219
|
-
return calcFibData(data, period)
|
|
2220
|
-
}
|
|
2095
|
+
|
|
2221
2096
|
|
|
2222
2097
|
// ============================================================================
|
|
2223
2098
|
// SMC Structure — Swing detection + BOS / CHOCH events
|
|
@@ -2253,8 +2128,8 @@ export interface StructureSnapshot {
|
|
|
2253
2128
|
trend: 'up' | 'down' | 'range'
|
|
2254
2129
|
}
|
|
2255
2130
|
|
|
2256
|
-
|
|
2257
|
-
|
|
2131
|
+
const DEFAULT_STRUCTURE_LEFT = 2
|
|
2132
|
+
const DEFAULT_STRUCTURE_RIGHT = 2
|
|
2258
2133
|
|
|
2259
2134
|
export function calcStructureData(
|
|
2260
2135
|
data: KLineData[],
|
|
@@ -2364,15 +2239,7 @@ function isExtremum(
|
|
|
2364
2239
|
return true
|
|
2365
2240
|
}
|
|
2366
2241
|
|
|
2367
|
-
|
|
2368
|
-
layout: KLineSoALayout,
|
|
2369
|
-
leftWindow: number,
|
|
2370
|
-
rightWindow: number,
|
|
2371
|
-
breakoutSource: 'close' | 'wick',
|
|
2372
|
-
): StructureSnapshot {
|
|
2373
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2374
|
-
return calcStructureData(data, leftWindow, rightWindow, breakoutSource)
|
|
2375
|
-
}
|
|
2242
|
+
|
|
2376
2243
|
|
|
2377
2244
|
// ============================================================================
|
|
2378
2245
|
// SMC Zones — FVG (Fair Value Gap) + Order Blocks
|
|
@@ -2397,7 +2264,7 @@ export interface Zone {
|
|
|
2397
2264
|
low: number
|
|
2398
2265
|
}
|
|
2399
2266
|
|
|
2400
|
-
|
|
2267
|
+
const DEFAULT_ZONES_OB_LOOKBACK = 5
|
|
2401
2268
|
|
|
2402
2269
|
export function calcZonesData(
|
|
2403
2270
|
data: KLineData[],
|
|
@@ -2476,16 +2343,7 @@ export function calcZonesData(
|
|
|
2476
2343
|
return zones
|
|
2477
2344
|
}
|
|
2478
2345
|
|
|
2479
|
-
|
|
2480
|
-
layout: KLineSoALayout,
|
|
2481
|
-
obLookback: number,
|
|
2482
|
-
structureLeftWindow: number,
|
|
2483
|
-
structureRightWindow: number,
|
|
2484
|
-
breakoutSource: 'close' | 'wick',
|
|
2485
|
-
): Zone[] {
|
|
2486
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2487
|
-
return calcZonesData(data, obLookback, structureLeftWindow, structureRightWindow, breakoutSource)
|
|
2488
|
-
}
|
|
2346
|
+
|
|
2489
2347
|
|
|
2490
2348
|
// ============================================================================
|
|
2491
2349
|
// Volume Profile — price-bin volume distribution
|
|
@@ -2508,9 +2366,9 @@ export interface VolumeProfileResult {
|
|
|
2508
2366
|
totalVolume: number
|
|
2509
2367
|
}
|
|
2510
2368
|
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2369
|
+
const DEFAULT_VP_BINS = 24
|
|
2370
|
+
const DEFAULT_VP_LOOKBACK = 0
|
|
2371
|
+
const DEFAULT_VP_VALUE_AREA = 0.7
|
|
2514
2372
|
|
|
2515
2373
|
export function calcVolumeProfileData(
|
|
2516
2374
|
data: KLineData[],
|
|
@@ -2601,12 +2459,4 @@ export function calcVolumeProfileData(
|
|
|
2601
2459
|
return { bins: binsArr, poc, vah, val, totalVolume }
|
|
2602
2460
|
}
|
|
2603
2461
|
|
|
2604
|
-
|
|
2605
|
-
layout: KLineSoALayout,
|
|
2606
|
-
bins: number,
|
|
2607
|
-
lookback: number,
|
|
2608
|
-
valueAreaPercent: number,
|
|
2609
|
-
): VolumeProfileResult {
|
|
2610
|
-
const data = SharedKLineBuffer.toKLineData(layout)
|
|
2611
|
-
return calcVolumeProfileData(data, bins, lookback, valueAreaPercent)
|
|
2612
|
-
}
|
|
2462
|
+
|