mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 16:28:06 +00:00
50 lines
1.3 KiB
Markdown
50 lines
1.3 KiB
Markdown
- [Fetch Ohlcv Many Exchanges Continuosly](./examples/ts/)
|
|
|
|
|
|
```javascript
|
|
import ccxt from '../../js/ccxt.js';
|
|
|
|
// AUTO-TRANSPILE //
|
|
|
|
// fetch and handle constinuosly
|
|
async function fetchOHLCVContinuously (exchange, symbol) {
|
|
while (true) {
|
|
try {
|
|
const ohlcv = await exchange.fetchOHLCV (symbol);
|
|
const ohlcvLength = ohlcv.length;
|
|
console.log ('Fetched ', exchange.id, ' - ', symbol, ' candles. last candle: ', ohlcv[ohlcvLength - 1]);
|
|
} catch (e) {
|
|
console.log (e);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
// start exchanges and fetch OHLCV loop
|
|
async function startExchange (exchangeName, symbols) {
|
|
const ex = new ccxt[exchangeName] ({});
|
|
const promises = [];
|
|
for (let i = 0; i < symbols.length; i++) {
|
|
const symbol = symbols[i];
|
|
promises.push (fetchOHLCVContinuously (ex, symbol));
|
|
}
|
|
await Promise.all (promises);
|
|
await ex.close ();
|
|
}
|
|
|
|
// main function
|
|
async function example () {
|
|
const exchanges = [ 'binance', 'okx', 'kraken' ];
|
|
const symbols = [ 'BTC/USDT', 'ETH/USDT' ];
|
|
const promises = [];
|
|
for (let i = 0; i < exchanges.length; i++) {
|
|
const exchangeName = exchanges[i];
|
|
promises.push (startExchange (exchangeName, symbols));
|
|
}
|
|
await Promise.all (promises);
|
|
}
|
|
|
|
|
|
await example ();
|
|
|
|
``` |