现在项目中有个需求要从股票开盘开始,实时监控指定股票(例如100只股票)的交易明细数据,这边明显要用到多线程进行处理每条股票的数据,查了下Matlab相关函数,竟然没有多线程的说法,网上说唯一一个多线实现方法就是Timer,好吧,既然只提供这个,那就没什么好说的了,就去研究下这个函数呗,但突然发现Timer只是一个定时处理数据,跟多线程有什么关系呢,后来发现是我误会了,人家Timer不仅提供定时,而且多个Timer是异步执行的(之前一直以为Matlab只存在单线程,所有数据处理都是串行机制),这样就能满足我的需求啦,然后进行实现,结果确实可以达到预期效果。
这边主要介绍下使用Timer实现实时监控股票交易数据的例子,Timer的具体用法度娘中多个是,就不具体分析啦
实时监控股票交易数据这边主要分为俩个部分,一个定时脚本,一个处理单只股票的函数,这边只是各初级例子,后面还有待完善,有相关需求的朋友可以拿来参考。
1、定时脚本
%% Main_GetRealTimeStockDataTest
% 定时获取股票的实时数据
% by qm
% Email:305638715@qq.com
% 2015/09/09
%% A Little Clean Work
tic;
% clear;
% clc;
% close all;
format compact;
%% 定时程序
data = {
'600000';'600005';'600006';'600007';'300200'};
Len = size(data);
for i = 1:Len
StockCode = data{i};
t=timer(...
'Name',['RealTimeStockData_&