Bugfix: MT4 only. Reopen of MT4 opened positions when restarting copier and MetaTrader.
- Autoroll feature for future (FUT) contracts added.
To set autoroll feature, doublick on IBKR symbol on page Contract Setup. Set the # of days before expiry for autoroll. If you want to manually roll contract, Click on button Roll contract.
there is a new IBPlugin version 1511.
– 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
// list all returned contracts with symbol and conid
for(int idx=0;idx < total_objects;++idx)
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:
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 delta, vega, etc. , 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);
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 trade-commander.com 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.
– When the trade-commander.com software conencts next time, it should
work without the need to confirm connection.
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
SL and/or TP orders got replaced after fill on IB side, when prev. SL or TP filled at IB side but not for MetaTrader account and got aftwards modified in MetaTrader. This could end up
in double closes.
This applies only for MetaTrader 5 hedge accounts.
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.