private double getSymbolPrice(string secType) { dbm.WriteLine(clientID, "Obtaining undelying price ...", true); // get Underlying Contract Contract underlying = new Contract(); underlying.Symbol = this_symbol; underlying.SecType = secType; underlying = ibClient.reqContractDetails(1, underlying)[0].contractDetails.Summary; // Request Price do { ibClient.SetMarketDataType(IntBrokerSocket.MarketDataType.Delayed); CompleteTick_Struct mymkt = ibClient.GetMktSnapShotData(new List <Contract>(new Contract[] { underlying }))[0]; symbolPrice = mymkt.getTick(tickPreference.LastPreference); } while (symbolPrice <= 0); return(symbolPrice); }
private List <CompleteTick_Struct> IBPrice2DT() { //########################################################################################### // Obtain option price //########################################################################################### List <Contract> AllContracts = new List <Contract>(); List <CompleteTick_Struct> myMkt; // Create and send request foreach (Position_Struct pos in myPortfolio) { Contract tmpContract = ibClient.reqContractDetails(Toolkit.RndReqId(), pos.contract)[0].contractDetails.Summary; AllContracts.Add(tmpContract); } ibClient.SetMarketDataType(IntBrokerSocket.MarketDataType.Delayed); myMkt = ibClient.GetMktSnapShotData(AllContracts); return(myMkt); }