private static int getContractID(EClientSocket client, EWrapperImpl Allture, TradeBooks Book, int m, int leg, string sectype, string exchange)
 {
     Allture.checkContractEnd = false;
     client.reqContractDetails(20010, ContractSamples.Contract_Options(Book.symbol[m], sectype, Book.expiration[m], Book.CallPut[m], leg, Book.multipler[m].ToString(), exchange));
     //Thread.Sleep(sleep1);
     while (!Allture.checkContractEnd)
     {
         Thread.Sleep(200);
     }
     Console.WriteLine("contract_ID: " + Allture.contract_ID + "\n");
     return(Allture.contract_ID);
 }
        private static double getSpreadPremium(EClientSocket client, EWrapperImpl Allture, TradeBooks Book, int m, double LegS, double LegB, string sectype, string exchange)
        {
            double LegB_price, LegS_price;

            client.reqMktData(3011, ContractSamples.Contract_Options(Book.symbol[m], sectype, Book.expiration[m], Book.CallPut[m], LegB, Book.multipler[m].ToString(), exchange), string.Empty, false, false, null);
            Thread.Sleep(1000);
            client.cancelMktData(3011);
            LegB_price = Allture.ask_price;
            Console.WriteLine("legB ask: " + LegB_price + "\n");

            client.reqMktData(3012, ContractSamples.Contract_Options(Book.symbol[m], sectype, Book.expiration[m], Book.CallPut[m], LegS, Book.multipler[m].ToString(), exchange), string.Empty, false, false, null);
            Thread.Sleep(1000);
            client.cancelMktData(3012);
            LegS_price = Allture.ask_price;
            Console.WriteLine("legS ask: " + LegS_price + "\n");

            return(LegS_price - LegB_price);
        }