mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 08:18:07 +00:00
45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
- [Fetch Ohlcv Many Exchanges Continuosly](./examples/js/)
|
|
|
|
|
|
```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();
|
|
|
|
``` |