从交互式代理Java API读取minTick时出现的问题

从交互式代理Java API读取minTick时出现的问题,java,api,interactive-brokers,Java,Api,Interactive Brokers,我在使用InteractiveBrokersAPI时遇到了一些问题:当我使用 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 contra

我在使用InteractiveBrokersAPI时遇到了一些问题:当我使用

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.
我不确定是什么导致了这个问题,即我是否错误地使用了这个值

任何帮助都将不胜感激


谢谢。

我与IB的技术支持部门取得了联系,以下是他们对minTick物业合同的看法:

用户:您好,我正在尝试获取给定股票的最低价格,但我遇到了一些问题:当我从reqContractDetails获取数据时,我得到的minTick值始终为1.0E-4,但当我以0.0001的增量下订单时,我得到了错误:价格不符合此合同的最低价格变化

用户:我已经用VLTC和PBMD等股票验证了这一点

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

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

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

IB代理:您需要检查

IB代理:

用户:所以没有程序化的方法来获取给定股票的最低勾价

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

IB经纪人:这是美国股票吗

用户:是的

IB代理:通常在1美元以上,那么价格增量是0.01


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

IB代理是正确的。一般来说,在美国(股票)为0.01

如果您使用的是外汇,则汇率将为0.0001

如果您在欧洲进行贸易,则可能存在一些差异,例如,看看这个(法国):


如果你想确定最小价格变化,我可能会得到价格并计算小数,或者去雅虎金融做这件事

从TWS API的v973.03开始,提供了一个新的函数reqMarketRule,该函数在每个价格级别上提供最小增量。这对于最小增量可随工具市场价格变化的欧洲股票非常有用。
.

IB Api不能提供这些信息,这让人非常恼火。