public void UpdateUI(ContractDetailsMessage message) { contractResults.Rows.Add(1); contractResults[0, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.Symbol; contractResults[1, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.Currency; contractResults[2, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.Multiplier; contractResults[3, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.Strike; contractResults[4, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.Right; contractResults[5, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.Expiry; contractResults[6, contractResults.Rows.Count - 1].Value = message.ContractDetails.Summary.ConId; }
// TWS response for a single instance of contractDetails for a given request private static void Ibclient_ContractDetails(messages.ContractDetailsMessage msg_cd) { ContractDetails cd = msg_cd.ContractDetails; string contractKey = GetContractKey(cd.Contract); // Keep the request active until end is signaled by ContractDetailsEnd event. GooContract c = GetDataRequestContract(msg_cd.RequestId, false); // TWS returns contracts in calendar order (front month first) so we preserve the order. c.TWSContractDetailsList.Add(cd); MessageLogger.LogMessage(String.Format("ContractDetails request {0}: {1}", msg_cd.RequestId.ToString(), contractKey)); }
public void HandleContractMessage(ContractDetailsMessage contractDetailsMessage) { ContractDetailsGrid.Rows.Add(1); ContractDetailsGrid[0, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Symbol; ContractDetailsGrid[1, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.LocalSymbol; ContractDetailsGrid[2, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.SecType; ContractDetailsGrid[3, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Currency; ContractDetailsGrid[4, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Exchange; ContractDetailsGrid[5, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.PrimaryExch; ContractDetailsGrid[6, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Expiry; ContractDetailsGrid[7, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Multiplier; ContractDetailsGrid[8, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Strike; ContractDetailsGrid[9, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.Right; ContractDetailsGrid[10, ContractDetailsGrid.Rows.Count - 1].Value = contractDetailsMessage.ContractDetails.Summary.ConId; }
private void HandleContractDataMessage(ContractDetailsMessage message) { if (message.RequestId > ContractManager.CONTRACT_ID_BASE && message.RequestId < OptionsManager.OPTIONS_ID_BASE) { contractManager.UpdateUI(message); } else if (message.RequestId >= OptionsManager.OPTIONS_ID_BASE) { optionsManager.UpdateUI(message); } }