您需要 登录 才可以下载或查看,没有帐号?注册
个人并不是使用 InteractiveBrokers (IB) 这家交易经纪商来交易美国期货的, 不过 IB 毕竟是现在美国最大的零售交易商之一, 客户众多, 又在香港有分公司, 认识几个年轻朋友也是他们的客户, 总会听到这些朋友不断提及 IB 的交易平台如 TWS, 或是 IB Gateway 等等话, 听久了也熟悉了这家公司的交易环境.
1. IB 有提供 API 让会编程的客户写自己的策略交易程序, 基本上许多中大型的国外期货商也都有其 API, API 的功能都是大同小异, 会包含下单和接收价格的 API, 让使用者可以调用来写交易策略.
IB API 提供 C++/VB/Java/C# 等等语言选项, 如果自己的策略是很简单的逻辑, 用 DDE for Excel 写写即可, 写完后可以利用他们的 paper trader 或 TWS Demo 功能作模拟测试, 如果不想用 paper trader 或 TWS Demo 来测试, 也可以把下单的部分先改为通知信息和窗口弹出显示, 以验证程序的正确性.
https://www.interactivebrokers.com/en/index.php?f=5041
IB 也有很完整的 API 说明文档资料.
https://www.interactivebrokers.com/en/software/api/api.htm
https://www.interactivebrokers.c ... Fs/APIprintable.pdf
2. 如果编程能力较差, 最快的方法就是购买付费的策略软件平台来接 IB TWS, 如 Amibroker, Ninjitrader, Multicharts, 再学学他们的简单策略语言, 反正都是类似 TradeStation 的 EasyLanguage, 学个几天应该能写出简单的策略, 不然再到网上也能找到一些现成的策略.
既然是付费策略平台的, 优点一定是比自己写 API 程序来的多, 不然就浪费钱了, 具有策略回测 backtest 和参数优化功能就是最大的优点, 也能产生许多类型的图表, 价格越贵的平台, 功能越强大. 其实自己写 API 程序也可以再多写 backtest 功能, 就是要多花时间罢了.
3. 如果觉得自己的编程能力很强, 不想花钱订报价源, 想利用 MT4 这些交易商模拟帐号的免费报价源, 可以使用 MT4 DDE 的方法把报价输出至自己在 IB API 上写的程序来使用. 每种主要语言应该可以找到免费 DDE library 来调用, 之前写的 C#: MT4 的 DDE 调用 是在 C# 作的 API 调用 MT4 上的即时商品价格.
一般 MT4 上面交易商提供的价格大部分是 CFD 价格, 只要简单的换算或微调应该就能变成当种期货商品的近月价格.
如果也同时需要历史价格数据, 需要在 MT4 把这个商品和周期打开图表 (因为需要打开图表来让 .hst 能即时更新), 再读取 history 文件夹内这个商品和周期对应的 .hst 档.
4. 如果是想把 IB 的价格源输出到 MT4 上图表显示, 这就跟第三点相反方向了, 难度就有点高了, 虽然没有直接写过, 但是思路应该是:
- 在 IB API 上写一个程序, 把 IB 的历史价格和最新价格输出, 在 MT4 history 文件夹产生一个 .hst 档, .hst 档的格式 MT4 并没有揭露, 但是从下面的 MQL4 官方 script 指标 - PeriodConverter.mq4 里, 可以看出 .hst 的格式, 也就是一个 header, 然后不断添加 MT4 定义的 rates 数据结构, 档名就是商品名再加分钟, 如果是 EURUSD 两分钟图, 就是 EURUSD2
http://articles.mql4.com/1140
- 这个 .hst 档必需是可以同时读写的方式来开启, 因为另外还需要在 MT4 端模仿上面这个 PeriodConverter.mq4 在读取现有 .hst 档并利用 user32.dll 的方式来强制刷新这个新的 offline 图表.
外汇交易有很大的风险性,本站所有资源均来自网络,请选择使用,如若出现亏损,本站不承担任何责任!