3

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.

autronix
  • 2,885
  • 2
  • 22
  • 28

3 Answers3

6

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.

Community
  • 1
  • 1
autronix
  • 2,885
  • 2
  • 22
  • 28
0

The IB agent was right. As a general rule it will be 0.01 in the US (equities).

If you are using forex will be 0.0001.

If you trade in Europe there may be some differences, look at this one for example (France):

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

If you want to identify the min price variation I may get the price and count the decimals or go to Yahoo Finance to do it...

ibapilessons
  • 69
  • 1
  • 3
0

Starting in v973.03 of the TWS API, a new function reqMarketRule is offered which provides the minimum increment at each price level. This is useful for European stocks where the minimum increment can change with the market price of the instrument. API Documentation.

Josh
  • 706
  • 3
  • 8