- [Fetch Ohlcv Many Exchanges Continuosly](./examples/php/) ```php fetch_ohlcv($symbol)); $ohlcv_length = count($ohlcv); var_dump('Fetched ', $exchange->id, ' - ', $symbol, ' candles. last candle: ', $ohlcv[$ohlcv_length - 1]); } catch(Exception $e) { var_dump($e); break; } } }) (); } // start exchanges and fetch OHLCV loop function start_exchange($exchange_name, $symbols) { return Async\async(function () use ($exchange_name, $symbols) { $exchange_class = '\ccxt\async\\'.$exchange_name; $ex = new $exchange_class(array()); $promises = []; for ($i = 0; $i < count($symbols); $i++) { $symbol = $symbols[$i]; $promises[] = fetch_ohlcv_continuously($ex, $symbol); } Async\await(Promise\all($promises)); Async\await($ex->close()); }) (); } // main function function example() { return Async\async(function () { $exchanges = ['binance', 'okx', 'kraken']; $symbols = ['BTC/USDT', 'ETH/USDT']; $promises = []; for ($i = 0; $i < count($exchanges); $i++) { $exchange_name = $exchanges[$i]; $promises[] = start_exchange($exchange_name, $symbols); } Async\await(Promise\all($promises)); }) (); } Async\await(example()); ```