Guest User

Untitled

a guest
Oct 18th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.30 KB | None | 0 0
  1. const bittrex = require('nodejs-request-bittrex-rest-api');
  2. const moment = require('moment-timezone');
  3. bittrex.getmarketsummaries().then(markets => {
  4. let startScan = moment().tz('America/New_York').format('YYYY-MM-DD HH:mm:ss');
  5. markets.forEach((market, marketIndex) => {
  6. markets[marketIndex].VolumeAccumulation = 0;
  7. markets[marketIndex].LastAccumulation = 0;
  8. markets[marketIndex].BidAccumulation = 0;
  9. markets[marketIndex].AskAccumulation = 0;
  10. markets[marketIndex].HighAccumulation = 0;
  11. markets[marketIndex].LowAccumulation = 0;
  12. markets[marketIndex].BaseVolumeAccumulation = 0;
  13. markets[marketIndex].OpenBuyOrdersAccumulation = 0;
  14. markets[marketIndex].OpenSellOrdersAccumulation = 0;
  15. markets[marketIndex].PrevDayAccumulation = 0;
  16. });
  17. let previousMarkets = markets;
  18. setInterval(() => {
  19. bittrex.getmarketsummaries().then(newMarkets => {
  20. newMarkets.forEach((newMarket, newMarketIndex) => {
  21. previousMarkets.forEach((previousMarket, previousMarketIndex) => {
  22. if (newMarkets[newMarketIndex].MarketName === previousMarkets[previousMarketIndex].MarketName) {
  23. if (((newMarkets[newMarketIndex].Volume - previousMarkets[previousMarketIndex].Volume) / previousMarkets[previousMarketIndex].Volume) * 100 !== 0) {
  24. previousMarkets[previousMarketIndex].VolumeAccumulation = previousMarkets[previousMarketIndex].VolumeAccumulation + ((newMarkets[newMarketIndex].Volume - previousMarkets[previousMarketIndex].Volume) / previousMarkets[previousMarketIndex].Volume) * 100;
  25. 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')}`);
  26. previousMarkets[previousMarketIndex].Volume = newMarkets[newMarketIndex].Volume;
  27. }
  28. if (((newMarkets[newMarketIndex].Last - previousMarkets[previousMarketIndex].Last) / previousMarkets[previousMarketIndex].Last) * 100 !== 0) {
  29. previousMarkets[previousMarketIndex].LastAccumulation = previousMarkets[previousMarketIndex].LastAccumulation + ((newMarkets[newMarketIndex].Last - previousMarkets[previousMarketIndex].Last) / previousMarkets[previousMarketIndex].Last) * 100;
  30. 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')}`);
  31. previousMarkets[previousMarketIndex].Last = newMarkets[newMarketIndex].Last;
  32. }
  33. if (((newMarkets[newMarketIndex].Bid - previousMarkets[previousMarketIndex].Bid) / previousMarkets[previousMarketIndex].Bid) * 100 !== 0) {
  34. previousMarkets[previousMarketIndex].BidAccumulation = previousMarkets[previousMarketIndex].BidAccumulation + ((newMarkets[newMarketIndex].Bid - previousMarkets[previousMarketIndex].Bid) / previousMarkets[previousMarketIndex].Bid) * 100;
  35. 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')}`);
  36. previousMarkets[previousMarketIndex].Bid = newMarkets[newMarketIndex].Bid;
  37. }
  38. if (((newMarkets[newMarketIndex].Ask - previousMarkets[previousMarketIndex].Ask) / previousMarkets[previousMarketIndex].Ask) * 100 !== 0) {
  39. previousMarkets[previousMarketIndex].AskAccumulation = previousMarkets[previousMarketIndex].AskAccumulation + ((newMarkets[newMarketIndex].Ask - previousMarkets[previousMarketIndex].Ask) / previousMarkets[previousMarketIndex].Ask) * 100;
  40. 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')}`);
  41. previousMarkets[previousMarketIndex].Ask = newMarkets[newMarketIndex].Ask;
  42. }
  43. if (((newMarkets[newMarketIndex].High - previousMarkets[previousMarketIndex].High) / previousMarkets[previousMarketIndex].High) * 100 !== 0) {
  44. previousMarkets[previousMarketIndex].HighAccumulation = previousMarkets[previousMarketIndex].HighAccumulation + ((newMarkets[newMarketIndex].High - previousMarkets[previousMarketIndex].High) / previousMarkets[previousMarketIndex].High) * 100;
  45. 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')}`);
  46. previousMarkets[previousMarketIndex].High = newMarkets[newMarketIndex].High;
  47. }
  48. if (((newMarkets[newMarketIndex].Low - previousMarkets[previousMarketIndex].Low) / previousMarkets[previousMarketIndex].Low) * 100 !== 0) {
  49. previousMarkets[previousMarketIndex].LowAccumulation = previousMarkets[previousMarketIndex].LowAccumulation + ((newMarkets[newMarketIndex].Low - previousMarkets[previousMarketIndex].Low) / previousMarkets[previousMarketIndex].Low) * 100;
  50. 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')}`);
  51. previousMarkets[previousMarketIndex].Low = newMarkets[newMarketIndex].Low;
  52. }
  53. if (((newMarkets[newMarketIndex].BaseVolume - previousMarkets[previousMarketIndex].BaseVolume) / previousMarkets[previousMarketIndex].BaseVolume) * 100 !== 0) {
  54. previousMarkets[previousMarketIndex].BaseVolumeAccumulation = previousMarkets[previousMarketIndex].BaseVolumeAccumulation + ((newMarkets[newMarketIndex].BaseVolume - previousMarkets[previousMarketIndex].BaseVolume) / previousMarkets[previousMarketIndex].BaseVolume) * 100;
  55. 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')}`);
  56. previousMarkets[previousMarketIndex].BaseVolume = newMarkets[newMarketIndex].BaseVolume;
  57. }
  58. if (((newMarkets[newMarketIndex].OpenBuyOrders - previousMarkets[previousMarketIndex].OpenBuyOrders) / previousMarkets[previousMarketIndex].OpenBuyOrders) * 100 !== 0) {
  59. previousMarkets[previousMarketIndex].OpenBuyOrdersAccumulation = previousMarkets[previousMarketIndex].OpenBuyOrdersAccumulation + ((newMarkets[newMarketIndex].OpenBuyOrders - previousMarkets[previousMarketIndex].OpenBuyOrders) / previousMarkets[previousMarketIndex].OpenBuyOrders) * 100;
  60. 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')}`);
  61. previousMarkets[previousMarketIndex].OpenBuyOrders = newMarkets[newMarketIndex].OpenBuyOrders;
  62. }
  63. if (((newMarkets[newMarketIndex].OpenSellOrders - previousMarkets[previousMarketIndex].OpenSellOrders) / previousMarkets[previousMarketIndex].OpenSellOrders) * 100 !== 0) {
  64. previousMarkets[previousMarketIndex].OpenSellOrdersAccumulation = previousMarkets[previousMarketIndex].OpenSellOrdersAccumulation + ((newMarkets[newMarketIndex].OpenSellOrders - previousMarkets[previousMarketIndex].OpenSellOrders) / previousMarkets[previousMarketIndex].OpenSellOrders) * 100;
  65. 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')}`);
  66. previousMarkets[previousMarketIndex].OpenSellOrders = newMarkets[newMarketIndex].OpenSellOrders;
  67. }
  68. if (((newMarkets[newMarketIndex].PrevDay - previousMarkets[previousMarketIndex].PrevDay) / previousMarkets[previousMarketIndex].PrevDay) * 100 !== 0) {
  69. previousMarkets[previousMarketIndex].PrevDayAccumulation = previousMarkets[previousMarketIndex].PrevDayAccumulation + ((newMarkets[newMarketIndex].PrevDay - previousMarkets[previousMarketIndex].PrevDay) / previousMarkets[previousMarketIndex].PrevDay) * 100;
  70. 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')}`);
  71. previousMarkets[previousMarketIndex].PrevDay = newMarkets[newMarketIndex].PrevDay;
  72. }
  73. }
  74. });
  75. });
  76. });
  77. }, 60000);
  78. }).catch(err => {
  79. console.log(err);
  80. });
Add Comment
Please, Sign In to add comment