Проблемы чтения minTick из Java-интерфейса Interactive Brokers

У меня возникают некоторые проблемы с API Interactive Brokers: когда я запрашиваю детали контракта с помощью

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.

Я не уверен, что вызывает эту проблему, неправильно ли я использую это значение.

Любая помощь будет оценена.

Спасибо.

2 ответа

Решение

Я связался со службой технической поддержки IB, и вот что они должны были сказать о собственности minTick для контракта:

пользователь: Здравствуйте, я пытаюсь получить минимальную цену для данной акции, но у меня возникают некоторые проблемы: когда я получаю данные из reqContractDetails, я последовательно получаю minTick 1.0E-4, но когда я размещаю заказ с с шагом 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, тогда прирост цены составляет 0,01

Другими словами, minTick для IB API не является надежным способом узнать минимальный размер тика для данной акции, и для выполнения этой задачи необходимо рассмотреть какой-то другой способ.

Агент IB был прав. Как правило, в США это будет 0,01 (акции).

Если вы используете форекс будет 0,0001.

Если вы торгуете в Европе, могут быть некоторые различия, посмотрите на это, например, (Франция):

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

Если вы хотите определить минимальное изменение цены, я могу получить цену и сосчитать десятичные дроби или перейти к Yahoo Finance, чтобы сделать это...

Начиная с версии 973.03 API-интерфейса TWS предлагается новая функция reqMarketRule, которая обеспечивает минимальный прирост на каждом ценовом уровне. Это полезно для европейских акций, где минимальный прирост может меняться в зависимости от рыночной цены инструмента. Документация по API.

Другие вопросы по тегам