@363045841yyt/klinechart 0.7.1 → 0.7.3-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -6
- package/dist/components/DrawingStyleToolbar.vue.d.ts +28 -0
- package/dist/components/DrawingStyleToolbar.vue.d.ts.map +1 -0
- package/dist/{src/components → components}/IndicatorParams.vue.d.ts +3 -3
- package/dist/components/IndicatorParams.vue.d.ts.map +1 -0
- package/dist/{src/components → components}/IndicatorSelector.vue.d.ts +4 -4
- package/dist/components/IndicatorSelector.vue.d.ts.map +1 -0
- package/dist/components/KLineChart.vue.d.ts +63 -0
- package/dist/components/KLineChart.vue.d.ts.map +1 -0
- package/dist/components/KLineTooltip.vue.d.ts +30 -0
- package/dist/components/KLineTooltip.vue.d.ts.map +1 -0
- package/dist/{src/components → components}/LeftToolbar.vue.d.ts +3 -2
- package/dist/components/LeftToolbar.vue.d.ts.map +1 -0
- package/dist/components/MarkerTooltip.vue.d.ts +26 -0
- package/dist/components/MarkerTooltip.vue.d.ts.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/{src/composables → composables}/useFullscreenTeleportTarget.d.ts +1 -0
- package/dist/composables/useFullscreenTeleportTarget.d.ts.map +1 -0
- package/dist/{src/debug → debug}/canvasProfiler.d.ts +1 -0
- package/dist/debug/canvasProfiler.d.ts.map +1 -0
- package/dist/index.cjs +2 -49
- package/dist/index.d.cts +124 -0
- package/dist/index.d.ts +124 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1390 -23809
- package/dist/klinechart.css +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +49 -85
- package/src/__tests__/_mockController.ts +192 -0
- package/src/__tests__/contract.test.ts +132 -0
- package/src/components/DrawingStyleToolbar.vue +199 -0
- package/src/components/IndicatorParams.vue +570 -0
- package/src/components/IndicatorSelector.vue +1042 -0
- package/src/components/KLineChart.vue +1570 -0
- package/src/components/KLineTooltip.vue +200 -0
- package/src/components/LeftToolbar.vue +844 -0
- package/src/components/MarkerTooltip.vue +155 -0
- package/src/components/index.ts +7 -0
- package/src/composables/useFullscreenTeleportTarget.ts +18 -0
- package/src/debug/canvasProfiler.ts +296 -0
- package/src/index.ts +402 -0
- package/src/version.ts +3 -0
- package/dist/favicon.ico +0 -0
- package/dist/mock-stock-data.json +0 -1
- package/dist/schema-CzmPW09E.cjs +0 -1
- package/dist/schema-DBMGp6Af.js +0 -437
- package/dist/src/App.vue.d.ts +0 -4
- package/dist/src/api/data/baostock.d.ts +0 -90
- package/dist/src/api/data/baostock.integration.test.d.ts +0 -1
- package/dist/src/api/data/index.d.ts +0 -26
- package/dist/src/api/data/kLine.d.ts +0 -11
- package/dist/src/api/data/types.d.ts +0 -33
- package/dist/src/api/data/unified.d.ts +0 -37
- package/dist/src/components/DrawingStyleToolbar.vue.d.ts +0 -12
- package/dist/src/components/KLineChart.vue.d.ts +0 -100
- package/dist/src/components/KLineTooltip.vue.d.ts +0 -17
- package/dist/src/components/MarkerTooltip.vue.d.ts +0 -13
- package/dist/src/components/index.d.ts +0 -2
- package/dist/src/config/chartSettings.d.ts +0 -69
- package/dist/src/core/chart-store.d.ts +0 -74
- package/dist/src/core/chart.d.ts +0 -617
- package/dist/src/core/controller/interaction.d.ts +0 -167
- package/dist/src/core/controller/markerInteraction.d.ts +0 -28
- package/dist/src/core/controller/pinchTracker.d.ts +0 -18
- package/dist/src/core/controller/tooltipPosition.d.ts +0 -21
- package/dist/src/core/draw/pixelAlign.d.ts +0 -114
- package/dist/src/core/drawing/index.d.ts +0 -47
- package/dist/src/core/drawing/interaction.d.ts +0 -75
- package/dist/src/core/drawing/plugin.d.ts +0 -27
- package/dist/src/core/indicators/atrState.d.ts +0 -16
- package/dist/src/core/indicators/bollState.d.ts +0 -34
- package/dist/src/core/indicators/calculators.d.ts +0 -465
- package/dist/src/core/indicators/cciState.d.ts +0 -15
- package/dist/src/core/indicators/chaikinVolState.d.ts +0 -18
- package/dist/src/core/indicators/cmfState.d.ts +0 -16
- package/dist/src/core/indicators/demaState.d.ts +0 -16
- package/dist/src/core/indicators/donchianState.d.ts +0 -23
- package/dist/src/core/indicators/eneState.d.ts +0 -30
- package/dist/src/core/indicators/expmaState.d.ts +0 -30
- package/dist/src/core/indicators/fastkState.d.ts +0 -15
- package/dist/src/core/indicators/fibState.d.ts +0 -26
- package/dist/src/core/indicators/hmaState.d.ts +0 -16
- package/dist/src/core/indicators/hvState.d.ts +0 -18
- package/dist/src/core/indicators/ichimokuState.d.ts +0 -44
- package/dist/src/core/indicators/indicator.worker.d.ts +0 -5
- package/dist/src/core/indicators/indicatorDefinitionRegistry.d.ts +0 -30
- package/dist/src/core/indicators/indicatorMetadata.d.ts +0 -81
- package/dist/src/core/indicators/indicatorRegistry.d.ts +0 -57
- package/dist/src/core/indicators/indicatorRuntime.d.ts +0 -126
- package/dist/src/core/indicators/kamaState.d.ts +0 -20
- package/dist/src/core/indicators/keltnerState.d.ts +0 -27
- package/dist/src/core/indicators/kstState.d.ts +0 -21
- package/dist/src/core/indicators/maState.d.ts +0 -26
- package/dist/src/core/indicators/macdState.d.ts +0 -58
- package/dist/src/core/indicators/mfiState.d.ts +0 -16
- package/dist/src/core/indicators/momState.d.ts +0 -15
- package/dist/src/core/indicators/obvState.d.ts +0 -14
- package/dist/src/core/indicators/parkinsonState.d.ts +0 -18
- package/dist/src/core/indicators/pivotState.d.ts +0 -29
- package/dist/src/core/indicators/pvtState.d.ts +0 -14
- package/dist/src/core/indicators/rocState.d.ts +0 -16
- package/dist/src/core/indicators/rsiState.d.ts +0 -43
- package/dist/src/core/indicators/sarState.d.ts +0 -26
- package/dist/src/core/indicators/scheduler.d.ts +0 -262
- package/dist/src/core/indicators/soa.d.ts +0 -115
- package/dist/src/core/indicators/stateComposer.d.ts +0 -146
- package/dist/src/core/indicators/stochState.d.ts +0 -18
- package/dist/src/core/indicators/structureState.d.ts +0 -43
- package/dist/src/core/indicators/supertrendState.d.ts +0 -22
- package/dist/src/core/indicators/temaState.d.ts +0 -16
- package/dist/src/core/indicators/trixState.d.ts +0 -20
- package/dist/src/core/indicators/vmaState.d.ts +0 -16
- package/dist/src/core/indicators/volumeProfileState.d.ts +0 -34
- package/dist/src/core/indicators/vwapState.d.ts +0 -16
- package/dist/src/core/indicators/wmaState.d.ts +0 -16
- package/dist/src/core/indicators/wmsrState.d.ts +0 -15
- package/dist/src/core/indicators/workerProtocol.d.ts +0 -496
- package/dist/src/core/indicators/zonesState.d.ts +0 -26
- package/dist/src/core/layout/pane.d.ts +0 -103
- package/dist/src/core/marker/registry.d.ts +0 -174
- package/dist/src/core/paneRenderer.d.ts +0 -45
- package/dist/src/core/renderers/Indicator/atr.d.ts +0 -17
- package/dist/src/core/renderers/Indicator/boll.d.ts +0 -2
- package/dist/src/core/renderers/Indicator/cci.d.ts +0 -22
- package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/cmf.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/dema.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/donchian.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/ene.d.ts +0 -2
- package/dist/src/core/renderers/Indicator/expma.d.ts +0 -2
- package/dist/src/core/renderers/Indicator/fastk.d.ts +0 -22
- package/dist/src/core/renderers/Indicator/fib.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/hma.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/hv.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/ichimoku.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/index.d.ts +0 -59
- package/dist/src/core/renderers/Indicator/indicatorData.d.ts +0 -13
- package/dist/src/core/renderers/Indicator/kama.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/keltner.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/kst.d.ts +0 -22
- package/dist/src/core/renderers/Indicator/ma.d.ts +0 -3
- package/dist/src/core/renderers/Indicator/macd.d.ts +0 -50
- package/dist/src/core/renderers/Indicator/macdLegend.d.ts +0 -12
- package/dist/src/core/renderers/Indicator/mainIndicatorLegend.d.ts +0 -10
- package/dist/src/core/renderers/Indicator/mfi.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/mom.d.ts +0 -22
- package/dist/src/core/renderers/Indicator/obv.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/parkinson.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/pivot.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/pvt.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/roc.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/rsi.d.ts +0 -33
- package/dist/src/core/renderers/Indicator/sar.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/scale/atr_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/cci_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/fastk_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/indicator_scale.d.ts +0 -38
- package/dist/src/core/renderers/Indicator/scale/kst_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/macd_scale.d.ts +0 -14
- package/dist/src/core/renderers/Indicator/scale/mom_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/rsi_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/stoch_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/volume_scale.d.ts +0 -14
- package/dist/src/core/renderers/Indicator/scale/wmsr_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/stoch.d.ts +0 -22
- package/dist/src/core/renderers/Indicator/structure.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +0 -9
- package/dist/src/core/renderers/Indicator/supertrend.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/tema.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/trix.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/vma.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/vwap.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/wma.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/wmsr.d.ts +0 -22
- package/dist/src/core/renderers/Indicator/zones.d.ts +0 -4
- package/dist/src/core/renderers/candle.d.ts +0 -21
- package/dist/src/core/renderers/crosshair.d.ts +0 -17
- package/dist/src/core/renderers/customMarkers.d.ts +0 -6
- package/dist/src/core/renderers/extremaMarkers.d.ts +0 -5
- package/dist/src/core/renderers/gridLines.d.ts +0 -7
- package/dist/src/core/renderers/lastPrice.d.ts +0 -9
- package/dist/src/core/renderers/paneTitle.d.ts +0 -40
- package/dist/src/core/renderers/subVolume.d.ts +0 -13
- package/dist/src/core/renderers/timeAxis.d.ts +0 -14
- package/dist/src/core/renderers/webgl/candleSurface.d.ts +0 -80
- package/dist/src/core/renderers/webgl/sharedWebGLSurface.d.ts +0 -33
- package/dist/src/core/renderers/yAxis.d.ts +0 -14
- package/dist/src/core/scale/logFormula.d.ts +0 -66
- package/dist/src/core/scale/price.d.ts +0 -11
- package/dist/src/core/scale/priceScale.d.ts +0 -87
- package/dist/src/core/subPaneManager.d.ts +0 -22
- package/dist/src/core/theme/colors.d.ts +0 -222
- package/dist/src/core/theme/fonts.d.ts +0 -12
- package/dist/src/core/utils/klineConfig.d.ts +0 -28
- package/dist/src/core/utils/tickCount.d.ts +0 -8
- package/dist/src/core/utils/tickPosition.d.ts +0 -24
- package/dist/src/core/utils/zoom.d.ts +0 -30
- package/dist/src/core/viewport/viewport.d.ts +0 -31
- package/dist/src/index.d.ts +0 -8
- package/dist/src/main.d.ts +0 -0
- package/dist/src/plugin/ConfigManager.d.ts +0 -31
- package/dist/src/plugin/EventBus.d.ts +0 -34
- package/dist/src/plugin/HookSystem.d.ts +0 -28
- package/dist/src/plugin/PluginHost.d.ts +0 -57
- package/dist/src/plugin/PluginRegistry.d.ts +0 -40
- package/dist/src/plugin/StateStore.d.ts +0 -37
- package/dist/src/plugin/index.d.ts +0 -11
- package/dist/src/plugin/rendererPluginManager.d.ts +0 -77
- package/dist/src/plugin/stateKeys.d.ts +0 -6
- package/dist/src/plugin/types.d.ts +0 -445
- package/dist/src/semantic/controller.d.ts +0 -35
- package/dist/src/semantic/drawShape.d.ts +0 -14
- package/dist/src/semantic/index.d.ts +0 -8
- package/dist/src/semantic/types.d.ts +0 -298
- package/dist/src/semantic/validator.d.ts +0 -43
- package/dist/src/test-setup.d.ts +0 -6
- package/dist/src/types/kLine.d.ts +0 -3
- package/dist/src/types/price.d.ts +0 -31
- package/dist/src/types/volumePrice.d.ts +0 -26
- package/dist/src/utils/cache.d.ts +0 -33
- package/dist/src/utils/dateFormat.d.ts +0 -83
- package/dist/src/utils/http.d.ts +0 -14
- package/dist/src/utils/kLineDraw/MA.d.ts +0 -7
- package/dist/src/utils/kLineDraw/axis.d.ts +0 -150
- package/dist/src/utils/kLineDraw/grid.d.ts +0 -30
- package/dist/src/utils/kLineDraw/kLine.d.ts +0 -15
- package/dist/src/utils/kline/format.d.ts +0 -11
- package/dist/src/utils/kline/viewport.d.ts +0 -10
- package/dist/src/utils/logger.d.ts +0 -5
- package/dist/src/utils/mock/genRandomPriceData.d.ts +0 -3
- package/dist/src/utils/priceToY.d.ts +0 -7
- package/dist/src/utils/volumePrice.d.ts +0 -54
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
/**
|
|
3
|
-
* RSI 渲染器状态(共享给渲染器、图例和 scale 渲染器)
|
|
4
|
-
* 包含全量 RSI 数组、计算参数、固定 Y 轴范围以及视口极值
|
|
5
|
-
*/
|
|
6
|
-
export interface RSIRenderState extends BaseIndicatorState {
|
|
7
|
-
timestamp: number;
|
|
8
|
-
/** 各周期 RSI 数组(稀疏:前 period+1 个为 undefined) */
|
|
9
|
-
series: Record<number, (number | undefined)[]>;
|
|
10
|
-
/** 当前启用的周期列表 */
|
|
11
|
-
enabledPeriods: number[];
|
|
12
|
-
/** 计算和渲染参数 */
|
|
13
|
-
params: {
|
|
14
|
-
period1: number;
|
|
15
|
-
period2: number;
|
|
16
|
-
period3: number;
|
|
17
|
-
showRSI1: boolean;
|
|
18
|
-
showRSI2: boolean;
|
|
19
|
-
showRSI3: boolean;
|
|
20
|
-
};
|
|
21
|
-
/** 固定 Y 轴最小值(始终为 0) */
|
|
22
|
-
valueMin: number;
|
|
23
|
-
/** 固定 Y 轴最大值(始终为 100) */
|
|
24
|
-
valueMax: number;
|
|
25
|
-
/** 视口内所有 RSI 线的最小值 */
|
|
26
|
-
visibleMin: number;
|
|
27
|
-
/** 视口内所有 RSI 线的最大值 */
|
|
28
|
-
visibleMax: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* RSI 状态的基础 StateStore 键名
|
|
32
|
-
*/
|
|
33
|
-
export declare const RSI_STATE_KEY = "indicator:rsi";
|
|
34
|
-
/**
|
|
35
|
-
* 创建 RSI 状态的 StateStore 键名
|
|
36
|
-
* 格式:indicator:rsi:{paneId}
|
|
37
|
-
*/
|
|
38
|
-
export declare const createRSIStateKey: (paneId: string) => `indicator:${string}:${string}`;
|
|
39
|
-
/**
|
|
40
|
-
* 空数据占位状态
|
|
41
|
-
* 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
|
|
42
|
-
*/
|
|
43
|
-
export declare const EMPTY_RSI_STATE: RSIRenderState;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
/**
|
|
3
|
-
* SAR 点:value 是 SAR 价格,trend = 'up' 表示 SAR 在 K 线下方(多头止损)
|
|
4
|
-
* 'down' 表示 SAR 在 K 线上方(空头止损)。
|
|
5
|
-
*/
|
|
6
|
-
export interface SARPoint {
|
|
7
|
-
value: number;
|
|
8
|
-
trend: 'up' | 'down';
|
|
9
|
-
}
|
|
10
|
-
export interface SARRenderState extends BaseIndicatorState {
|
|
11
|
-
timestamp: number;
|
|
12
|
-
series: (SARPoint | undefined)[];
|
|
13
|
-
params: {
|
|
14
|
-
step: number;
|
|
15
|
-
maxStep: number;
|
|
16
|
-
showSAR: boolean;
|
|
17
|
-
};
|
|
18
|
-
valueMin: number;
|
|
19
|
-
valueMax: number;
|
|
20
|
-
visibleMin: number;
|
|
21
|
-
visibleMax: number;
|
|
22
|
-
}
|
|
23
|
-
export declare const createSARStateKey: (paneId: string) => `indicator:${string}:${string}`;
|
|
24
|
-
export declare const DEFAULT_SAR_STEP = 0.02;
|
|
25
|
-
export declare const DEFAULT_SAR_MAX_STEP = 0.2;
|
|
26
|
-
export declare const EMPTY_SAR_STATE: SARRenderState;
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
import { PluginHost } from '../../plugin';
|
|
2
|
-
import { KLineData } from '../../types/price';
|
|
3
|
-
import { BOLLSchedulerConfig, EXPMASchedulerConfig, ENESchedulerConfig, RSISchedulerConfig, CCISchedulerConfig, STOCHSchedulerConfig, MOMSchedulerConfig, WMSRSchedulerConfig, KSTSchedulerConfig, FASTKSchedulerConfig, MACDSchedulerConfig, ATRSchedulerConfig, WMASchedulerConfig, DEMASchedulerConfig, TEMASchedulerConfig, HMASchedulerConfig, KAMASchedulerConfig, SARSchedulerConfig, SuperTrendSchedulerConfig, KeltnerSchedulerConfig, DonchianSchedulerConfig, IchimokuSchedulerConfig, ROCSchedulerConfig, TRIXSchedulerConfig, HVSchedulerConfig, ParkinsonSchedulerConfig, ChaikinVolSchedulerConfig, VMASchedulerConfig, OBVSchedulerConfig, PVTSchedulerConfig, VWAPSchedulerConfig, CMFSchedulerConfig, MFISchedulerConfig, PivotSchedulerConfig, FibSchedulerConfig, StructureSchedulerConfig, ZonesSchedulerConfig, VolumeProfileSchedulerConfig } from './workerProtocol';
|
|
4
|
-
import { MAFlags } from './calculators';
|
|
5
|
-
import { IndicatorMetadata } from './indicatorMetadata';
|
|
6
|
-
/**
|
|
7
|
-
* 可见范围
|
|
8
|
-
*/
|
|
9
|
-
interface VisibleRange {
|
|
10
|
-
start: number;
|
|
11
|
-
end: number;
|
|
12
|
-
}
|
|
13
|
-
export type { BOLLSchedulerConfig, EXPMASchedulerConfig, ENESchedulerConfig, RSISchedulerConfig, CCISchedulerConfig, STOCHSchedulerConfig, MOMSchedulerConfig, WMSRSchedulerConfig, KSTSchedulerConfig, FASTKSchedulerConfig, MACDSchedulerConfig, ATRSchedulerConfig, WMASchedulerConfig, DEMASchedulerConfig, TEMASchedulerConfig, HMASchedulerConfig, KAMASchedulerConfig, SARSchedulerConfig, SuperTrendSchedulerConfig, KeltnerSchedulerConfig, DonchianSchedulerConfig, IchimokuSchedulerConfig, ROCSchedulerConfig, TRIXSchedulerConfig, HVSchedulerConfig, ParkinsonSchedulerConfig, ChaikinVolSchedulerConfig, VMASchedulerConfig, OBVSchedulerConfig, PVTSchedulerConfig, VWAPSchedulerConfig, CMFSchedulerConfig, MFISchedulerConfig, PivotSchedulerConfig, FibSchedulerConfig, StructureSchedulerConfig, ZonesSchedulerConfig, VolumeProfileSchedulerConfig, } from './workerProtocol';
|
|
14
|
-
/**
|
|
15
|
-
* IndicatorScheduler - 主线程 facade
|
|
16
|
-
*/
|
|
17
|
-
export declare class IndicatorScheduler {
|
|
18
|
-
private pluginHost;
|
|
19
|
-
private visibleRange;
|
|
20
|
-
private activeMainIndicators;
|
|
21
|
-
private dataVersion;
|
|
22
|
-
private configVersion;
|
|
23
|
-
private requestId;
|
|
24
|
-
private lastAppliedRequestId;
|
|
25
|
-
private currentData;
|
|
26
|
-
private configSnapshot;
|
|
27
|
-
private worker;
|
|
28
|
-
private workerReady;
|
|
29
|
-
private useWorker;
|
|
30
|
-
private pendingRequest;
|
|
31
|
-
private inlineRuntime;
|
|
32
|
-
private latestResult;
|
|
33
|
-
private invalidateCallback;
|
|
34
|
-
/** 从 Chart 获取活跃副图 paneId 列表的回调 */
|
|
35
|
-
private getActiveSubPaneIds;
|
|
36
|
-
private registry;
|
|
37
|
-
constructor();
|
|
38
|
-
/**
|
|
39
|
-
* 注册新指标(支持动态扩展)
|
|
40
|
-
*/
|
|
41
|
-
registerIndicator<T>(meta: IndicatorMetadata<T>): void;
|
|
42
|
-
/**
|
|
43
|
-
* 注销指标
|
|
44
|
-
*/
|
|
45
|
-
unregisterIndicator(name: string): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* 获取指标元数据(供渲染器查询)
|
|
48
|
-
*/
|
|
49
|
-
getIndicatorMetadata(name: string): IndicatorMetadata | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* 获取所有已注册指标
|
|
52
|
-
*/
|
|
53
|
-
getAllIndicators(): readonly IndicatorMetadata[];
|
|
54
|
-
/**
|
|
55
|
-
* 设置 PluginHost
|
|
56
|
-
*/
|
|
57
|
-
setPluginHost(host: PluginHost): void;
|
|
58
|
-
/**
|
|
59
|
-
* 设置重绘回调
|
|
60
|
-
*/
|
|
61
|
-
setInvalidateCallback(callback: () => void): void;
|
|
62
|
-
/**
|
|
63
|
-
* 副图增删后通知 scheduler 刷新 active mask
|
|
64
|
-
*/
|
|
65
|
-
onSubPaneChanged(): void;
|
|
66
|
-
/**
|
|
67
|
-
* 设置活跃副图 paneId 提供者(来自 Chart.getSubPaneIndicators)
|
|
68
|
-
*/
|
|
69
|
-
setActiveSubPaneProvider(provider: () => string[]): void;
|
|
70
|
-
/**
|
|
71
|
-
* 销毁调度器
|
|
72
|
-
*/
|
|
73
|
-
destroy(): void;
|
|
74
|
-
private getDefaultConfig;
|
|
75
|
-
private initBackend;
|
|
76
|
-
private tryInitWorker;
|
|
77
|
-
private initInlineRuntime;
|
|
78
|
-
private fallbackToInline;
|
|
79
|
-
private terminateWorker;
|
|
80
|
-
private handleWorkerMessage;
|
|
81
|
-
private handleSeriesResult;
|
|
82
|
-
/**
|
|
83
|
-
* 检查 state 中的 visibleMin/visibleMax 是否为 Infinity,如果是则输出 warning
|
|
84
|
-
*/
|
|
85
|
-
private checkVisibleExtremes;
|
|
86
|
-
/** 遍历注册表中的所有指标,通过 applyResult 回调写入 StateStore */
|
|
87
|
-
private applyResults;
|
|
88
|
-
/** 仅副图:重算可见范围极值并回调 applyResult(视口变更时同步更新,不走 Worker) */
|
|
89
|
-
private updateVisibleStatesOnly;
|
|
90
|
-
/** 遍历注册表,标记当前可见副图,仅这些指标参与计算 */
|
|
91
|
-
private buildActiveSubIndicatorMask;
|
|
92
|
-
/** 遍历注册表,禁用非活跃副图指标的 show* 字段,后端只算活跃指标 */
|
|
93
|
-
private buildActiveConfig;
|
|
94
|
-
/**
|
|
95
|
-
* 数据变更时调用
|
|
96
|
-
*/
|
|
97
|
-
update(data: KLineData[], visibleRange: VisibleRange): void;
|
|
98
|
-
/**
|
|
99
|
-
* 视口变更时调用 - 同步处理,不走 Worker
|
|
100
|
-
*/
|
|
101
|
-
updateVisibleRange(visibleRange: VisibleRange): void;
|
|
102
|
-
/**
|
|
103
|
-
* MA 配置变更
|
|
104
|
-
*/
|
|
105
|
-
updateMAConfig(config: MAFlags): void;
|
|
106
|
-
/**
|
|
107
|
-
* BOLL 配置变更
|
|
108
|
-
*/
|
|
109
|
-
updateBOLLConfig(config: Partial<BOLLSchedulerConfig>): void;
|
|
110
|
-
/**
|
|
111
|
-
* EXPMA 配置变更
|
|
112
|
-
*/
|
|
113
|
-
updateEXPMAConfig(config: Partial<EXPMASchedulerConfig>): void;
|
|
114
|
-
/**
|
|
115
|
-
* ENE 配置变更
|
|
116
|
-
*/
|
|
117
|
-
updateENEConfig(config: Partial<ENESchedulerConfig>): void;
|
|
118
|
-
/**
|
|
119
|
-
* RSI 配置变更
|
|
120
|
-
*/
|
|
121
|
-
updateRSIConfig(config: Partial<RSISchedulerConfig>, paneId?: string): void;
|
|
122
|
-
/**
|
|
123
|
-
* CCI 配置变更
|
|
124
|
-
*/
|
|
125
|
-
updateCCIConfig(config: Partial<CCISchedulerConfig>, paneId?: string): void;
|
|
126
|
-
/**
|
|
127
|
-
* STOCH 配置变更
|
|
128
|
-
*/
|
|
129
|
-
updateSTOCHConfig(config: Partial<STOCHSchedulerConfig>, paneId?: string): void;
|
|
130
|
-
/**
|
|
131
|
-
* MOM 配置变更
|
|
132
|
-
*/
|
|
133
|
-
updateMOMConfig(config: Partial<MOMSchedulerConfig>, paneId?: string): void;
|
|
134
|
-
/**
|
|
135
|
-
* WMSR 配置变更
|
|
136
|
-
*/
|
|
137
|
-
updateWMSRConfig(config: Partial<WMSRSchedulerConfig>, paneId?: string): void;
|
|
138
|
-
/**
|
|
139
|
-
* KST 配置变更
|
|
140
|
-
*/
|
|
141
|
-
updateKSTConfig(config: Partial<KSTSchedulerConfig>, paneId?: string): void;
|
|
142
|
-
/**
|
|
143
|
-
* FASTK 配置变更
|
|
144
|
-
*/
|
|
145
|
-
updateFASTKConfig(config: Partial<FASTKSchedulerConfig>, paneId?: string): void;
|
|
146
|
-
/**
|
|
147
|
-
* MACD 配置变更
|
|
148
|
-
*/
|
|
149
|
-
updateMACDConfig(config: Partial<MACDSchedulerConfig>, paneId?: string): void;
|
|
150
|
-
/**
|
|
151
|
-
* ATR 配置变更
|
|
152
|
-
*/
|
|
153
|
-
updateATRConfig(config: Partial<ATRSchedulerConfig>, paneId?: string): void;
|
|
154
|
-
/**
|
|
155
|
-
* WMA 配置变更
|
|
156
|
-
*/
|
|
157
|
-
updateWMAConfig(config: Partial<WMASchedulerConfig>, paneId?: string): void;
|
|
158
|
-
/**
|
|
159
|
-
* DEMA 配置变更
|
|
160
|
-
*/
|
|
161
|
-
updateDEMAConfig(config: Partial<DEMASchedulerConfig>, paneId?: string): void;
|
|
162
|
-
/**
|
|
163
|
-
* TEMA 配置变更
|
|
164
|
-
*/
|
|
165
|
-
updateTEMAConfig(config: Partial<TEMASchedulerConfig>, paneId?: string): void;
|
|
166
|
-
/**
|
|
167
|
-
* HMA 配置变更
|
|
168
|
-
*/
|
|
169
|
-
updateHMAConfig(config: Partial<HMASchedulerConfig>, paneId?: string): void;
|
|
170
|
-
/**
|
|
171
|
-
* KAMA 配置变更
|
|
172
|
-
*/
|
|
173
|
-
updateKAMAConfig(config: Partial<KAMASchedulerConfig>, paneId?: string): void;
|
|
174
|
-
/**
|
|
175
|
-
* SAR 配置变更
|
|
176
|
-
*/
|
|
177
|
-
updateSARConfig(config: Partial<SARSchedulerConfig>, paneId?: string): void;
|
|
178
|
-
/**
|
|
179
|
-
* SuperTrend 配置变更
|
|
180
|
-
*/
|
|
181
|
-
updateSuperTrendConfig(config: Partial<SuperTrendSchedulerConfig>, paneId?: string): void;
|
|
182
|
-
/**
|
|
183
|
-
* Keltner 配置变更
|
|
184
|
-
*/
|
|
185
|
-
updateKeltnerConfig(config: Partial<KeltnerSchedulerConfig>, paneId?: string): void;
|
|
186
|
-
/**
|
|
187
|
-
* Donchian 配置变更
|
|
188
|
-
*/
|
|
189
|
-
updateDonchianConfig(config: Partial<DonchianSchedulerConfig>, paneId?: string): void;
|
|
190
|
-
/**
|
|
191
|
-
* Ichimoku 配置变更
|
|
192
|
-
*/
|
|
193
|
-
updateIchimokuConfig(config: Partial<IchimokuSchedulerConfig>, paneId?: string): void;
|
|
194
|
-
/**
|
|
195
|
-
* ROC 配置变更
|
|
196
|
-
*/
|
|
197
|
-
updateROCConfig(config: Partial<ROCSchedulerConfig>, paneId?: string): void;
|
|
198
|
-
/**
|
|
199
|
-
* TRIX 配置变更
|
|
200
|
-
*/
|
|
201
|
-
updateTRIXConfig(config: Partial<TRIXSchedulerConfig>, paneId?: string): void;
|
|
202
|
-
/**
|
|
203
|
-
* HV 配置变更
|
|
204
|
-
*/
|
|
205
|
-
updateHVConfig(config: Partial<HVSchedulerConfig>, paneId?: string): void;
|
|
206
|
-
/**
|
|
207
|
-
* Parkinson 配置变更
|
|
208
|
-
*/
|
|
209
|
-
updateParkinsonConfig(config: Partial<ParkinsonSchedulerConfig>, paneId?: string): void;
|
|
210
|
-
/**
|
|
211
|
-
* ChaikinVol 配置变更
|
|
212
|
-
*/
|
|
213
|
-
updateChaikinVolConfig(config: Partial<ChaikinVolSchedulerConfig>, paneId?: string): void;
|
|
214
|
-
/**
|
|
215
|
-
* VMA 配置变更
|
|
216
|
-
*/
|
|
217
|
-
updateVMAConfig(config: Partial<VMASchedulerConfig>, paneId?: string): void;
|
|
218
|
-
/**
|
|
219
|
-
* OBV 配置变更
|
|
220
|
-
*/
|
|
221
|
-
updateOBVConfig(config: Partial<OBVSchedulerConfig>, paneId?: string): void;
|
|
222
|
-
/**
|
|
223
|
-
* PVT 配置变更
|
|
224
|
-
*/
|
|
225
|
-
updatePVTConfig(config: Partial<PVTSchedulerConfig>, paneId?: string): void;
|
|
226
|
-
/**
|
|
227
|
-
* VWAP 配置变更
|
|
228
|
-
*/
|
|
229
|
-
updateVWAPConfig(config: Partial<VWAPSchedulerConfig>, paneId?: string): void;
|
|
230
|
-
/** CMF 配置变更 */
|
|
231
|
-
updateCMFConfig(config: Partial<CMFSchedulerConfig>, paneId?: string): void;
|
|
232
|
-
/** MFI 配置变更 */
|
|
233
|
-
updateMFIConfig(config: Partial<MFISchedulerConfig>, paneId?: string): void;
|
|
234
|
-
/** Pivot 配置变更 */
|
|
235
|
-
updatePivotConfig(config: Partial<PivotSchedulerConfig>, paneId?: string): void;
|
|
236
|
-
/** Fib 配置变更 */
|
|
237
|
-
updateFibConfig(config: Partial<FibSchedulerConfig>, paneId?: string): void;
|
|
238
|
-
/** Structure 配置变更 */
|
|
239
|
-
updateStructureConfig(config: Partial<StructureSchedulerConfig>, paneId?: string): void;
|
|
240
|
-
/** Zones 配置变更 */
|
|
241
|
-
updateZonesConfig(config: Partial<ZonesSchedulerConfig>, paneId?: string): void;
|
|
242
|
-
/** Volume Profile 配置变更 */
|
|
243
|
-
updateVolumeProfileConfig(config: Partial<VolumeProfileSchedulerConfig>, paneId?: string): void;
|
|
244
|
-
/**
|
|
245
|
-
* 设置当前激活的主图指标
|
|
246
|
-
*/
|
|
247
|
-
setActiveMainIndicators(indicators: string[]): void;
|
|
248
|
-
/**
|
|
249
|
-
* 获取主图指标价格范围
|
|
250
|
-
*/
|
|
251
|
-
getMainIndicatorPriceRange(): {
|
|
252
|
-
min: number;
|
|
253
|
-
max: number;
|
|
254
|
-
} | null;
|
|
255
|
-
/**
|
|
256
|
-
* 强制全部重算
|
|
257
|
-
*/
|
|
258
|
-
recompute(): void;
|
|
259
|
-
private triggerRecompute;
|
|
260
|
-
private computeWithWorker;
|
|
261
|
-
private computeWithInline;
|
|
262
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { KLineData } from '../../types/price';
|
|
2
|
-
/**
|
|
3
|
-
* KLineData 的 SoA (Structure of Arrays) 布局
|
|
4
|
-
* 用于零拷贝传输到 Web Worker
|
|
5
|
-
*
|
|
6
|
-
* 内存布局:
|
|
7
|
-
* | timestamps | opens | highs | lows | closes | volumes | turnovers |
|
|
8
|
-
* | 8*N | 8*N | 8*N | 8*N | 8*N | 8*N | 8*N |
|
|
9
|
-
*
|
|
10
|
-
* 其中 N 为数据长度,每列 8 字节(Float64)
|
|
11
|
-
*/
|
|
12
|
-
export interface KLineSoALayout {
|
|
13
|
-
/** 底层缓冲区(SharedArrayBuffer 或 ArrayBuffer) */
|
|
14
|
-
buffer: SharedArrayBuffer | ArrayBuffer;
|
|
15
|
-
/** 数据长度 */
|
|
16
|
-
length: number;
|
|
17
|
-
/** 是否使用 SharedArrayBuffer */
|
|
18
|
-
isShared: boolean;
|
|
19
|
-
/** 是否有成交量数据 */
|
|
20
|
-
hasVolume: boolean;
|
|
21
|
-
/** 是否有成交额数据 */
|
|
22
|
-
hasTurnover: boolean;
|
|
23
|
-
/** 时间戳数组(毫秒) */
|
|
24
|
-
timestamps: Float64Array;
|
|
25
|
-
/** 开盘价数组 */
|
|
26
|
-
opens: Float64Array;
|
|
27
|
-
/** 最高价数组 */
|
|
28
|
-
highs: Float64Array;
|
|
29
|
-
/** 最低价数组 */
|
|
30
|
-
lows: Float64Array;
|
|
31
|
-
/** 收盘价数组 */
|
|
32
|
-
closes: Float64Array;
|
|
33
|
-
/** 成交量数组(无值时为 0) */
|
|
34
|
-
volumes: Float64Array;
|
|
35
|
-
/** 成交额数组(无值时为 0) */
|
|
36
|
-
turnovers: Float64Array;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* SharedKLineBuffer - K线数据的 SoA 管理类
|
|
40
|
-
*
|
|
41
|
-
* 提供 AoS (KLineData[]) 与 SoA 布局之间的转换,
|
|
42
|
-
* 支持 SharedArrayBuffer(零拷贝)和 ArrayBuffer(降级)
|
|
43
|
-
*/
|
|
44
|
-
export declare class SharedKLineBuffer {
|
|
45
|
-
/**
|
|
46
|
-
* 检测 SharedArrayBuffer 是否可用
|
|
47
|
-
* 需要页面有 COOP/COEP 头支持
|
|
48
|
-
*/
|
|
49
|
-
static detectSupport(): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* 计算 SoA 布局所需的总字节数
|
|
52
|
-
*/
|
|
53
|
-
static calculateByteLength(length: number): number;
|
|
54
|
-
/**
|
|
55
|
-
* 将 KLineData[] 转换为 SoA 布局
|
|
56
|
-
* @param data K线数据数组(AoS 格式)
|
|
57
|
-
* @param preferShared 是否优先使用 SharedArrayBuffer(默认 true)
|
|
58
|
-
* @returns SoA 布局对象
|
|
59
|
-
*/
|
|
60
|
-
static fromKLineData(data: KLineData[], preferShared?: boolean): KLineSoALayout;
|
|
61
|
-
/**
|
|
62
|
-
* 更新现有 SoA 布局的数据(尽可能复用缓冲区)
|
|
63
|
-
* 如果新数据长度超过原缓冲区,会创建新缓冲区
|
|
64
|
-
*
|
|
65
|
-
* @param layout 现有 SoA 布局
|
|
66
|
-
* @param data 新的 K线数据
|
|
67
|
-
* @returns 更新后的 SoA 布局(可能是新对象)
|
|
68
|
-
*/
|
|
69
|
-
static updateExisting(layout: KLineSoALayout, data: KLineData[]): KLineSoALayout;
|
|
70
|
-
/**
|
|
71
|
-
* 将 SoA 布局转换回 KLineData[](用于测试和兼容性)
|
|
72
|
-
* @param layout SoA 布局
|
|
73
|
-
* @returns K线数据数组
|
|
74
|
-
*/
|
|
75
|
-
static toKLineData(layout: KLineSoALayout): KLineData[];
|
|
76
|
-
/**
|
|
77
|
-
* 创建子视图(用于 Worker 中处理部分数据范围)
|
|
78
|
-
* @param layout 原 SoA 布局
|
|
79
|
-
* @param start 起始索引(包含)
|
|
80
|
-
* @param end 结束索引(不包含)
|
|
81
|
-
* @returns 子视图对象(共享同一缓冲区)
|
|
82
|
-
*/
|
|
83
|
-
static createSubview(layout: KLineSoALayout, start: number, end: number): KLineSoALayout;
|
|
84
|
-
/**
|
|
85
|
-
* 获取缓冲区信息(用于调试和序列化)
|
|
86
|
-
*/
|
|
87
|
-
static getBufferInfo(layout: KLineSoALayout): {
|
|
88
|
-
byteLength: number;
|
|
89
|
-
isShared: boolean;
|
|
90
|
-
length: number;
|
|
91
|
-
columns: string[];
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* 获取 SoA 布局中 closes 列的视图(最常用列)
|
|
96
|
-
* 用于指标计算中快速访问收盘价
|
|
97
|
-
*/
|
|
98
|
-
export declare function getClosesView(layout: KLineSoALayout): Float64Array;
|
|
99
|
-
/**
|
|
100
|
-
* 获取 SoA 布局中 highs/lows 列的视图
|
|
101
|
-
* 用于需要高低价的指标(如 BOLL、STOCH、WMSR)
|
|
102
|
-
*/
|
|
103
|
-
export declare function getHighsLowsViews(layout: KLineSoALayout): {
|
|
104
|
-
highs: Float64Array;
|
|
105
|
-
lows: Float64Array;
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* 获取 SoA 布局中 OHLC 四价视图
|
|
109
|
-
*/
|
|
110
|
-
export declare function getOHLCViews(layout: KLineSoALayout): {
|
|
111
|
-
opens: Float64Array;
|
|
112
|
-
highs: Float64Array;
|
|
113
|
-
lows: Float64Array;
|
|
114
|
-
closes: Float64Array;
|
|
115
|
-
};
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { MARenderState } from './maState';
|
|
2
|
-
import { BOLLRenderState } from './bollState';
|
|
3
|
-
import { EXPMARenderState } from './expmaState';
|
|
4
|
-
import { ENERenderState } from './eneState';
|
|
5
|
-
import { RSIRenderState } from './rsiState';
|
|
6
|
-
import { CCIRenderState } from './cciState';
|
|
7
|
-
import { STOCHRenderState } from './stochState';
|
|
8
|
-
import { MOMRenderState } from './momState';
|
|
9
|
-
import { WMSRRenderState } from './wmsrState';
|
|
10
|
-
import { KSTRenderState } from './kstState';
|
|
11
|
-
import { FASTKRenderState } from './fastkState';
|
|
12
|
-
import { MACDRenderState } from './macdState';
|
|
13
|
-
import { ATRRenderState } from './atrState';
|
|
14
|
-
import { WMARenderState } from './wmaState';
|
|
15
|
-
import { DEMARenderState } from './demaState';
|
|
16
|
-
import { TEMARenderState } from './temaState';
|
|
17
|
-
import { HMARenderState } from './hmaState';
|
|
18
|
-
import { KAMARenderState } from './kamaState';
|
|
19
|
-
import { SARRenderState } from './sarState';
|
|
20
|
-
import { SuperTrendRenderState } from './supertrendState';
|
|
21
|
-
import { KeltnerRenderState } from './keltnerState';
|
|
22
|
-
import { DonchianRenderState } from './donchianState';
|
|
23
|
-
import { IchimokuRenderState } from './ichimokuState';
|
|
24
|
-
import { ROCRenderState } from './rocState';
|
|
25
|
-
import { TRIXRenderState } from './trixState';
|
|
26
|
-
import { HVRenderState } from './hvState';
|
|
27
|
-
import { ParkinsonRenderState } from './parkinsonState';
|
|
28
|
-
import { ChaikinVolRenderState } from './chaikinVolState';
|
|
29
|
-
import { VMARenderState } from './vmaState';
|
|
30
|
-
import { OBVRenderState } from './obvState';
|
|
31
|
-
import { PVTRenderState } from './pvtState';
|
|
32
|
-
import { VWAPRenderState } from './vwapState';
|
|
33
|
-
import { CMFRenderState } from './cmfState';
|
|
34
|
-
import { MFIRenderState } from './mfiState';
|
|
35
|
-
import { PivotRenderState } from './pivotState';
|
|
36
|
-
import { FibRenderState } from './fibState';
|
|
37
|
-
import { StructureRenderState } from './structureState';
|
|
38
|
-
import { ZonesRenderState } from './zonesState';
|
|
39
|
-
import { VolumeProfileRenderState } from './volumeProfileState';
|
|
40
|
-
import { IndicatorSeriesBundle } from './workerProtocol';
|
|
41
|
-
/**
|
|
42
|
-
* 可见范围
|
|
43
|
-
*/
|
|
44
|
-
interface VisibleRange {
|
|
45
|
-
start: number;
|
|
46
|
-
end: number;
|
|
47
|
-
}
|
|
48
|
-
type VisibleSubIndicatorStates = {
|
|
49
|
-
rsi: RSIRenderState;
|
|
50
|
-
cci: CCIRenderState;
|
|
51
|
-
stoch: STOCHRenderState;
|
|
52
|
-
mom: MOMRenderState;
|
|
53
|
-
wmsr: WMSRRenderState;
|
|
54
|
-
kst: KSTRenderState;
|
|
55
|
-
fastk: FASTKRenderState;
|
|
56
|
-
macd: MACDRenderState;
|
|
57
|
-
atr: ATRRenderState;
|
|
58
|
-
wma: WMARenderState;
|
|
59
|
-
dema: DEMARenderState;
|
|
60
|
-
tema: TEMARenderState;
|
|
61
|
-
hma: HMARenderState;
|
|
62
|
-
kama: KAMARenderState;
|
|
63
|
-
sar: SARRenderState;
|
|
64
|
-
supertrend: SuperTrendRenderState;
|
|
65
|
-
keltner: KeltnerRenderState;
|
|
66
|
-
donchian: DonchianRenderState;
|
|
67
|
-
ichimoku: IchimokuRenderState;
|
|
68
|
-
roc: ROCRenderState;
|
|
69
|
-
trix: TRIXRenderState;
|
|
70
|
-
hv: HVRenderState;
|
|
71
|
-
parkinson: ParkinsonRenderState;
|
|
72
|
-
chaikinVol: ChaikinVolRenderState;
|
|
73
|
-
vma: VMARenderState;
|
|
74
|
-
obv: OBVRenderState;
|
|
75
|
-
pvt: PVTRenderState;
|
|
76
|
-
vwap: VWAPRenderState;
|
|
77
|
-
cmf: CMFRenderState;
|
|
78
|
-
mfi: MFIRenderState;
|
|
79
|
-
pivot: PivotRenderState;
|
|
80
|
-
fib: FibRenderState;
|
|
81
|
-
structure: StructureRenderState;
|
|
82
|
-
zones: ZonesRenderState;
|
|
83
|
-
volumeProfile: VolumeProfileRenderState;
|
|
84
|
-
};
|
|
85
|
-
type VisibleSubIndicatorMask = {
|
|
86
|
-
rsi?: boolean;
|
|
87
|
-
cci?: boolean;
|
|
88
|
-
stoch?: boolean;
|
|
89
|
-
mom?: boolean;
|
|
90
|
-
wmsr?: boolean;
|
|
91
|
-
kst?: boolean;
|
|
92
|
-
fastk?: boolean;
|
|
93
|
-
macd?: boolean;
|
|
94
|
-
atr?: boolean;
|
|
95
|
-
wma?: boolean;
|
|
96
|
-
dema?: boolean;
|
|
97
|
-
tema?: boolean;
|
|
98
|
-
hma?: boolean;
|
|
99
|
-
kama?: boolean;
|
|
100
|
-
sar?: boolean;
|
|
101
|
-
supertrend?: boolean;
|
|
102
|
-
keltner?: boolean;
|
|
103
|
-
donchian?: boolean;
|
|
104
|
-
ichimoku?: boolean;
|
|
105
|
-
roc?: boolean;
|
|
106
|
-
trix?: boolean;
|
|
107
|
-
hv?: boolean;
|
|
108
|
-
parkinson?: boolean;
|
|
109
|
-
chaikinVol?: boolean;
|
|
110
|
-
vma?: boolean;
|
|
111
|
-
obv?: boolean;
|
|
112
|
-
pvt?: boolean;
|
|
113
|
-
vwap?: boolean;
|
|
114
|
-
cmf?: boolean;
|
|
115
|
-
mfi?: boolean;
|
|
116
|
-
pivot?: boolean;
|
|
117
|
-
fib?: boolean;
|
|
118
|
-
structure?: boolean;
|
|
119
|
-
zones?: boolean;
|
|
120
|
-
volumeProfile?: boolean;
|
|
121
|
-
};
|
|
122
|
-
type ComposedRenderStates = VisibleSubIndicatorStates & {
|
|
123
|
-
ma: MARenderState;
|
|
124
|
-
boll: BOLLRenderState;
|
|
125
|
-
expma: EXPMARenderState;
|
|
126
|
-
ene: ENERenderState;
|
|
127
|
-
};
|
|
128
|
-
/**
|
|
129
|
-
* 仅计算副图指标的 visible-only states
|
|
130
|
-
* 用于滚动时的轻量更新,避免重复计算主图指标
|
|
131
|
-
*/
|
|
132
|
-
export declare function composeVisibleSubIndicatorStates(bundle: IndicatorSeriesBundle, visibleRange: VisibleRange, timestamp: number, activeMask?: VisibleSubIndicatorMask): VisibleSubIndicatorStates;
|
|
133
|
-
/**
|
|
134
|
-
* 从 series bundle 组装所有 render states
|
|
135
|
-
* 同时计算 visibleMin/visibleMax 等派生字段
|
|
136
|
-
*/
|
|
137
|
-
export declare function composeRenderStates(bundle: IndicatorSeriesBundle, visibleRange: VisibleRange, timestamp: number): ComposedRenderStates;
|
|
138
|
-
/**
|
|
139
|
-
* 计算主图指标价格范围
|
|
140
|
-
* 用于 Chart.draw() 中的 pane.updateRange
|
|
141
|
-
*/
|
|
142
|
-
export declare function computeMainIndicatorPriceRange(bundle: IndicatorSeriesBundle, visibleRange: VisibleRange, activeMainIndicators: Set<string>): {
|
|
143
|
-
min: number;
|
|
144
|
-
max: number;
|
|
145
|
-
} | null;
|
|
146
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
import { STOCHPoint } from './calculators';
|
|
3
|
-
export interface STOCHRenderState extends BaseIndicatorState {
|
|
4
|
-
timestamp: number;
|
|
5
|
-
series: STOCHPoint[];
|
|
6
|
-
params: {
|
|
7
|
-
n: number;
|
|
8
|
-
m: number;
|
|
9
|
-
showK: boolean;
|
|
10
|
-
showD: boolean;
|
|
11
|
-
};
|
|
12
|
-
valueMin: number;
|
|
13
|
-
valueMax: number;
|
|
14
|
-
visibleMin: number;
|
|
15
|
-
visibleMax: number;
|
|
16
|
-
}
|
|
17
|
-
export declare const createSTOCHStateKey: (paneId: string) => `indicator:${string}:${string}`;
|
|
18
|
-
export declare const EMPTY_STOCH_STATE: STOCHRenderState;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
export interface SwingPoint {
|
|
3
|
-
index: number;
|
|
4
|
-
price: number;
|
|
5
|
-
kind: 'high' | 'low';
|
|
6
|
-
label: 'HH' | 'HL' | 'LH' | 'LL';
|
|
7
|
-
confirmed: boolean;
|
|
8
|
-
}
|
|
9
|
-
export type StructureEventKind = 'BOS' | 'CHOCH';
|
|
10
|
-
export interface StructureEvent {
|
|
11
|
-
kind: StructureEventKind;
|
|
12
|
-
index: number;
|
|
13
|
-
triggerPrice: number;
|
|
14
|
-
brokenLevel: number;
|
|
15
|
-
brokenSwingIndex: number;
|
|
16
|
-
direction: 'up' | 'down';
|
|
17
|
-
}
|
|
18
|
-
export interface StructureSnapshot {
|
|
19
|
-
swings: SwingPoint[];
|
|
20
|
-
events: StructureEvent[];
|
|
21
|
-
trend: 'up' | 'down' | 'range';
|
|
22
|
-
}
|
|
23
|
-
export interface StructureRenderState extends BaseIndicatorState {
|
|
24
|
-
timestamp: number;
|
|
25
|
-
series: StructureSnapshot;
|
|
26
|
-
params: {
|
|
27
|
-
leftWindow: number;
|
|
28
|
-
rightWindow: number;
|
|
29
|
-
breakoutSource: 'close' | 'wick';
|
|
30
|
-
showSwingLabels: boolean;
|
|
31
|
-
showBOS: boolean;
|
|
32
|
-
showCHOCH: boolean;
|
|
33
|
-
showProvisional: boolean;
|
|
34
|
-
};
|
|
35
|
-
valueMin: number;
|
|
36
|
-
valueMax: number;
|
|
37
|
-
visibleMin: number;
|
|
38
|
-
visibleMax: number;
|
|
39
|
-
}
|
|
40
|
-
export declare const createStructureStateKey: (paneId: string) => `indicator:${string}:${string}`;
|
|
41
|
-
export declare const DEFAULT_STRUCTURE_LEFT = 2;
|
|
42
|
-
export declare const DEFAULT_STRUCTURE_RIGHT = 2;
|
|
43
|
-
export declare const EMPTY_STRUCTURE_STATE: StructureRenderState;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
export interface SuperTrendPoint {
|
|
3
|
-
value: number;
|
|
4
|
-
trend: 'up' | 'down';
|
|
5
|
-
}
|
|
6
|
-
export interface SuperTrendRenderState extends BaseIndicatorState {
|
|
7
|
-
timestamp: number;
|
|
8
|
-
series: (SuperTrendPoint | undefined)[];
|
|
9
|
-
params: {
|
|
10
|
-
atrPeriod: number;
|
|
11
|
-
multiplier: number;
|
|
12
|
-
showSuperTrend: boolean;
|
|
13
|
-
};
|
|
14
|
-
valueMin: number;
|
|
15
|
-
valueMax: number;
|
|
16
|
-
visibleMin: number;
|
|
17
|
-
visibleMax: number;
|
|
18
|
-
}
|
|
19
|
-
export declare const createSuperTrendStateKey: (paneId: string) => `indicator:${string}:${string}`;
|
|
20
|
-
export declare const DEFAULT_SUPERTREND_ATR_PERIOD = 10;
|
|
21
|
-
export declare const DEFAULT_SUPERTREND_MULTIPLIER = 3;
|
|
22
|
-
export declare const EMPTY_SUPERTREND_STATE: SuperTrendRenderState;
|