应广大海友要求,在此公布此方法,此内容在金钱豹在线说明书中也可以直接查看 http://www.jqbsq.cn/viewthread.php?tid=216&extra=page=1 Matlab和Ib Tws直接通讯 Matlab和Ib Tws软件可以直接进行通讯,不用金钱豹软件和其他任何第三方软件即可实现。 以下代码在金钱豹安装目录有个ibmatlab.rar文件,解压即可查看。 1、连接 connecttws.m global eventdata orderid data dates; orderid = 1; eventdata = {}; data = []; dates = []; f = figure; set(f,'Visible','off'); tws = actxcontrol('TWS.TwsCtrl.1',[0 0 0 0],f,'twsevent'); tws.connect('', 7496, 1510); 2、创建契约 IaudContract.m audContract = tws.createContract(); audContract.symbol = 'EUR'; audContract.exchange = 'IDEALPRO'; audContract.secType = 'CASH'; audContract.currency = 'USD'; 3、请求历史数据 grabhistorical.m %% Request the data tws.reqHistoricalDataEx(20, audContract, '20090615 10:50:00 EST', '1000 S', '5 secs', 'midpoint' , 0 , 2) 4、下单 placeOrder.m iOrder= tws.createOrder (); iOrder.action ='buy'; iOrder.totalQuantity =10; iOrder.orderType ='LMT'; iOrder.lmtPrice =2; tws.placeOrderEx (orderid,audContract ,iOrder ) 看到了吧,就是这么简单,Matlab就是这么强大!