The arguments required by outgoing messages mostly resemble the official api-documentation. However, apart from using underscored (snake-case) properties names, sometimes they slightly differ from those specified by Interactive Brokers.

The properties can be referenced en detail in the source-code (lib/ib/messages/outgoing.rb,lib/ib/messages/outgoing/*rb) of ib-api.

If just a clarification, how to write properties is needed

IB::Messages::Outgoing::{message-class}.properties?

is available

Example

In the Console, use the tab-completion to reveal the proper method-name

> Messages::Outgoing::Req [tab]
Messages::Outgoing::ReqSecDefOptParams
Messages::Outgoing::RequestAccountData
Messages::Outgoing::RequestAccountSummary
Messages::Outgoing::RequestAccountUpdates
Messages::Outgoing::RequestAccountUpdatesMulti
Messages::Outgoing::RequestAllOpenOrders
Messages::Outgoing::RequestAutoOpenOrders
Messages::Outgoing::RequestCalculateImpliedVolatility
Messages::Outgoing::RequestCalculateOptionPrice
Messages::Outgoing::RequestContractData
Messages::Outgoing::RequestContractDetails
Messages::Outgoing::RequestCurrentTime
Messages::Outgoing::RequestExecutions
Messages::Outgoing::RequestFA
Messages::Outgoing::RequestFundamentalData
Messages::Outgoing::RequestGlobalCancel
Messages::Outgoing::RequestHeadTimeStamp
Messages::Outgoing::RequestHistogramData
Messages::Outgoing::RequestHistoricalData
Messages::Outgoing::RequestIds
Messages::Outgoing::RequestImpliedVolatility
Messages::Outgoing::RequestManagedAccounts
Messages::Outgoing::RequestMarketData
Messages::Outgoing::RequestMarketDataType
Messages::Outgoing::RequestMarketDepth
Messages::Outgoing::RequestNewsBulletins
Messages::Outgoing::RequestOpenOrders
Messages::Outgoing::RequestOptionChainDefinition
Messages::Outgoing::RequestOptionPrice
Messages::Outgoing::RequestPositions
Messages::Outgoing::RequestPositionsMulti
Messages::Outgoing::RequestRealTimeBars
Messages::Outgoing::RequestScannerParameters
Messages::Outgoing::RequestScannerSubscription
Messages::Outgoing::RequestSecurityDefinitionOptionParameters
Messages::Outgoing::RequstMarketDepthExchanges

Then we can call :properties on the specified message-class

> Messages::Outgoing::RequestFA.properties?
 => [:fa_data_type] 

 C.send_message :RequestFA, fa_data_type: 3 # Account-Aliases


>  Messages::Outgoing::RequestImpliedVolatility.properties?
 => [:request_id, :contract, :option_price, :under_price, :implied_volatility_options_count, :implied_volatility_options_conditions]
Tags: