IBController called from ruby (as an OLE object) as opposed to afl

Can IBController be called from code outside of afl (say in ruby or other programming languages) as an OLE object, or are there any plans to make it possible in the future?

As per http://www.amibroker.com/at/

ibc = GetTradingInterface("IB");
After this call the BrokerIB.EXE (IB Controller) application is launched and the ibc variable contains the pointer to OLE automation object that has several methods (functions) that allow to place/modify/cancel orders via TWS and to query portfolio information. Those methods (functions) are called as any automation object methods

I would like to do this in ruby:

ab = WIN32OLE.new("Broker.Application")
ibc = ab.GetTradingInterface("IB")
puts ibc.IsConnected()
puts openpos = ibc.GetPositionList()
puts placedOrderID = ibc.PlaceOrder("AAP-SMART-STK-USD", "SELL", 1, "LMT", 200, 0, "DAY", True, 100, "", 0, "MYGROUP" )

I think I just figured it out:

ibc = WIN32OLE.new("BrokerIB.Application")
puts ibc.IsConnected()
puts openpos = ibc.GetPositionList()
2 Likes