public void runOnceSimulation() { Stopwatch sw = new Stopwatch(); sw.Start(); initializeTradeDataTable(); onInit(); runSimulate(); sw.Stop(); string filename = string.Format("TI{0:yyyyMMddHHmm}T{1}.csv", DateTime.Now, name); string ss = String.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}\r\n", tradeTimes, profit, goodTradeTimes, badTradeTimes, testParam.k1, testParam.k2, testParam.k3, name, Convert.ToUInt32(sw.ElapsedMilliseconds / 1000), filename); updateTradeLogParallelDelegate(ss); Csv.SaveCSV(TradeDt, filename, ss); // string str = String.Format("Thread {0} : {1:yyyy-MM-dd HH:mm:ss} Complete, Spend {2}s.\r\n", name, DateTime.Now,Convert.ToUInt32(sw.ElapsedMilliseconds/1000)); // updateTradeLogParallelDelegate(str); }
private void runOnceSimulation2() { simulationIndex++; string ss = "NO. "; ss += String.Format("{0} ", simulationIndex); startSimulateTime = DateTime.Now; ss += "\r\nStart Time: "; ss += String.Format("{0:yyyy-MM-dd HH:mm:ss}", startSimulateTime); updateCurrentTickDelegate(ss); if (simulateDt.Rows.Count < 3) { loadData(); } loadDataTableCompleteTime = DateTime.Now; TradeDt = new DataTable(); initializeTradeDataTable(); onInit(); runSimulate(); finishSimulateTime = DateTime.Now; ss += "\r\nComplete Time:"; ss += String.Format("{0:yyyy-MM-dd HH:mm:ss}", finishSimulateTime); ss += "\r\nSimulation Last Period:"; ss += String.Format("{0}", finishSimulateTime.Subtract(loadDataTableCompleteTime)); ss += "\r\nTrade information:"; ss += String.Format("\r\nTrade:{0} profit:{1} ", tradeTimes, profit); ss += String.Format("\r\nGood Trade:{0} Bad Trade:{1} ", goodTradeTimes, badTradeTimes); updateCurrentTickDelegate(ss); string filename = string.Format("TradeInformation{0:yyyyMMddHHmm}.csv", DateTime.Now); ss += "\r\nSave Trade data in " + filename; string comments = string.Format("\r\n K1: {0},K2: {1},K3: {2}", testParam.k1, testParam.k2, testParam.k3); Csv.SaveCSV(TradeDt, filename, comments); updateCurrentTickDelegate(ss); // simulateDt.Clear(); // TradeDt.Clear(); TradeDt.Dispose(); }