Коннектор к IB (beta)
Atom
20.01.2013
Mikhail Sukhov


Сделал коннектор к Interactive Brokers. Хочу предоставить для бета тестирования. В дальнейшем как коннектор будет распространяться пока не известно, но у тех, кто поможет в тестировании он точно будет.

Коннектор предоставляется только для тех, кто:


  • уже пишет роботов
  • является клиентом (чтобы иметь реальное подключение к торгам)
  • готов помочь в случае устранения ошибок (отдам с исходным кодом, чтобы было проще протестировать)
  • не является интернет фантомом, а реальный пользователь с этого или другого форума


Пишите сюда или в скайп mika_soukhov

Теги:


Спасибо:


1 2  >
Mikhail Sukhov

Фотография
Дата: 20.01.2013
Ответить


Пару слов о реализации. Первоначально взял за основу решение от Динозавров. Решение не очень понравилось в связи с тем, что оно как-то странно выглядело с т.з. C# стиля. В последствие понял, что это просто порт Java кода, который предоставляет брокер (причем судя по версиям, далеко не up to date). Поэтому в дальнейшем смотрел на Java код. К изумлению, он оказался даже понятнее, чем C# порт (в котором я нашел довольно много ошибок, как и в самой документации IB[laugh] ).
Спасибо:

gramp

Фотография
Дата: 21.01.2013
Ответить


отправил запрос в скайп
Спасибо:

Maxim

Фотография
Дата: 09.10.2013
Ответить


Михаил, привет.

Попробовал SampleIB на тестовом TWS.
Отправлять заявки получается.
Информация по заявкам приходит.
Портфель и позы тоже видны и изменяются в SampleIB.

А вот информации о сделках в SampleIB не появляется, хотя в TWS сделки появляются.

Не сталкивался ли ты с подобной ситуацией?
Может какие дополнительные настройки нужны в TWS (в доках не нашел ничего)?
Приходили ли у тебя сделки в SampleIB?
Спасибо:

Mikhail Sukhov

Фотография
Дата: 09.10.2013
Ответить


API у ИБ не дает ленту тиков.
Спасибо:

Maxim

Фотография
Дата: 10.10.2013
Ответить


Извини, забыл уточнить, я имел ввиду свои сделки.

Ты имеешь ввиду, что свои сделки API тоже не дает?
Спасибо:

Maxim

Фотография
Дата: 12.10.2013
Ответить


Михаил, привет.

Видел ли ты предыдущий вопрос?
Можешь ли уточнить, получалось у тебя получать свои сделки из IB при помощи SampleIB?
Или IB не поддерживает этот функционал?
Спасибо:

Kazai Mazai

Фотография
Дата: 16.10.2013
Ответить


Maxim
Михаил, привет.

Видел ли ты предыдущий вопрос?
Можешь ли уточнить, получалось у тебя получать свои сделки из IB при помощи SampleIB?
Или IB не поддерживает этот функционал?



IB отдает информацию по позициям, openOrders, ordersStatus, и Execution.
Из этой инфы можно собрать сделки.

У меня свой коннектор к Ib, и у меня тоже траблы с появлением сделок примерно с 4.1.19.1
До этого, кажется, был на 4.1.16.1 и все было окей.

Беда в том, что еще и IB API обновилось.

Могут быть два источника проблемы.

IB что-то изменили, возможно, порядок отдачи execution, order status или open orders. Либо какой-то косяк с Id ордеров.
Но я проверил, все приходит, айдишники правильные, OpenOrders как и раньше приходит два раза.

Используются следующие методы, и поэтому вызывают подозрение:

StockSharp.Algo.BaseTrader.GetOrder(bool? isConditional, long transactionId)
Раньше был GetOrderByTransactionId(int id)

StockSharp.Algo.BaseTrader.GetOrder(StockSharp.BusinessEntities.Security, StockSharp.BusinessEntities.OrderTypes, long, System.Func<long,StockSharp.BusinessEntities.Order>, System.Func<StockSharp.BusinessEntities.Order,bool>) вроде бы не поменялся(по крайней мене внешне)

StockSharp.Algo.BaseTrader.GetOrder(StockSharp.BusinessEntities.Security, StockSharp.BusinessEntities.OrderTypes, long)

StockSharp.Algo.BaseTrader.AddMyTrade(StockSharp.BusinessEntities.Security, long, long, long, System.Func<long,StockSharp.BusinessEntities.Trade>, System.Action<StockSharp.BusinessEntities.MyTrade>)



Как только, так сразу попробую пересобрать своего трейдера со старым IB API, новым S# и наоборот.
Если что нить обнаружу, думаю, что это будет солюшеном для обоих коннекторов.

Беда, что проверить можно только в trading hours.














Спасибо:

Kazai Mazai

Фотография
Дата: 17.10.2013
Ответить


Kazai Mazai
Maxim
Михаил, привет.

Видел ли ты предыдущий вопрос?
Можешь ли уточнить, получалось у тебя получать свои сделки из IB при помощи SampleIB?
Или IB не поддерживает этот функционал?



IB отдает информацию по позициям, openOrders, ordersStatus, и Execution.
Из этой инфы можно собрать сделки.

У меня свой коннектор к Ib, и у меня тоже траблы с появлением сделок примерно с 4.1.19.1
До этого, кажется, был на 4.1.16.1 и все было окей.

Беда в том, что еще и IB API обновилось.

Могут быть два источника проблемы.

IB что-то изменили, возможно, порядок отдачи execution, order status или open orders. Либо какой-то косяк с Id ордеров.
Но я проверил, все приходит, айдишники правильные, OpenOrders как и раньше приходит два раза.

Используются следующие методы, и поэтому вызывают подозрение:

StockSharp.Algo.BaseTrader.GetOrder(bool? isConditional, long transactionId)
Раньше был GetOrderByTransactionId(int id)

StockSharp.Algo.BaseTrader.GetOrder(StockSharp.BusinessEntities.Security, StockSharp.BusinessEntities.OrderTypes, long, System.Func<long,StockSharp.BusinessEntities.Order>, System.Func<StockSharp.BusinessEntities.Order,bool>) вроде бы не поменялся(по крайней мене внешне)

StockSharp.Algo.BaseTrader.GetOrder(StockSharp.BusinessEntities.Security, StockSharp.BusinessEntities.OrderTypes, long)

StockSharp.Algo.BaseTrader.AddMyTrade(StockSharp.BusinessEntities.Security, long, long, long, System.Func<long,StockSharp.BusinessEntities.Trade>, System.Action<StockSharp.BusinessEntities.MyTrade>)



Как только, так сразу попробую пересобрать своего трейдера со старым IB API, новым S# и наоборот.
Если что нить обнаружу, думаю, что это будет солюшеном для обоих коннекторов.

Беда, что проверить можно только в trading hours.



Откатил свой коннектор до S# 4.1.15.0, а IB API оставил новое. Все окей.
В 4.1.16.1 изменился механизм состояний ордеров, вероятно поэтому ордера не подхватываются в mytrades


Спасибо:

Maxim

Фотография
Дата: 17.10.2013
Ответить


Kazai Mazai, а какую версию IB ты используешь?
Спасибо:

Kazai Mazai

Фотография
Дата: 18.10.2013
Ответить


Maxim
Kazai Mazai, а какую версию IB ты используешь?


Тепер снова 4.1.15.0
Спасибо:
1 2  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy