Files
ai/charting_library/datafeed-api.d.ts
Jenkins daaa59f286 VERSION 1.13 @ 2018-08-24 09:41:58.695938
Volume Color is reversed in v1.13 dev #3227
XSS in indicatorsFile parameter #3210
Unknown 1 minute resolution in resolutions widget #3207
What does supports_group_request do? #3183
Improved documentation for intraday_multipliers #3176
Please run a spell checker over the Wiki #3172
Disable "This chart layout has more than 1000 drawings" popup #3158
Problem with drawings in `60S` resolution #3147
Pivot Points are same across Hourly and Daily Timeframe #3144
Add useful default for minSize in getMarks #3139
JS API from/to vs. startDate/endDate inconsistency #3136
Minor wiki error: three -> four #3134
Defaults for chart style and interval favorites does not work #3036
Add support to disable modify order #3015
Cannot read property 'contains' of null if chart container is not visible #2999
Spread/Ratio indicators #2875
Initial bars load glitch #2665
Bars are shifted when the exchange time is negative #2652
Question for previous close price line #2643
SymbolInfo ticker is mandatory, despite what docs say #2581
12/31/2017 is missing when TZ time is negative #2571
TERMINAL: notifications log tab in the bottom panel #2538
The problem with translating the timeframes into Russian. #2494
Adaptive top panel #2491
Session and Cookie #2484
Maximum call stack size exceeded #2477
1.12 custom save_load_adapter UI event exceptions #2448
How to change color to the up fractals of the Williams Fractals? #2425
 Timescale marks are not displayed correctly in version 1.11 #2423
Display "Delayed" status on the chart #2369
Add default quantity for symbols #2322
Add Market Depth in TradingTerminal #2316
TERMINAL: Change "Don't show order confirmations" from a broker #2261
Scale Ratio #2240
getBars not called after symbol change #2062
side_toolbar_in_fullscreen_mode doesn't work #2036
Adding link in market details widget #2021
Cannot read property 'favorite' of undefined (indicators) #1998
Add Pivot Points #1747
Multiple watchlists #1697
MACD EMA based #1300
Add Themes #1277
Change study default scale #1170
Show dialog when insert Correlation Coefficient #1169
How to get current status of log scale? #1050
Missing onVisibleRangeChange event #813
Synchronous XMLHttpRequest on the main thread is deprecated #773
"Hide All Drawing Tools" button doesn't hide the price of "Horizontal Line" #477
2018-08-24 12:42:02 +03:00

221 lines
8.0 KiB
TypeScript

export declare type ResolutionString = string;
export interface Exchange {
value: string;
name: string;
desc: string;
}
export interface DatafeedSymbolType {
name: string;
value: string;
}
export interface DatafeedConfiguration {
exchanges?: Exchange[];
supported_resolutions?: ResolutionString[];
supports_marks?: boolean;
supports_time?: boolean;
supports_timescale_marks?: boolean;
symbols_types?: DatafeedSymbolType[];
}
export declare type OnReadyCallback = (configuration: DatafeedConfiguration) => void;
export interface IExternalDatafeed {
onReady(callback: OnReadyCallback): void;
}
export interface DatafeedQuoteValues {
ch?: number;
chp?: number;
short_name?: string;
exchange?: string;
description?: string;
lp?: number;
ask?: number;
bid?: number;
spread?: number;
open_price?: number;
high_price?: number;
low_price?: number;
prev_close_price?: number;
volume?: number;
original_name?: string;
[valueName: string]: string | number | undefined;
}
export interface QuoteOkData {
s: 'ok';
n: string;
v: DatafeedQuoteValues;
}
export interface QuoteErrorData {
s: 'error';
n: string;
v: object;
}
export declare type QuoteData = QuoteOkData | QuoteErrorData;
export declare type QuotesCallback = (data: QuoteData[]) => void;
export interface IDatafeedQuotesApi {
getQuotes(symbols: string[], onDataCallback: QuotesCallback, onErrorCallback: (msg: string) => void): void;
subscribeQuotes(symbols: string[], fastSymbols: string[], onRealtimeCallback: QuotesCallback, listenerGUID: string): void;
unsubscribeQuotes(listenerGUID: string): void;
}
export declare type CustomTimezones = 'America/New_York' | 'America/Los_Angeles' | 'America/Chicago' | 'America/Phoenix' | 'America/Toronto' | 'America/Vancouver' | 'America/Argentina/Buenos_Aires' | 'America/El_Salvador' | 'America/Sao_Paulo' | 'America/Bogota' | 'America/Caracas' | 'Europe/Moscow' | 'Europe/Athens' | 'Europe/Belgrade' | 'Europe/Berlin' | 'Europe/London' | 'Europe/Luxembourg' | 'Europe/Madrid' | 'Europe/Paris' | 'Europe/Rome' | 'Europe/Warsaw' | 'Europe/Istanbul' | 'Europe/Zurich' | 'Australia/Sydney' | 'Australia/Brisbane' | 'Australia/Adelaide' | 'Australia/ACT' | 'Asia/Almaty' | 'Asia/Ashkhabad' | 'Asia/Tokyo' | 'Asia/Taipei' | 'Asia/Singapore' | 'Asia/Shanghai' | 'Asia/Seoul' | 'Asia/Tehran' | 'Asia/Dubai' | 'Asia/Kolkata' | 'Asia/Hong_Kong' | 'Asia/Bangkok' | 'Asia/Chongqing' | 'Asia/Jerusalem' | 'Asia/Kuwait' | 'Asia/Muscat' | 'Asia/Qatar' | 'Asia/Riyadh' | 'Pacific/Auckland' | 'Pacific/Chatham' | 'Pacific/Fakaofo' | 'Pacific/Honolulu' | 'America/Mexico_City' | 'Africa/Cairo' | 'Africa/Johannesburg' | 'Asia/Kathmandu' | 'US/Mountain';
export declare type Timezone = 'Etc/UTC' | CustomTimezones;
export interface LibrarySymbolInfo {
/**
* Symbol Name
*/
name: string;
full_name: string;
base_name?: [string];
/**
* Unique symbol id
*/
ticker?: string;
description: string;
type: string;
/**
* @example "1700-0200"
*/
session: string;
/**
* Traded exchange
* @example "NYSE"
*/
exchange: string;
listed_exchange: string;
timezone: Timezone;
/**
* Code (Tick)
* @example 8/16/.../256 (1/8/100 1/16/100 ... 1/256/100) or 1/10/.../10000000 (1 0.1 ... 0.0000001)
*/
pricescale: number;
/**
* The number of units that make up one tick.
* @example For example, U.S. equities are quotes in decimals, and tick in decimals, and can go up +/- .01. So the tick increment is 1. But the e-mini S&P futures contract, though quoted in decimals, goes up in .25 increments, so the tick increment is 25. (see also Tick Size)
*/
minmov: number;
fractional?: boolean;
/**
* @example Quarters of 1/32: pricescale=128, minmovement=1, minmovement2=4
*/
minmove2?: number;
/**
* false if DWM only
*/
has_intraday?: boolean;
/**
* An array of resolutions which should be enabled in resolutions picker for this symbol.
*/
supported_resolutions: ResolutionString[];
/**
* @example (for ex.: "1,5,60") - only these resolutions will be requested, all others will be built using them if possible
*/
intraday_multipliers?: string[];
has_seconds?: boolean;
/**
* It is an array containing seconds resolutions (in seconds without a postfix) the datafeed builds by itself.
*/
seconds_multipliers?: string[];
has_daily?: boolean;
has_weekly_and_monthly?: boolean;
has_empty_bars?: boolean;
force_session_rebuild?: boolean;
has_no_volume?: boolean;
/**
* Integer showing typical volume value decimal places for this symbol
*/
volume_precision?: number;
data_status?: 'streaming' | 'endofday' | 'pulsed' | 'delayed_streaming';
/**
* Boolean showing whether this symbol is expired futures contract or not.
*/
expired?: boolean;
/**
* Unix timestamp of expiration date.
*/
expiration_date?: number;
sector?: string;
industry?: string;
currency_code?: string;
}
export interface DOMLevel {
price: number;
volume: number;
}
export interface DOMData {
snapshot: boolean;
asks: DOMLevel[];
bids: DOMLevel[];
}
export interface Bar {
time: number;
open: number;
high: number;
low: number;
close: number;
volume?: number;
}
export interface SearchSymbolResultItem {
symbol: string;
full_name: string;
description: string;
exchange: string;
ticker: string;
type: string;
}
export interface HistoryMetadata {
noData: boolean;
nextTime?: number | null;
}
export interface MarkCustomColor {
color: string;
background: string;
}
export declare type MarkConstColors = 'red' | 'green' | 'blue' | 'yellow';
export interface Mark {
id: string | number;
time: number;
color: MarkConstColors | MarkCustomColor;
text: string;
label: string;
labelFontColor: string;
minSize: number;
}
export interface TimescaleMark {
id: string | number;
time: number;
color: MarkConstColors | string;
label: string;
tooltip: string[];
}
export declare type ResolutionBackValues = 'D' | 'M';
export interface HistoryDepth {
resolutionBack: ResolutionBackValues;
intervalBack: number;
}
export declare type SearchSymbolsCallback = (items: SearchSymbolResultItem[]) => void;
export declare type ResolveCallback = (symbolInfo: LibrarySymbolInfo) => void;
export declare type HistoryCallback = (bars: Bar[], meta: HistoryMetadata) => void;
export declare type SubscribeBarsCallback = (bar: Bar) => void;
export declare type GetMarksCallback<T> = (marks: T[]) => void;
export declare type ServerTimeCallback = (serverTime: number) => void;
export declare type DomeCallback = (data: DOMData) => void;
export declare type ErrorCallback = (reason: string) => void;
export interface IDatafeedChartApi {
calculateHistoryDepth?(resolution: ResolutionString, resolutionBack: ResolutionBackValues, intervalBack: number): HistoryDepth | undefined;
getMarks?(symbolInfo: LibrarySymbolInfo, from: number, to: number, onDataCallback: GetMarksCallback<Mark>, resolution: ResolutionString): void;
getTimescaleMarks?(symbolInfo: LibrarySymbolInfo, from: number, to: number, onDataCallback: GetMarksCallback<TimescaleMark>, resolution: ResolutionString): void;
/**
* This function is called if configuration flag supports_time is set to true when chart needs to know the server time.
* The charting library expects callback to be called once.
* The time is provided without milliseconds. Example: 1445324591. It is used to display Countdown on the price scale.
*/
getServerTime?(callback: ServerTimeCallback): void;
searchSymbols(userInput: string, exchange: string, symbolType: string, onResult: SearchSymbolsCallback): void;
resolveSymbol(symbolName: string, onResolve: ResolveCallback, onError: ErrorCallback): void;
getBars(symbolInfo: LibrarySymbolInfo, resolution: ResolutionString, rangeStartDate: number, rangeEndDate: number, onResult: HistoryCallback, onError: ErrorCallback, isFirstCall: boolean): void;
subscribeBars(symbolInfo: LibrarySymbolInfo, resolution: ResolutionString, onTick: SubscribeBarsCallback, listenerGuid: string, onResetCacheNeededCallback: () => void): void;
unsubscribeBars(listenerGuid: string): void;
subscribeDepth?(symbolInfo: LibrarySymbolInfo, callback: DomeCallback): string;
unsubscribeDepth?(subscriberUID: string): void;
}
export as namespace TradingView;