feat(web): M9-3 K线 Chart 组件(candlestick + 量 + MA + Signal↔Fill 标记)
- components/StockChart/CandleChart.tsx:ECharts candlestick(红涨绿跌)+ 成交量副网格 + MA20/MA60 叠加 + 事件标记:成交 fills 实心三角、未成交信号空心三角(v3 §20.3); 组件只展示不计算;层隔离便于替换 TradingView Lightweight Charts - lib/types.ts:ChartResult/OHLC/Volume/Series/Marker DTO - tsc --noEmit 通过
This commit is contained in:
@@ -186,3 +186,43 @@ export interface SignalRun {
|
||||
signal_id: string;
|
||||
result: SignalResult;
|
||||
}
|
||||
|
||||
/* ---- Chart Service(v3 §20,与 domain/entities/chart.py 对应) ---- */
|
||||
|
||||
export interface ChartOHLC {
|
||||
time: string;
|
||||
open?: number | null;
|
||||
high?: number | null;
|
||||
low?: number | null;
|
||||
close?: number | null;
|
||||
}
|
||||
export interface ChartVolumePoint { time: string; value?: number | null }
|
||||
export interface ChartSeriesPoint { time: string; value?: number | null }
|
||||
export interface ChartMarker {
|
||||
time: string;
|
||||
kind: string; // selection | signal_buy|signal_sell|signal_watch | fill_buy|fill_sell
|
||||
symbol?: string;
|
||||
price?: number | null;
|
||||
score?: number | null;
|
||||
text: string[];
|
||||
ref_id?: string | null;
|
||||
}
|
||||
export interface ChartResult {
|
||||
metadata: {
|
||||
symbol: string;
|
||||
name?: string;
|
||||
adjust_mode: string;
|
||||
execution_price_basis?: string | null;
|
||||
start?: string | null;
|
||||
end?: string | null;
|
||||
bar_count: number;
|
||||
indicator_windows: number[];
|
||||
};
|
||||
bars: ChartOHLC[];
|
||||
volume: ChartVolumePoint[];
|
||||
indicators: Record<string, ChartSeriesPoint[]>;
|
||||
selections: ChartMarker[];
|
||||
signals: ChartMarker[];
|
||||
fills: ChartMarker[];
|
||||
factor_values?: Record<string, ChartSeriesPoint[]>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user