Posted on

IBPlugin new version 1511

Hello community,
there is a new IBPlugin version 1511.

Product Page:

IBPlugin – Universal Interactive Brokers API Plugin

Download Link


Release Notes:

IBPlugin Release Notes

– IBPlugin is now capable to query contract data and to save a contract from query result along with unique custom symbol
name to database, so you can get conid/uidc from function

Similar to position data, the query creates a snapshot list with affected contract and returns the number of contracts.

MetaTrader code snippet:
// ——————————————–
// [#8] Do a contract query:
Print(“+++ contract query START”);
// create a snapshot of all HE FUT contracts. Timeout 5 seconds
Print(“##contracts=”,total_objects );
// list all returned contracts with symbol and conid
for(int idx=0;idx < total_objects;++idx)
// file:///C:/Program%20Files/
int uid = ibgCONTRACT_INFO_INT(idx, 7);
string symbol = ibgCONTRACT_INFO_STR(idx, 8);

// if this is the contract you are looking for, use
// this function to add it to internal database along
// with unique symbol name
// uid = ibgADD_CONTRACT_IDX( idx, “my_unique_symbol_name”);
// so you can access contract
// by calling function:
// ibgNAME_TO_UID(“my_unique_symbol_name”);

PrintFormat(“[%d] symbol=%s uidc=%d”,idx,symbol,uid);
Print(“— contract query END”);

Market data request and access extended.
The market data request allows generic ticks argument.
It is now possible to retrieve Option data, like deltavegaetc. ,  tick EFP,  tick generic,  tick string.
Market data are stored in circular arrays. So there is a certain tick history store during runtime and can be accessed by index, where
index=0 denotes latest tick.

TradeStation / MultiCharts code snippet:
// subscribe to realtime data
ticker= ibgSUBSCRIBE_REALTIME_DATA(connection_id, conid, “”, “”);

For idx = 200 to 207 begin
// subtype identifier (idx)
// —————————

option_value=ibgGET_REALTIME_DATA(connection_id, ticker, 21, idx, 0);

Posted on

Recommended TWS Version for products

Unlike recommended in a prior post, it is best practise to stick always
with InteractiveBrokers time tested version (download lower right “TWS Offline-Version”). Currently this is version 981.xx.

Some users report problems using newer TWS like the version above.
For instance, the MTIB Order Copier never completes connection.

If you have this problem, go to API settings in TWS / Gateway and
follow this procedure:
– Uncheck “Allow connections…”.
– Reconnect software with TWS / Gateway
– When asked to accept connection from (name)/ip, note the IP
then create a Trusted  IP and just put IP (name excluded) in.
– Save
– When the software conencts next time, it should
work without the need to confirm connection.

Posted on

MetaTrader and Interactive Brokers

We often get requests to connect MetaTrader with InteractiveBrokers (IBKR).
Poeple expect to login into their IBKR account using MetaTrader 4/5.

This is not possible. MetaTrader is not designed for this.
Also feeding MetaTrader charts with external market data, like
IBKR quotes, is not possible.

Also JTWSData can not do this. You can create your own MT symbol (custom symbol) and then use JTWSData to feed with IBKR market data
, even realtime but you won’t be able to place an order for such symbol.

Why not ?

Because the MetaTrader design is a closed concept:  You can only trade with
MetaTrader Broker you are connected to by MT login. This MetaTrader broker has
its own tradeble symbols.

A custom symbol belongs not to this list.

MetaTrader brokers need control about market data for their business
concept.  This is how they make money. So they won’t allow to trade symbols,
which they do not control.

The good news: You can even use MT4/MT5 to trade an IBKR account: Explainer Video how to

Posted on

New Video Tutorials about IBPlugin

IBPlugin is a Windows based Binary Plugin – DLL – that can be used with any
Windows application, that can load ordinary DLL.

It makes the use of InteractiveBrokers API easy and straight.

It is the successor of TWSLink, focusing of the most important tasks:

  • Placing, Changing, Deleting, Closing Orders
  • Gettting Account Data Information (Equity, Margin, etc.)
  • Getting Portfolio Information (Position, Average Price)
  • Getting Order Information (Status, Properties,etc.)
  • Getting Execution Information
  • Providing Realtime Market Data: Bid,Last,Ask

There are 3 new Video Tutorials about IBPlugin in the Video Tutorial Playlist:
Installing, Administration, MetaTrader examples-

Please go on Video Tutorial Page and scroll down for the IBPlugin Video Tutorials.

Posted on

MetaTrader (MT) and InteractiveBrokers (IBKR)

MetaTrader (MT) and InteractiveBrokers (IBKR)

Many traders would like to use MetaTrader with an IBKR account. Simply log into MetaTrader,
as in the TWS, having IBKR market data in the charts, as well as see IBKR orders, position and account data.

But unfortunately this is not possible. The MetaTrader concept is closed. It is not meant to be used with other Brokers
than MT Brokers or to feed the charts with external data. There is no data- and Broker API in MetaTrader.

The reason is in the business model of MetaTrader:  MetaTrader broker make money with an artificial spread. This requires
control over the data, so there can be no data interface.

The deal is: You get a free, very powerful software (with a large community) and on top of that free
Market data. To do this, you only trade with a MetaTrader Broker. They charge you via an artificial
Spread. This is also an attractive concept for small order sizes.

Due to the variable spread model, the costs scale with the order size. This is one of the reasons why many traders wish to use
the popular MetaTrader with another broker, such as InteractiveBrokers..


As said, you cannot feed the MT charts with IBKR data and you cannot execute your IBKR orders, have executions-, position- and account
information in the terminal.

However, there is a way to use MetaTrader to trade an InteractiveBrokers account and it is quite convenient. Because it is possible to follow everything that happens in the MT
If, for example, an order is placed manually or by an expert, this event can be detected in the integrated script environment (keyword: .MQL).

This is where the software comes in and has basically 2 solutions to connect the MT with an IBKR account.
For both solutions an existing MetaTrader account is required. This can be a live account, but also a demo account.

Requirement:  MetaTrade Broker Account

MetaQuotes offers a free MetaTrader 5 demo account, with free Forex data and some futures.

There are also brokers who offer a demo account for longer periods of time, e.g. CMC Markets

and others. The Google God will certainly help.

Many customers already have an MT Live account and then apply for an endless demo account.

So far so good. But how is the connection to the IBKR account ?



There are now 2 solutions:
1. The MTIB Copier:

MetaTrader – InteractiveBrokers Order Kopierer

This software copies orders placed in MetaTrader for MT account to the TWS or Gateway.
This is done automatically, without any programming. The software is particularly suitable for commercial
experts whose source code cannot be accessed. If you don’t know what is meant, no big deal.

Even those who act manually can use the copier productively. You can place your orders from the chart as usual
and they are copied for the IBKR account.

The software must be set up once and must always be running when you want to copy orders.

2. The IBPlugin

TradeStation and Interactive Brokers

(Do not be confused by ‘TradeStation’. The IBPlugin can also be used in MetaTrader. The installation includes a MetaTrader example and documentation)

This is a plugin that you load into MetaTrader. It is intended for programmers. The plugin enables .MQL code to directly trade an IBKR account.
Unlike the copier, there is no need to place orders for the MT account. For example, with a Moving Average Crossover, the function:

           long ticket=ibgORDER_SEND(…)

function to send an order for the corresponding account. In the backtest mode, you could use the MetaTrader function

          long ticket=OrderSend(…)

instead of calling and thus have the opportunity to test the expert first.

This way you can make the very powerful MetaTrader available for an IBKR account.

For both solutions applies:
– It is possible to scale up / down the order sizes on IBKR side. This is how you can execute smaller indices on your MetaTrader account
and larger ones in the IBKR account.

– You can connect any MetaTrader symbol to any IBKR contract, whether it makes sense or not. (For example, you could link an MT CFD contract
to one IBKR share).

Any of the above solutions can be tested. For the copier we also offer a free setup help via TeamViewer.
Usually a matter of minutes.

For the plugin, simple examples are also installed. There is also a documentation.

+ You can use MetaTrader for an IBKR account at all
+ lower costs with IBKR
+ You save costs for a data feed, because with MetaTrader
+ All the benefits of an IBKR account (e.g. no dealing desk)

– no native connection to MetaTrader
– no IBKR data in MetaTrader charts
– An additional delay for the copier, because orders must be accepted by MetaTrader Broker before they can be copied: ~ 70 ms.