金钱豹公布Ib 和Matlab无需第三方软件直接连接交易方法

Discussion in 'Interactive Brokers(盈透)' started by laserhz, Nov 13, 2009.

  1. 应广大海友要求,在此公布此方法,此内容在金钱豹在线说明书中也可以直接查看
    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就是这么强大!
     
  2. 对MATLAB版本有何要求?6.5行吗?
     
  3. 哦!老大,6.5我没试过啊,这个不清楚tws是否支持。您可以尝试下,建议还是安装2009最新版本
    2008是可以的
     
  4. 非常感谢楼主的分享。