import { DateFormat, IndicatorsIds, Locale, Timeframes } from '@mx-charts/charts';
import type { ChartCollectionPreset, IMoexChart, MoexChartSnapshotInput } from '@mx-charts/charts';
type ChartCollectionPresetConfig = Omit<ChartCollectionPreset, 'getDataSource' | 'startRealtime'>;
type ChartSnapshotConfig = Omit<MoexChartSnapshotInput['charts'][number], 'symbolId'>;
type MoexChartSnapshotConfig = Omit<MoexChartSnapshotInput, 'charts'> & {
charts: ChartSnapshotConfig[];
};
type MoexChartConfig = Omit<IMoexChart, 'container' | 'chartCollectionPreset' | 'snapshot'> & {
snapshot: MoexChartSnapshotConfig;
chartCollectionPreset: ChartCollectionPresetConfig;
};
const MOEX_CHART_CONFIG: MoexChartConfig = {
snapshot: {
charts: [
{
chartSeriesType: 'Candlestick',
timeframe: Timeframes['10s'],
timeFormat: '24h',
dateFormat: DateFormat.DD_MM_YYYY_HH_mm_ss,
panes: [
{
isMain: true,
id: 0,
indicators: [
{
indicatorType: IndicatorsIds.Volume,
},
],
drawings: [],
},
],
},
],
},
chartCollectionPreset: {
undoRedoEnabled: true,
showMenuButton: true,
showBottomPanel: true,
showControlBar: true,
showFullscreenButton: true,
showSettingsButton: true,
showSnapshotButton: true,
showCompareButton: true,
showSeasonalityButton: true,
tooltipConfig: {
showTooltip: false,
time: { visible: true, label: 'Время' },
close: { visible: true, label: 'Закр.' },
absoluteChange: {
visible: true,
label: 'Абсолютное изменение',
},
percentageChange: {
visible: true,
label: 'Относительное изменение',
},
volume: { visible: true, label: 'Объем' },
open: { visible: true, label: 'Откр.' },
high: { visible: true, label: 'Макс.' },
low: { visible: true, label: 'Мин.' },
},
supportedTimeframes: [
Timeframes['1m'],
Timeframes['5m'],
Timeframes['10m'],
Timeframes['15m'],
Timeframes['30m'],
Timeframes['45m'],
Timeframes['1h'],
Timeframes['2h'],
Timeframes['3h'],
Timeframes['4h'],
Timeframes['1d'],
Timeframes['1w'],
Timeframes['1М'],
],
supportedChartSeriesTypes: ['Candlestick', 'Line', 'Bar'],
theme: 'tr',
ohlc: {
show: true,
precision: 4,
},
mode: 'dark',
locale: Locale.rus,
},
lwcInheritedChartOptions: {
timeVisible: true,
secondsVisible: false,
},
};
export { MOEX_CHART_CONFIG };