Consider using my IQML (IQFeed-Matlab) connector for this. IQML enables both synchronous (blocking) and asynchronous (background) queries for multiple symbols, that are fetched either serially or in parallel (using the Matlab Parallel Computing Toolbox). A simple usage example:
>> data = IQML('history', 'symbol','AAPL', 'dataType','ticks')
100×1 struct array with fields:
Timestamp: '2019-10-04 09:45:03.862626'
BasisDescription: 'Last qualified trade'
TradeMarketName: 'Nasdaq Trade Reporting Facility (NTRF)'
TradeDescription: 'Normal Trade'
IQML was developed with top performance, reliability and usability in mind. IQML supports 100% (repeat: 100%) of IQFeed's API functionality. It is fully documented, continuously maintained/improved, and I am happy to provide support.
Note: I am an independent software developer and not a MathWorks employee. Don't get angry at me for bringing an independent alternative to the table...