Advertisement
leathan

Jquery query poloniex order book

Jun 27th, 2017
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function get(ticker, amount, ticker2, depth){
  2.     var amountInBtc; var returnText; if (amount || !depth) depth = 999999;
  3.     $.get( "https://poloniex.com/public?command=returnOrderBook&currencyPair=BTC_"+ticker+"&depth="+depth, function(orderBook) {
  4.         price = parseFloat((+orderBook.asks[0][0] + +orderBook.bids[0][0]) / 2).toFixed(8);
  5.         Object.keys(orderBook).forEach(function(key,index) {
  6.             if (key == 'seq' || key == 'isFrozen') return; amountInBtc = 0; totalBtc = 0; totalTicker = 0;
  7.             Array.from(orderBook[key]).forEach(function (c) {
  8.                 if (+totalTicker > +amount && amount != 0) return;
  9.                 totalTicker = parseFloat(+totalTicker + c[1]).toFixed(8); totalBtc = parseFloat(+totalBtc + c[0]*c[1]).toFixed(8);
  10.                 if (+totalTicker >= +amount) {
  11.                     amountInBtc = parseFloat(totalBtc - (totalTicker - amount) * c[0]).toFixed(8);
  12.                     if (ticker2 && key == 'bids') {
  13.                         $.get( "https://poloniex.com/public?command=returnOrderBook&currencyPair=BTC_"+ticker2+"&depth="+depth, function(orderBook) {
  14.                             totalBtc = 0; totalTicker2 = 0; amountTicker2 = 0;
  15.                             orderBook.asks.forEach(function(c) {
  16.                                 if (+totalBtc > +amountInBtc) { return; }          
  17.                                 totalTicker2 = parseFloat(+totalTicker2 + c[1]).toFixed(8); totalBtc = parseFloat(+totalBtc + c[0]*c[1]).toFixed(8);
  18.                                 if (+totalBtc >= +amountInBtc) amountTicker2 = parseFloat(totalTicker2 - ((totalBtc - amountInBtc) * c[0])).toFixed(8);
  19.                             });
  20.                             console.log(amount + ' ' + ticker + ' gives you ' + amountTicker2 + ' ' + ticker2 + '.');
  21.                         })
  22.                     }
  23.                 }
  24.             });
  25.             if (amount && !ticker2) {
  26.                 console.log((key == 'asks' ? 'Buying ' : 'Selling ') + amount + ' ' + ticker + ' at current books ' + (key == 'asks' ? 'costs ' : 'gives ') + amountInBtc + ' BTC.\n');
  27.             } else if (!ticker2) {
  28.                 if (depth === 999999) {
  29.                     if (key == 'asks') { returnText = ticker + ' price is ' + price +'.\n'; console.log(returnText) }
  30.                     console.log('People are ' + (key == 'asks' ? 'selling ' : 'buying ') + totalTicker + ' ' + ticker + '.  (worth ' + totalBtc + ' BTC)\n');
  31.                 } else { console.log('Total ' + (key == 'asks' ? 'on sale ' : 'being bought ') + 'at depth ' + depth + ' is ' + totalTicker + '. (worth ' + totalBtc + ' BTC)\n') }
  32.             }
  33.         });
  34.     });
  35.     return 'Loading...';
  36. }; ''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement