搜索
您的当前位置:首页正文

Tws2mt4使用说明

来源:小奈知识网
Tws2mt4使用说明

本软件将IB盈透交易平台,连接到metatrader 4上进行交易,可以实现在mt4上实现自动化交易(EA)。此外,也可以手动开仓、平仓、挂单,可拖拽挂单实现生成止损、止盈单,拖拽修改挂单。

一、安装与设置

1. 设置TWS的API可用:Global ConfigurationàAPIàSetting里面,Enable ActiveX

and Socket Clients前面的框框打勾。此外,在Trusted IP Address,加入127.0.0.1,可以避免每次连接都要确认。其它可默认。

2. 安装tws2mt4安装:把各个文件复制到mt4各自目录中。

二、使用步聚,以XAUUSD为例说明。

1.打开离线图表。在MT4的File菜单里,点击Open Offline打开“Open Offline Chart”的小窗口,选择交易品种(如:XAUUSD,H1,也可以随便选择一个,只要保证该品种小数点与TWS中XAUUSD一样,不会影响使用),然后右边点击Open。由于mt4的局限性,若要将TWS的历史数据导入mt4图表,打开离线图表是必须的,只有通过离线图表才可以正常更新历史数据。

2.把名为“Account”的指标加入刚刚打开的离线图表中,会形成一个独立的小窗口,用以显示帐户、头寸、挂单等信息。

3.把tws2mt4_ea的ea加入离线图表,参数说明如下: IB_Symbol

Tws中对应的目标品种代码,目前支持外汇、期货、现货,暂不支持期权。一般格式为: LocalSymbol-Exchange-Type-Ccy,如:

i)伦敦金现货:XAUUSD-SMART-CMDTY-USD

ii)新华富A50指数1509合约:CNU15-SGX-FUT-USD。 如果是外汇,可简写为两个货币对中间加一个点,如EUR.USD

Host Port SymbolDigit HistDataMode

TWS API的服务器是地址,默认为127.0.0.1 TWS API的服务器是端口,默认为7496

指定从TWS获取数据的小数点位数,-1表示采用mt4离线图表的小数点位数,即以Digit()获得。 有三种选择:

Enum_NewGeneate:表示从TWS中获取历史数据,覆盖当前离线图表中的所有历史数据。

三、操作控件功能说明 1. 操作控件,如下图:

控件说明:

: : :

点击移动可以使价格动态显示在price控件中 点击可移动控件菜单 点击隐藏控件菜单 表示价格,交易数量。 按填写的价格、数量买、卖 按填写的数量,以市价买、卖 把当前的仓位全部平仓。

可用Buy、若需要部分平仓,Sell反向买卖所需要的交易量。

Price、Lots: Buy、Sell: BuyMkt、SellMkt: CloseAll:

取消特定ID的挂单。

此功能只能取消以本客户端生成的挂单,TWS API不支持以特定ID取消其它客户端生成的,或者TWS界面手动生成的挂单。

取消所有挂单,包括本客户端、其它客户端、TWS界面手动生成的所有品种的挂单。

2. 拖拽修改挂单 对需要修改挂单,点击拖拽挂单线即可。此功能与mt4内置功能类似。

3.拖拽仓位线生成止损、止盈单

当前品种有仓位时,点击拖拽仓位线可生成止损、止盈挂单。此功能与mt4内置功能类似。

三、EA自动交易功能 1. 固定结构体

struct TwsPosition:保存tws的头寸数据 struct TwsOrders: 保存tws的挂单数据 2. 交易函数 void &tick) :

bool GetTwsPosition(string ibSym_sh, 获取品种的头寸数据,保存在TwsPositionTwsPosition &position)

的结构中。ibSym_sh为LocalSymbol。

bool GetTwsPendOrder (int inex, 获取挂单的数据,保存在TwsOrders结构TwsOrders &order) int TwsPositionsByTotal() int TwsOrdersByTotal() void

体中。

获取所有头寸数量总和。 获取挂单数量总和。

TWS

GetMarketPrice(MqlTick 获取bid、ask等实时市场数据。

TwsOpenPosition(string 开仓函数。

Volume为开仓数量。

Price:如果为0,则表示按市价买卖。

direction, int volume, double price=0) Direction只可以为”BUY”,”SELL”两个方向。

void TwsClosePosition(int volume=0)

参考EA例子: tws2mt4_ea_sample.mq4

交流QQ群:279829057

Volume:如果为0,则表示平掉所有当前品种头寸。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top