Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // You need node: https://nodejs.org/en/
  2. // Download: https://github.com/nocaremc/nodex-ws
  3. // Replace app.js contents with this paste
  4. // In the same directory as app.js: npm install
  5. // to run: npm start
  6. /* Example output:
  7.  USD:BTS - 0.20012536757755442
  8.  CNY:BTS - 1.282795829167645
  9.  BTS:target - 19.41670234815228
  10.  USD:target - 3.8857746945679392
  11.  CNY:target - 24.907664788399362
  12. */
  13. const log = require('./src/Log.js')
  14. const API = require('./src/API.js')
  15.  
  16. let api = new API('wss://la.dexnode.net/ws', {perMessageDeflate: false})
  17.  
  18. api.on("open", () => {
  19.     api.database(database => {
  20.         // api.database_api.lookup_asset_symbols(JSON.stringify(['EUR']), result => {
  21.         //     log.warn(result)
  22.         // })
  23.         let usd = {id: '1.3.121'}
  24.         let cny = {id: '1.3.113'}
  25.         let bts = {id: '1.3.0'}
  26.         let target = {id: '1.3.120'} // bitEUR
  27.         let bts_target = {latest: undefined}
  28.         let usd_bts = {latest: undefined}
  29.         let cny_bts = {latest: undefined}
  30.         // Get ticker for bts:target
  31.         api.database_api.get_ticker(bts.id, target.id, result => {
  32.             // Calculate an average from latest and bids/asks
  33.             bts_target.latest = sum(result)
  34.             bts_target.average_latest = bts_target.latest / 3
  35.            
  36.             api.database_api.get_ticker(usd.id, bts.id, result => {
  37.                 // Calculate an average from latest and bids/asks
  38.                 usd_bts.latest = sum(result)
  39.                 usd_bts.average_latest = usd_bts.latest / 3
  40.            
  41.                 api.database_api.get_ticker(cny.id, bts.id, result => {
  42.                    
  43.                     cny_bts.latest = sum(result)
  44.                     cny_bts.average_latest = cny_bts.latest / 3
  45.                     log.error("USD:BTS - " + usd_bts.average_latest)
  46.                     log.error("CNY:BTS - " + cny_bts.average_latest)
  47.                     log.error("BTS:target - " + bts_target.average_latest)
  48.                     log.error("USD:target - " + usd_bts.average_latest * bts_target.average_latest)
  49.                     log.error("CNY:target - " + cny_bts.average_latest * bts_target.average_latest)
  50.                     //api.close()
  51.                 })
  52.             })
  53.         })
  54.     })
  55. })
  56.  
  57. function sum(result) {
  58.     return [
  59.         result.latest, result.lowest_ask, result.highest_bid
  60.     ].reduce((price, last) => {
  61.         return parseFloat(last) + parseFloat(price)
  62.     })
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement