Коннектор к IB (beta)

Коннектор к IB (beta)
Atom
1/20/2013
Mikhail Sukhov


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

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

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

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




Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 1/20/2013
Reply


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

Thanks:

gramp

Avatar
Date: 1/21/2013
Reply


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

Thanks:

Maxim

Avatar
Date: 10/9/2013
Reply


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

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

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

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

Thanks:

Mikhail Sukhov

Avatar
Date: 10/9/2013
Reply


API у ИБ не дает ленту тиков.

Thanks:

Maxim

Avatar
Date: 10/10/2013
Reply


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

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

Thanks:

Maxim

Avatar
Date: 10/12/2013
Reply


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

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

Thanks:

Kazai Mazai

Avatar
Date: 10/16/2013
Reply


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.

Thanks:

Kazai Mazai

Avatar
Date: 10/17/2013
Reply


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

Thanks:

Maxim

Avatar
Date: 10/17/2013
Reply


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

Thanks:

Kazai Mazai

Avatar
Date: 10/18/2013
Reply


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

Тепер снова 4.1.15.0

Thanks:
1 2  >

Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy