Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const bittrex = require('nodejs-request-bittrex-rest-api');
- const moment = require('moment-timezone');
- bittrex.getmarketsummaries().then(markets => {
- let startScan = moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss');
- markets.forEach((market, marketIndex) => {
- markets[marketIndex].VolumeAccumulation = 0;
- markets[marketIndex].LastAccumulation = 0;
- markets[marketIndex].BidAccumulation = 0;
- markets[marketIndex].AskAccumulation = 0;
- markets[marketIndex].HighAccumulation = 0;
- markets[marketIndex].LowAccumulation = 0;
- markets[marketIndex].BaseVolumeAccumulation = 0;
- markets[marketIndex].OpenBuyOrdersAccumulation = 0;
- markets[marketIndex].OpenSellOrdersAccumulation = 0;
- markets[marketIndex].PrevDayAccumulation = 0;
- });
- let previousMarkets = markets;
- setInterval(() => {
- bittrex.getmarketsummaries().then(newMarkets => {
- newMarkets.forEach((newMarket, newMarketIndex) => {
- previousMarkets.forEach((previousMarket, previousMarketIndex) => {
- if (newMarkets[newMarketIndex].MarketName === previousMarkets[previousMarketIndex].MarketName) {
- if (((newMarkets[newMarketIndex].Volume - previousMarkets[previousMarketIndex].Volume) / previousMarkets[previousMarketIndex].Volume) * 100 !== 0) {
- previousMarkets[previousMarketIndex].VolumeAccumulation = previousMarkets[previousMarketIndex].VolumeAccumulation + ((newMarkets[newMarketIndex].Volume - previousMarkets[previousMarketIndex].Volume) / previousMarkets[previousMarketIndex].Volume) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => Volume => ${(((newMarkets[newMarketIndex].Volume - previousMarkets[previousMarketIndex].Volume) / previousMarkets[previousMarketIndex].Volume) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].VolumeAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].Volume = newMarkets[newMarketIndex].Volume;
- }
- if (((newMarkets[newMarketIndex].Last - previousMarkets[previousMarketIndex].Last) / previousMarkets[previousMarketIndex].Last) * 100 !== 0) {
- previousMarkets[previousMarketIndex].LastAccumulation = previousMarkets[previousMarketIndex].LastAccumulation + ((newMarkets[newMarketIndex].Last - previousMarkets[previousMarketIndex].Last) / previousMarkets[previousMarketIndex].Last) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => Last => ${(((newMarkets[newMarketIndex].Last - previousMarkets[previousMarketIndex].Last) / previousMarkets[previousMarketIndex].Last) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].LastAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].Last = newMarkets[newMarketIndex].Last;
- }
- if (((newMarkets[newMarketIndex].Bid - previousMarkets[previousMarketIndex].Bid) / previousMarkets[previousMarketIndex].Bid) * 100 !== 0) {
- previousMarkets[previousMarketIndex].BidAccumulation = previousMarkets[previousMarketIndex].BidAccumulation + ((newMarkets[newMarketIndex].Bid - previousMarkets[previousMarketIndex].Bid) / previousMarkets[previousMarketIndex].Bid) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => Bid => ${(((newMarkets[newMarketIndex].Bid - previousMarkets[previousMarketIndex].Bid) / previousMarkets[previousMarketIndex].Bid) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].BidAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].Bid = newMarkets[newMarketIndex].Bid;
- }
- if (((newMarkets[newMarketIndex].Ask - previousMarkets[previousMarketIndex].Ask) / previousMarkets[previousMarketIndex].Ask) * 100 !== 0) {
- previousMarkets[previousMarketIndex].AskAccumulation = previousMarkets[previousMarketIndex].AskAccumulation + ((newMarkets[newMarketIndex].Ask - previousMarkets[previousMarketIndex].Ask) / previousMarkets[previousMarketIndex].Ask) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => Ask => ${(((newMarkets[newMarketIndex].Ask - previousMarkets[previousMarketIndex].Ask) / previousMarkets[previousMarketIndex].Ask) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].AskAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].Ask = newMarkets[newMarketIndex].Ask;
- }
- if (((newMarkets[newMarketIndex].High - previousMarkets[previousMarketIndex].High) / previousMarkets[previousMarketIndex].High) * 100 !== 0) {
- previousMarkets[previousMarketIndex].HighAccumulation = previousMarkets[previousMarketIndex].HighAccumulation + ((newMarkets[newMarketIndex].High - previousMarkets[previousMarketIndex].High) / previousMarkets[previousMarketIndex].High) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => High => ${(((newMarkets[newMarketIndex].High - previousMarkets[previousMarketIndex].High) / previousMarkets[previousMarketIndex].High) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].HighAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].High = newMarkets[newMarketIndex].High;
- }
- if (((newMarkets[newMarketIndex].Low - previousMarkets[previousMarketIndex].Low) / previousMarkets[previousMarketIndex].Low) * 100 !== 0) {
- previousMarkets[previousMarketIndex].LowAccumulation = previousMarkets[previousMarketIndex].LowAccumulation + ((newMarkets[newMarketIndex].Low - previousMarkets[previousMarketIndex].Low) / previousMarkets[previousMarketIndex].Low) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => Low => ${(((newMarkets[newMarketIndex].Low - previousMarkets[previousMarketIndex].Low) / previousMarkets[previousMarketIndex].Low) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].LowAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].Low = newMarkets[newMarketIndex].Low;
- }
- if (((newMarkets[newMarketIndex].BaseVolume - previousMarkets[previousMarketIndex].BaseVolume) / previousMarkets[previousMarketIndex].BaseVolume) * 100 !== 0) {
- previousMarkets[previousMarketIndex].BaseVolumeAccumulation = previousMarkets[previousMarketIndex].BaseVolumeAccumulation + ((newMarkets[newMarketIndex].BaseVolume - previousMarkets[previousMarketIndex].BaseVolume) / previousMarkets[previousMarketIndex].BaseVolume) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => BaseVolume => ${(((newMarkets[newMarketIndex].BaseVolume - previousMarkets[previousMarketIndex].BaseVolume) / previousMarkets[previousMarketIndex].BaseVolume) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].BaseVolumeAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].BaseVolume = newMarkets[newMarketIndex].BaseVolume;
- }
- if (((newMarkets[newMarketIndex].OpenBuyOrders - previousMarkets[previousMarketIndex].OpenBuyOrders) / previousMarkets[previousMarketIndex].OpenBuyOrders) * 100 !== 0) {
- previousMarkets[previousMarketIndex].OpenBuyOrdersAccumulation = previousMarkets[previousMarketIndex].OpenBuyOrdersAccumulation + ((newMarkets[newMarketIndex].OpenBuyOrders - previousMarkets[previousMarketIndex].OpenBuyOrders) / previousMarkets[previousMarketIndex].OpenBuyOrders) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => OpenBuyOrders => ${(((newMarkets[newMarketIndex].OpenBuyOrders - previousMarkets[previousMarketIndex].OpenBuyOrders) / previousMarkets[previousMarketIndex].OpenBuyOrders) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].OpenBuyOrdersAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].OpenBuyOrders = newMarkets[newMarketIndex].OpenBuyOrders;
- }
- if (((newMarkets[newMarketIndex].OpenSellOrders - previousMarkets[previousMarketIndex].OpenSellOrders) / previousMarkets[previousMarketIndex].OpenSellOrders) * 100 !== 0) {
- previousMarkets[previousMarketIndex].OpenSellOrdersAccumulation = previousMarkets[previousMarketIndex].OpenSellOrdersAccumulation + ((newMarkets[newMarketIndex].OpenSellOrders - previousMarkets[previousMarketIndex].OpenSellOrders) / previousMarkets[previousMarketIndex].OpenSellOrders) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => OpenSellOrders => ${(((newMarkets[newMarketIndex].OpenSellOrders - previousMarkets[previousMarketIndex].OpenSellOrders) / previousMarkets[previousMarketIndex].OpenSellOrders) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].OpenSellOrdersAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].OpenSellOrders = newMarkets[newMarketIndex].OpenSellOrders;
- }
- if (((newMarkets[newMarketIndex].PrevDay - previousMarkets[previousMarketIndex].PrevDay) / previousMarkets[previousMarketIndex].PrevDay) * 100 !== 0) {
- previousMarkets[previousMarketIndex].PrevDayAccumulation = previousMarkets[previousMarketIndex].PrevDayAccumulation + ((newMarkets[newMarketIndex].PrevDay - previousMarkets[previousMarketIndex].PrevDay) / previousMarkets[previousMarketIndex].PrevDay) * 100;
- console.log(`${newMarkets[newMarketIndex].MarketName} => PrevDay => ${(((newMarkets[newMarketIndex].PrevDay - previousMarkets[previousMarketIndex].PrevDay) / previousMarkets[previousMarketIndex].PrevDay) * 100).toFixed(2)}% => ${previousMarkets[previousMarketIndex].PrevDayAccumulation.toFixed(2)}% Accumulation since ${startScan} @ ${moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss')}`);
- previousMarkets[previousMarketIndex].PrevDay = newMarkets[newMarketIndex].PrevDay;
- }
- }
- });
- });
- });
- }, 60000);
- }).catch(err => {
- console.log(err);
- });
Add Comment
Please, Sign In to add comment