Are synchronous IQFEED data queries possible in Datafeed Toolbox 4.5 (R2013a)?
2 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2013-10-18
编辑: MathWorks Support Team
2021-4-19
All IQFEED data query functions, including 'history' and 'timeseries', return data asynchronously. This is in contrast to the implementations of 'history' and 'timeseries' for Bloomberg connections. I would like to know if there is a way to achieve synchronous behavior (i.e. concurrent function return and data variable creation) with an IQFEED connection.
采纳的回答
MathWorks Support Team
2013-10-18
All IQFEED data query functions are implemented as asynchronous in Datafeed Toolbox 4.5 (R2013a) for consistency with the IQFEED API. Asynchronous functions will continue execution without waiting for the data to return.
In order to get "IQFeedLevelOneData" data from the base workspace into a function, you can check the existence of this variable using "evalin". See attachment "workaround1.m" . Another workaround that achieves the behavior of a synchronous function uses a global variable and a custom callback function to modify the global variable when the data has returned. See attachment "workaround2.m"
0 个评论
更多回答(1 个)
Yair Altman
2020-1-12
编辑:MathWorks Support Team
2021-4-19
For anyone interested, the IQML (IQFeed-Matlab) connector enables both synchronous (blocking) and asynchronous (background) queries. A simple usage example:
data = IQML('history', 'symbol','IBM,AAPL,MSFT,GOOG'); % synchronous (blocking)
IQML('history', 'symbol','IBM,AAPL,MSFT,GOOG'); % asynchronous (non-blocking)
This ability is especially important for different queries. For example, we typically want history and market snapshot queries synchronously, but streaming quotes asynchronously. IQML enables full flexibility in this regard, as well as supporting parallelization (using the Parallel Computing Toolbox) for top performance of synchronous queries.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!