Коннектор к 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