Files
ai/datafeeds/udf/lib/history-provider.js
Jenkins 967db57659 VERSION 1.15 @ 2019-12-18 11:58:16.705704
setVisibleRange additional argument - right margin % #4512
Indicators are slided when zooming chart #4456
save_load_adapter after removing chart #4454
Overriding timezone definitions #4449
Error while applying study template #4407
Wrong range of overlay after switching timeframe #4372
Intraday Data is Requesting from the server since 1970 #4366
Display price in thousands, millions, billions #4360
setBodyFont of position line tool doesn't work correctly #4353
Realtime updates shifts indicator's data for realtime bars count back #4283
Adaptive indicators dialogs #4247
Click instead of mouseDown for positionLine onClose. #4245
Add applyRightMargin flag to setVisibleRange #4233
Open volume on new pane if volume_force_overlay is enabled #4198
Keep the first visible point when a new bar comes #4188
getVisibleRange should return 00:00 for DWM #4187
21 more indicators #4170
Main series API #4169
Can not set Text property of the Note Shape #4144
Unable to hide legend #4126
setVisibleRange or getVisibleRange adds one more bar to the left #4110
Cannot set tooltip for order line #4079
Dialog is closed immediately if it is invoked from mouse_down event #4077
setVisibleRange doesn't work for multiple charts at once #4068
how to disable mp3 files being loaded? #4052
Increase spacing between bars to display short time periods #4043
Event Marker Placement always uses high #4042
Number cannot be passed as symbol into widget constructor #4039
custom_css_url not working in unstable branch #4017
ConfirmDialog does not close after YES is clicked #3981
Side DOM chart does not render in certain conditions #3975
`getAllShapes` does not return drawings loaded from state #3966
Text inside order/position lines is too small #3962
Removing the last saved chart #3954
get current chart timezone #3943
Text shape throws error setValue #3930
Wrong Symbol and Price values in context menu for secondary instrument. #3926
text override in Horizontal Line does not work #3918
Sticky magnet mode #3902
Add thin bars #3900
Event that study has been removed from the chart #3899
High-Low bars #3898
Multiple Y-axis #3897
Issue with Renko with volume and vwap indicators #3893
Layout rename doesn't send request to server #3878
Cannot create copy of copy of a chart layout #3872
Chart scrolls when tap on a trend line Safari/iphone7 #3871
Chart border overlap scale values #3826
IDatafeedChartApi.subscribeDepth parameters #3821
Error in console when restore defaults #3755
Timeframe is not precise #3722
Wrong year Ticker displayed on X axis if resolution < 2H #3678
New chart layouts #3629
Drawings disappear at certain resolutions #3594
Remove jQuery from loading custom indicator #3563
Align symbol labels #3513
createOrderLine().onMove broken in 1.13 #3480
When changing theme on the fly - chart type changing too #3459
Pivot Points Standard - path to some style params #3441
createMultipointShape overrides with dot don't work #3419
Add inverting price scale #3376
Transparent chart background color #3288
Previous timescale tooltips stay when switching currency #3165
disableSelection still shown the selections on hover #2864
Override symbol from saved_data #2493
Forecast balloon too short #2289
Context menu submenus cover up other options #2007
Add setVisiblePriceRange method #1408
Modify panes height/order #1232
Add custom Interval  #1191
2019-12-18 14:58:22 +03:00

68 lines
2.7 KiB
JavaScript

import { getErrorMessage, } from './helpers';
var HistoryProvider = /** @class */ (function () {
function HistoryProvider(datafeedUrl, requester) {
this._datafeedUrl = datafeedUrl;
this._requester = requester;
}
HistoryProvider.prototype.getBars = function (symbolInfo, resolution, rangeStartDate, rangeEndDate) {
var _this = this;
var requestParams = {
symbol: symbolInfo.ticker || '',
resolution: resolution,
from: rangeStartDate,
to: rangeEndDate,
};
return new Promise(function (resolve, reject) {
_this._requester.sendRequest(_this._datafeedUrl, 'history', requestParams)
.then(function (response) {
if (response.s !== 'ok' && response.s !== 'no_data') {
reject(response.errmsg);
return;
}
var bars = [];
var meta = {
noData: false,
};
if (response.s === 'no_data') {
meta.noData = true;
meta.nextTime = response.nextTime;
}
else {
var volumePresent = response.v !== undefined;
var ohlPresent = response.o !== undefined;
for (var i = 0; i < response.t.length; ++i) {
var barValue = {
time: response.t[i] * 1000,
close: Number(response.c[i]),
open: Number(response.c[i]),
high: Number(response.c[i]),
low: Number(response.c[i]),
};
if (ohlPresent) {
barValue.open = Number(response.o[i]);
barValue.high = Number(response.h[i]);
barValue.low = Number(response.l[i]);
}
if (volumePresent) {
barValue.volume = Number(response.v[i]);
}
bars.push(barValue);
}
}
resolve({
bars: bars,
meta: meta,
});
})
.catch(function (reason) {
var reasonString = getErrorMessage(reason);
// tslint:disable-next-line:no-console
console.warn("HistoryProvider: getBars() failed, error=" + reasonString);
reject(reasonString);
});
});
};
return HistoryProvider;
}());
export { HistoryProvider };