|
@ -15,7 +15,7 @@ import { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 历史数据 第一条数据的 时间撮 因为k线图一次性历史数据只拿一部分,用户吧图往前滑动,就会用这个时间撮去请求更早的 历史数据
|
|
|
// 历史数据 第一条数据的 时间撮 因为k线图一次性历史数据只拿一部分,用户吧图往前滑动,就会用这个时间撮去请求更早的 历史数据
|
|
|
var detafeed_historyTime = 0 |
|
|
var detafeed_historyTime = null |
|
|
// 上一次的 K线周期 切换产品的时候 需要从websock 取消订阅这个
|
|
|
// 上一次的 K线周期 切换产品的时候 需要从websock 取消订阅这个
|
|
|
var detafeed_lastResolution = null |
|
|
var detafeed_lastResolution = null |
|
|
// 上一次的产品 切换产品的时候 需要从websock 取消订阅这个
|
|
|
// 上一次的产品 切换产品的时候 需要从websock 取消订阅这个
|
|
@ -32,17 +32,7 @@ FeedBase.prototype.getSendSymbolName = function(symbolName) { |
|
|
var name = symbolName.split('/') |
|
|
var name = symbolName.split('/') |
|
|
return (name[0] + name[1]).toLocaleLowerCase() |
|
|
return (name[0] + name[1]).toLocaleLowerCase() |
|
|
} |
|
|
} |
|
|
FeedBase.prototype.defaultConfiguration = function defaultConfiguration() { |
|
|
|
|
|
//设置默认配置
|
|
|
|
|
|
return { |
|
|
|
|
|
supports_search: false, |
|
|
|
|
|
supports_group_request: false, |
|
|
|
|
|
supported_resolutions: ['1', '5', '15', '30', '60', '1D', '1W', '1M'], |
|
|
|
|
|
supports_marks: false, |
|
|
|
|
|
supports_timescale_marks: false, |
|
|
|
|
|
supports_time: true |
|
|
|
|
|
}; |
|
|
|
|
|
}; |
|
|
|
|
|
FeedBase.prototype.resolveSymbol = function(symbolName, onResolve, onError) { |
|
|
FeedBase.prototype.resolveSymbol = function(symbolName, onResolve, onError) { |
|
|
onResolve({ |
|
|
onResolve({ |
|
|
"name": symbolName, |
|
|
"name": symbolName, |
|
@ -56,12 +46,17 @@ FeedBase.prototype.resolveSymbol = function(symbolName, onResolve, onError) { |
|
|
"type": "bitcoin", |
|
|
"type": "bitcoin", |
|
|
"volume_precision": 10, |
|
|
"volume_precision": 10, |
|
|
"has_intraday": true, |
|
|
"has_intraday": true, |
|
|
"intraday_multipliers": ['1', '5', '15', '30', '60', '1D', '1W','1M'], // 时间
|
|
|
"seconds_multipliers":['1', '5', '15', '30', '60', '1D', '1W','1M'], |
|
|
|
|
|
"intraday_multipliers": ['1', '5', '15', '30', '60', '1D', '1W','1M'], |
|
|
|
|
|
"supports_search": false, |
|
|
|
|
|
"supports_group_request": false, |
|
|
"supported_resolutions": ['1', '5', '15', '30', '60', '1D', '1W','1M'], // 时间
|
|
|
"supported_resolutions": ['1', '5', '15', '30', '60', '1D', '1W','1M'], // 时间
|
|
|
|
|
|
|
|
|
|
|
|
"has_seconds":false, |
|
|
"supports_marks": true, |
|
|
"supports_marks": true, |
|
|
"supports_timescale_marks": true, |
|
|
"supports_timescale_marks": true, |
|
|
"supported_time": true, |
|
|
"supported_time": true, |
|
|
"has_weekly_and_monthly": true, |
|
|
"has_weekly_and_monthly": false, |
|
|
"has_no_volume": true, |
|
|
"has_no_volume": true, |
|
|
"regular_session": "24x7", |
|
|
"regular_session": "24x7", |
|
|
|
|
|
|
|
@ -114,14 +109,12 @@ const resolutionFormat = (resolution, name, to) => { |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
FeedBase.prototype.getBars = function(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) { |
|
|
FeedBase.prototype.getBars = function(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) { |
|
|
console.log("获取历史数据") |
|
|
console.log("获取历史数据",periodParams) |
|
|
// 切换产品周期 或者 切换产品 会执行这个函数
|
|
|
// 切换产品周期 或者 切换产品 会执行这个函数
|
|
|
let reso = resolutionFormat(resolution, symbolInfo.name, periodParams.to > detafeed_historyTime ? periodParams |
|
|
let reso = resolutionFormat(resolution, symbolInfo.name, periodParams.to) |
|
|
.to : |
|
|
// if (resolution.includes('M') || resolution.includes('W')|| resolution.includes('D')) { // 周线月线控制条数,时间超出火币规定范围, ws报错
|
|
|
detafeed_historyTime) |
|
|
// reso = resolutionFormat(resolution, symbolInfo.name, periodParams.to)
|
|
|
if (resolution.includes('M') || resolution.includes('W')|| resolution.includes('D')) { // 周线月线控制条数,时间超出火币规定范围, ws报错
|
|
|
// }
|
|
|
reso = resolutionFormat(resolution, symbolInfo.name, periodParams.to) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 是历史数据
|
|
|
// 是历史数据
|
|
|
var history = true |
|
|
var history = true |
|
@ -153,9 +146,11 @@ FeedBase.prototype.getBars = function(symbolInfo, resolution, periodParams, onHi |
|
|
toDate:reso.to |
|
|
toDate:reso.to |
|
|
}, reso.req, history) |
|
|
}, reso.req, history) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Event.off('data') |
|
|
Event.off('data') |
|
|
|
|
|
|
|
|
Event.on('data', data => { |
|
|
Event.on('data', data => { |
|
|
|
|
|
|
|
|
if (data && Array.isArray(data)) { |
|
|
if (data && Array.isArray(data)) { |
|
|
// 记录这次请求的时间周期
|
|
|
// 记录这次请求的时间周期
|
|
|
detafeed_lastResolution = resolution |
|
|
detafeed_lastResolution = resolution |
|
@ -171,12 +166,13 @@ FeedBase.prototype.getBars = function(symbolInfo, resolution, periodParams, onHi |
|
|
datas.push(i) |
|
|
datas.push(i) |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
|
|
|
console.log('进来') |
|
|
meta = { |
|
|
meta = { |
|
|
noData: true, |
|
|
noData: 'no_data', |
|
|
nextTime: detafeed_historyTime |
|
|
nextTime: detafeed_historyTime |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
onHistoryCallback(datas, meta) |
|
|
onHistoryCallback(datas, {noData:data.length==0}) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|