Search code examples
javaapiinteractive-brokers

Issues reading minTick from Interactive Brokers Java API


I am having some issues with Interactive Brokers API: when I request the contract details by using

m_controller.reqContractDetails(contract, t);

I receive the data; within it is contained the field minTick, which seems to consistently show 1.0E-4

When I transmit my orders by using the PlaceOrder method, I encounter the following error message when setting the price to a multiple of 0.0001:

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

I am unsure about what is causing this issue of whether I am using this value incorrectly.

Any help would be appreciated.

Thank you.


Solution

  • I got in touch with IB's tech support and this is what they had to say about the minTick property for a contract:

    user: Hello, I'm trying to obtain the minimum price for a given stock but I am having some issues: when I obtain the data from reqContractDetails, I get consistently a minTick of 1.0E-4, but when I place an order with an increment of 0.0001, I get the error: The price does not conform to the minimum price variation for this contract.

    user: I have verified this with stocks such as VLTC and PBMD

    user: it only allows me to place an order with a price increment of 0.01, which is not consistent with minTick

    IB Agent: The minimum price from contractDetails() is not a complete information.

    IB Agent: Unfortunately, it won't provide more information

    IB Agent: you need to examine the

    IB Agent: http://www1.interactivebrokers.ch/contract_info/index2.php

    user: so there is no programmatic way to obtain the minimum tick price for a given stock

    IB Agent: In using our API, no

    IB Agent: is this US stocks?

    user: yes

    IB Agent: normally it is above $1, then the price increment is .01

    In other words, minTick for the IB API is not a reliable way to know the min tick size for a given stock and some other way must be considered to perform this task.