public DataManager(DashboardManager DashboardMgr, string _symbol, string _right, bool _IncludeOppositeWing, int _clientId, bool _ReadInContract, string _secType = "STK", String _readInContractAdd = "") { dbm = DashboardMgr; clientID = _clientId; ibClient = new IntBrokerSocket(clientID, Control.connectionPort); this_symbol = _symbol; initiateDataTable(); ReadInContract = _ReadInContract; readInContractAdd = _readInContractAdd; right = _right; IncludeOppositeWing = _IncludeOppositeWing; symbolPrice = getSymbolPrice(_secType); }
private void LaunchManager(DashboardManager dbm) { //############ Data Manager ################### Task DataManagerFleet = Task.Run(() => { Parallel.ForEach(symbolList, new ParallelOptions { MaxDegreeOfParallelism = Control.maxNumThreads }, (symbol) => { DataManager dm = new DataManager(DashboardMgr: dbm, _symbol: symbol, _right: right, _IncludeOppositeWing: false, _clientId: clienIDs[symbol], _ReadInContract: false, _secType: "STK"); dm.CreateTable(); dm.FillInData(); DataManagerQueue.Enqueue(dm); dm.disconnect(); }); }); Task IntegrationWaiter = Task.Run(() => { while (ProcessedCount < symbolList.Length) { DataManager iDm; if (DataManagerQueue.TryDequeue(out iDm)) { try { Integration(iDm); } catch (Exception) { using (StreamWriter sw = new StreamWriter(RErrorLog, append: true)) { sw.WriteLine(iDm.Symbol); Console.WriteLine("Error in {0}", iDm.Symbol); } } Console.WriteLine("{0} Done", iDm.Symbol); dbm.ChangeCellColor(Array.IndexOf(symbolList, iDm.Symbol), Color.Green); ProcessedCount++; } } }); Task.WaitAll(DataManagerFleet, IntegrationWaiter); }
static void Main(string[] args) { string[] symbolList = new string[] { "AAPL", "ACN", "ADBE", "ADP", "ADSK", "AMZN", "APD", "BA", "BAX", "BLK", "CAT", "CME", "CMI", "CRM", "CSCO", "CTSH", "DIS", "EBAY", "EL", "EA", "F", "GD", "GLW", "HON", "HP", "IBM", "INTC", "INTU", "ITW", "JNJ", "JPM", "KO", "MA", "MCD", "MDT", "MMM", "MRK", "MSFT", "NKE", "NVDA", "ORCL", "PFE", "PG", "PM", "PSA", "QCOM", "RHT", "RTN", "SNPS", "T", "TDG", "TEL", "TIF", "TXN", "TXT", "UNP", "V", "WLTW", "XOM", "XRX" }; DashboardManager dbm = new DashboardManager(); CalculationManager_v2 cm = new CalculationManager_v2(symbolList, dbm, "PUT"); //DataManager cm = new DataManager(_symbol:symbol, // _right: "PUT", // _IncludeOppositeWing:true, // _ReadInContract: false, // _readInContractAdd: @"C:\Users\Samuel\Documents\Visual Studio 2013\Projects\ConsoleApplication5\"+ symbolList[0] + ".txt"); ////cm.RefreshData(); //SimulationManager sm = new SimulationManager(symbol); //sm.EvaluateSimulation(); //sm.GetSimulatedPrices(new DateTime(2017, 12, 31)); //Console.WriteLine(sm.Probability_OTM(60)); //Console.WriteLine(sm.Probability_OTM(60,"CALL")); }