SHOW:
|
|
- or go back to the newest paste.
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:BCL - 19.41670234815228 |
9 | + | BTS:target - 19.41670234815228 |
10 | - | USD:BCL - 3.8857746945679392 |
10 | + | USD:target - 3.8857746945679392 |
11 | - | CNY:BCL - 24.907664788399362 |
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(['USD','BTS','BCL']), result => { |
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 bcl = {id: '1.3.2705'} |
26 | + | let target = {id: '1.3.120'} // bitEUR |
27 | - | let bts_bcl = {latest: undefined} |
27 | + | let bts_target = {latest: undefined} |
28 | let usd_bts = {latest: undefined} | |
29 | let cny_bts = {latest: undefined} | |
30 | - | // Get ticker for bts:bcl |
30 | + | // Get ticker for bts:target |
31 | - | api.database_api.get_ticker(bts.id, bcl.id, result => { |
31 | + | api.database_api.get_ticker(bts.id, target.id, result => { |
32 | // Calculate an average from latest and bids/asks | |
33 | - | bts_bcl.latest = sum(result) |
33 | + | bts_target.latest = sum(result) |
34 | - | bts_bcl.average_latest = bts_bcl.latest / 3 |
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:BCL - " + bts_bcl.average_latest) |
47 | + | log.error("BTS:target - " + bts_target.average_latest) |
48 | - | log.error("USD:BCL - " + usd_bts.average_latest * bts_bcl.average_latest) |
48 | + | log.error("USD:target - " + usd_bts.average_latest * bts_target.average_latest) |
49 | - | log.error("CNY:BCL - " + cny_bts.average_latest * bts_bcl.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 | } |