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;
 }
Ejemplo n.º 2
0
        // 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));
        }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 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);
     }
 }