从Interactive Brokers Java API读取minTick的问题

时间:2015-05-21 13:35:52

标签: java api interactive-brokers

我在使用Interactive Brokers API时遇到一些问题:当我使用

请求合同详细信息时
m_controller.reqContractDetails(contract, t);

我收到了数据;其中包含字段minTick,似乎始终显示1.0E-4

当我使用PlaceOrder方法传输订单时,在将价格设置为0.0001的倍数时遇到以下错误消息:

 110 The price does not conform to the minimum price variation for this contract.

我不确定导致此问题的原因是我是否错误地使用了此值。

任何帮助都将不胜感激。

谢谢。

3 个答案:

答案 0 :(得分:5)

我与IB的技术支持取得联系,这是他们对合同的minTick财产所说的话:

  

用户:您好,我试图获得给定股票的最低价格,但我遇到了一些问题:当我从reqContractDetails获取数据时,我始终获得1.0E-4的minTick,但是当我下了一个增量为0.0001的订单,我收到错误:价格不符合该合约的最低价格变化。

     

用户:我已经用VLTC和PBMD

等股票验证了这一点      

用户:它只允许我下一个价格增量为0.01的订单,这与minTick不一致

     

IB代理:contractDetails()的最低价格不是完整的信息。

     IB代理:不幸的是,它不能提供更多信息

     

IB代理:您需要检查

     

IB代理:http://www1.interactivebrokers.ch/contract_info/index2.php

     

用户:因此没有以编程方式获得给定股票的最低价格

     

IB代理:在使用我们的API时,没有

     IB代理:这是美国股票吗?

     

用户:是

     

IB代理:通常它高于1美元,然后价格增量为.01

换句话说,IB API的minTick不是了解给定股票的最小刻度大小的可靠方法,必须考虑其他一些方法来执行此任务。

答案 1 :(得分:0)

国际文凭代理是对的。一般来说,美国(股票)将为0.01。

如果您使用外汇将是0.0001。

如果您在欧洲进行交易可能会有一些差异,请查看此示例(法国):

http://www.boursorama.com/cours.phtml?symbole=3kMAOMF

如果你想确定最低价格差异,我可能会得到价格并计算小数或者去雅虎财经这样做......

答案 2 :(得分:0)

从TWS API的v973.03开始,提供了一个新功能reqMarketRule,该功能在每个价格水平上提供最小的增量。这对于最小增量可以随工具市场价格变化的欧洲股票很有用。 API Documentation