Interactive Brokers

Interactive Brokers ® IB10

Provider ID100

Interactive Brokers on Obermind Stream over the current TWS API protocol. Streaming quotes, depth, historical bars, instrument download, and orders through IB Gateway, with decimal sizes, fractional orders, depth aggregated across exchanges, and the CME manual order tag.

  • CFD
  • Commodities
  • Equities
  • Equity Derivatives
  • ETF
  • Futures
  • FX
  • Historical Market Data
  • Integrations
  • Interest Rates
  • Market Data
  • OMS / EMS
  • Options
  • Order Execution
  • Precious Metals

Overview

IB10 connects Obermind Stream to Interactive Brokers through IB Gateway or Trader Workstation using the current TWS API protocol. It does everything the original Interactive Brokers provider does, with the same settings, the same dashboard tab, and the same instrument and historical rules. The protocol it negotiates with the Gateway adds decimal sizes and quantities, fractional orders, depth aggregated across exchanges for SMART instruments, the CME Rule 576 manual order tag, and orders that also trade in the US overnight session. Market data lines, quote booster packs, pacing, professional fees, historical limits, and server setup are the same for both providers and are described on the Interactive Brokers page.

Markets

  • Equities
  • ETFs
  • Options
  • Futures
  • Future Options
  • FX
  • Indices
  • CFDs
  • Commodities
  • Precious Metals
  • Interest Rates

Messaging & Protocols

  • Market Order
  • Limit Order
  • Stop Order
  • Stop Limit Order
  • Market On Close Order
  • Market To Limit Order
  • Pegged Order
  • Trailing Stop Order
  • Trailing Stop Limit Order
  • Fractional Quantities
  • DAY
  • GTC
  • IOC
  • FOK
  • GTD
  • OPG
  • AUC
  • Top Of Book
  • Order Book (Level II)
  • Order Book across exchanges (SMART depth)
  • Trades (last price and size)
  • Delayed Market Data
  • Historical Bars
  • Instrument Download
  • Account Currency
  • Account Balance
  • Account Equity
  • Open Positions

Obermind Platform is integrated with the Interactive Brokers TWS API.

What is different from IB

FeatureIBIB10
Provider id4100
TWS API protocolOlder (client version 59)Current (server version 100 to 197)
Quantities and sizesWhole numbersDecimal, fractional orders
Level II on SMARTNo, needs a direct exchangeYes, aggregated across exchanges
CME Rule 576 manual order tagNoYes, ManualOrderIndicator
Overnight session for US stocksNoYes, IncludeOvernight
AssemblyOberMind.IBOberMind.IB10

Protocol

When it connects, IB10 offers the Gateway a range of protocol versions and the Gateway answers with the highest one both support. The dashboard's Interactive Brokers tab shows the agreed version on Status, with IB10 picked in Provider. Each message is read on its own, so a message the provider cannot read is skipped and counted on Status rather than closing the connection. MaxServerVersion caps the version offered; lowering it makes the Gateway fall back to an older message layout without a new build.

Settings

IB10 has every setting of the Interactive Brokers provider, including Host, Port, ClientId, MarketDataLines, MarketDataType, RequestMarketDepth, WhatToShow, UseRTH, PaceHistoricalRequests, DefaultAccount, and MonitoredAccount, and three of its own.

  • MaxServerVersion: highest protocol version offered, 197 by default, 100 at least
  • ManualOrderIndicator: CME Rule 576 tag on orders and cancels; -1 not sent, 0 automated, 1 manual
  • IncludeOvernight: let US stock orders also trade in the overnight session, off by default

Running beside IB

IB and IB10 can be connected at the same time to one Gateway, each with its own client id, so IB10 can be checked on a paper username while IB keeps running. Both draw on the same market data lines of the IB username. Server setup is the same as for the Interactive Brokers provider: IB Gateway 10.30 or later, Read-Only API off, and no TWS API library on the server.

Assembly registration

Register this provider in Obermind Stream Configuration. Id 0 uses the id from the class, which is 100. Do not set an id above 100. Only include this provider's assembly block.

<Provider>
  <TypeName>OberMind.IB10.IBTWS, OberMind.IB10</TypeName>
  <Id>0</Id>
  <X64>true</X64>
</Provider>

Stream provider XML

Paste this provider element into OberMind.XmlProviderManagerSettings. Point Host and Port at IB Gateway (4002 is the paper port). Replace DU0000000 with the IB account code. Use a ClientId that no other API session on that Gateway uses, including the IB provider. Set MarketDataLines to the username's line allowance.

<provider>
  <id>100</id>
  <instance>1</instance>
  <properties>
    <property name="Host" null="false">127.0.0.1</property>
    <property name="Port" null="false">4002</property>
    <property name="ClientId" null="false">2</property>
    <property name="DefaultAccount" null="false">DU0000000</property>
    <property name="MonitoredAccount" null="false">DU0000000</property>
    <property name="UseMonitoredAccount" null="false">True</property>
    <property name="WaitAccountData" null="false">False</property>
    <property name="OutsideRTH" null="false">False</property>
    <property name="TreatSellShortAsSell" null="false">True</property>
    <property name="WhatToShow" null="false">TRADES</property>
    <property name="UseRTH" null="false">True</property>
    <property name="IncludeExpired" null="false">False</property>
    <property name="ContractExpiryFormat" null="false">yyyyMM</property>
    <property name="PaceHistoricalRequests" null="false">True</property>
    <property name="MarketDataLines" null="false">100</property>
    <property name="MarketDataType" null="false">1</property>
    <property name="RequestMarketDepth" null="false">False</property>
    <property name="MarketDepthRows" null="false">10</property>
    <property name="MaxServerVersion" null="false">197</property>
    <property name="ManualOrderIndicator" null="false">-1</property>
    <property name="IncludeOvernight" null="false">False</property>
    <property name="Enabled" null="false">True</property>
    <property name="AutoReconnect" null="false">True</property>
    <property name="AutoReconnectInterval" null="false">10</property>
  </properties>
</provider>

Obermindプラットフォームで利用可能. Current TWS API protocol: fractional orders, decimal sizes, and depth across exchanges.

Alipay
Stripe
Eurex
AWS
Azure
Google Cloud
Currenex
Velocity Trade
Bitcoin
CME
Interactive Brokers
Kraken
FIX API
XTX
Bloomberg
Binance

プラットフォームを立ち上げましょう。