UNPKG

@abdullah-waseem/klinecharts-pro

Version:

Financial chart built out of the box based on KLineChart. Edited by Abdullah-Waseem

117 lines (112 loc) 3.28 kB
import { DeepPartial, KLineData, Styles } from 'klinecharts'; export interface SymbolInfo { _id?: string; ticker: string; name?: string; shortName?: string; exchange?: string; market?: string; pricePrecision?: number; volumePrecision?: number; priceCurrency?: string; type?: string; logo?: string; isFavorite?: boolean; payout: number; } export interface Period { multiplier: number; timespan: string; text: string; } export interface TradesData { ticketNo: string; symbol: string; currency: string; tradeDirection: string; amountInvested: number; openingPrice: number | null; closingPrice: number | null; openingTime: string; payout: number; closingTime: string; isComplete: boolean; pnlValue: number | null; accountNo: string; } export type DatafeedSubscribeCallback = (data: KLineData) => void; export interface Datafeed { searchSymbols(search?: string): Promise<SymbolInfo[]>; getHistoryKLineData(symbol: SymbolInfo, period: Period, from: number, to: number): Promise<KLineData[]>; subscribe(symbol: SymbolInfo, period: Period, callback: DatafeedSubscribeCallback): void; addOrRemoveFavorite?(symbol: SymbolInfo): Promise<boolean>; unsubscribe(symbol: SymbolInfo, period: Period): void; } export interface ChartProOptions { container: string | HTMLElement; styles?: DeepPartial<Styles>; watermark?: string | Node; theme?: string; locale?: string; drawingBarVisible?: boolean; symbol: SymbolInfo; period: Period; periods?: Period[]; timezone?: string; mainIndicators?: string[]; subIndicators?: string[]; datafeed: Datafeed; } export interface ChartPro { setTheme(theme: string): void; getTheme(): string; setStyles(styles: DeepPartial<Styles>): void; getStyles(): Styles; setLocale(locale: string): void; getLocale(): string; setTimezone(timezone: string): void; getTimezone(): string; setSymbol(symbol: SymbolInfo): void; getSymbol(): SymbolInfo; setPeriod(period: Period): void; getPeriod(): Period; createTrade(trade: TradesData): void; toggleSearchSymbolModal?(): void; } export declare class DefaultDatafeed implements Datafeed { constructor(apiKey: string); private _apiKey; private _prevSymbolMarket?; private _ws?; private _currentPeriod?; searchSymbols(search?: string): Promise<SymbolInfo[]>; getHistoryKLineData(symbol: SymbolInfo, period: Period, from: number, to: number): Promise<KLineData[]>; subscribe(symbol: SymbolInfo, period: Period, callback: DatafeedSubscribeCallback): void; private alignTimestampToPeriodBoundary; unsubscribe(symbol: SymbolInfo, period: Period): void; } export declare class KLineChartPro implements ChartPro { constructor(options: ChartProOptions); private _container; private _chartApi; setTheme(theme: string): void; getTheme(): string; setStyles(styles: DeepPartial<Styles>): void; getStyles(): Styles; setLocale(locale: string): void; getLocale(): string; setTimezone(timezone: string): void; getTimezone(): string; setSymbol(symbol: SymbolInfo): void; getSymbol(): SymbolInfo; setPeriod(period: Period): void; getPeriod(): Period; createTrade(trade: TradesData): void; toggleSearchSymbolModal(): void; } declare function load(key: string, ls: any): void; export { load as loadLocales, }; export as namespace klinechartspro; export {};