Commit 7022c15a by ken

depth

parent efe5e04b
...@@ -14,6 +14,7 @@ const accountInfoChannel = "getaccountinfo"; ...@@ -14,6 +14,7 @@ const accountInfoChannel = "getaccountinfo";
const APIKEY = "6b07db0c-dc4f-4a90-9955-665041bdbdbf"; const APIKEY = "6b07db0c-dc4f-4a90-9955-665041bdbdbf";
const APISECRET = "7ac9bcc3-5f0c-4eaf-99c9-80cb6a45165a"; const APISECRET = "7ac9bcc3-5f0c-4eaf-99c9-80cb6a45165a";
const lastEventTimeMap = {}; const lastEventTimeMap = {};
const lastLastEventTimeMap = {};
const lastDataMap = {}; const lastDataMap = {};
const lastLastDataMap = {}; const lastLastDataMap = {};
let balanceByRestOk = true; let balanceByRestOk = true;
...@@ -161,10 +162,12 @@ function _handleDepthData(symbol, data, source) { ...@@ -161,10 +162,12 @@ function _handleDepthData(symbol, data, source) {
const key = symbol.replace('_', '').toUpperCase() + 'DEPTH@zb'; const key = symbol.replace('_', '').toUpperCase() + 'DEPTH@zb';
symbol = symbol.toUpperCase(); symbol = symbol.toUpperCase();
const lastEventTime = lastEventTimeMap[symbol] || 0; const lastEventTime = lastEventTimeMap[symbol] || 0;
const lastLastEventTime = lastLastEventTimeMap[symbol] || 0;
const asks = data.asks.reverse().slice(0, 5); const asks = data.asks.reverse().slice(0, 5);
const bids = data.bids.slice(0, 5); const bids = data.bids.slice(0, 5);
const currentJsonData = JSON.stringify({asks, bids}); const currentJsonData = JSON.stringify({asks, bids});
if (data.timestamp > lastEventTime || (data.timestamp === lastEventTime && currentJsonData !== lastDataMap[symbol])) { if (data.timestamp > lastEventTime
|| (data.timestamp === lastEventTime && currentJsonData !== lastDataMap[symbol] && (currentJsonData !== lastLastDataMap[symbol] || lastLastEventTime != data.timestamp))) {
if (symbol === "BTCUSDT") { if (symbol === "BTCUSDT") {
let consoleMethod = console.log; let consoleMethod = console.log;
if (data.timestamp === lastEventTime) { if (data.timestamp === lastEventTime) {
...@@ -173,8 +176,9 @@ function _handleDepthData(symbol, data, source) { ...@@ -173,8 +176,9 @@ function _handleDepthData(symbol, data, source) {
consoleMethod(symbol + '@' + data.timestamp * 1000 + ' from ' + source); consoleMethod(symbol + '@' + data.timestamp * 1000 + ' from ' + source);
consoleMethod(currentJsonData); consoleMethod(currentJsonData);
} }
lastLastEventTimeMap[symbol] = lastEventTimeMap[symbol];
lastEventTimeMap[symbol] = data.timestamp; lastEventTimeMap[symbol] = data.timestamp;
// lastLastDataMap[symbol] = lastDataMap[symbol]; lastLastDataMap[symbol] = lastDataMap[symbol];
lastDataMap[symbol] = currentJsonData; lastDataMap[symbol] = currentJsonData;
const publishContent = JSON.stringify({symbol, time: data.timestamp * 1000}); const publishContent = JSON.stringify({symbol, time: data.timestamp * 1000});
...@@ -244,7 +248,7 @@ function getBalanceByRest() { ...@@ -244,7 +248,7 @@ function getBalanceByRest() {
function run() { function run() {
subscribe(); subscribe();
const depthInterval = Math.max(60 * 1000 / (900 * ips.length / observerSymbol.length), 80); const depthInterval = Math.max(60 * 1000 / (900 * ips.length / observerSymbol.length), 55);
console.log(depthInterval); console.log(depthInterval);
setInterval(() => { setInterval(() => {
for (const symbol of observerSymbol) { for (const symbol of observerSymbol) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment