private void CreateStrategyMap(int nKey, DateTime date, IRow biasRow, IRow fpRow, int n5KStartIndex) { DateStrategyMap dsMap = new DateStrategyMap(date); double dFuturesOpen = biasRow.GetCell(1).NumericCellValue; double dFuturesHigh = biasRow.GetCell(2).NumericCellValue; double dFuturesLow = biasRow.GetCell(3).NumericCellValue; double dFuturesClose = biasRow.GetCell(4).NumericCellValue; double dSpotOpen = biasRow.GetCell(5).NumericCellValue; double dSpotHigh = biasRow.GetCell(6).NumericCellValue; double dSpotLow = biasRow.GetCell(7).NumericCellValue; double dSpotClose = biasRow.GetCell(8).NumericCellValue; dsMap.FuturesOpen = dFuturesOpen; dsMap.FuturesHigh = dFuturesHigh; dsMap.FuturesLow = dFuturesLow; dsMap.FuturesClose = dFuturesClose; dsMap.SpotOpen = dSpotOpen; dsMap.SpotHigh = dSpotHigh; dsMap.SpotLow = dSpotLow; dsMap.SpotClose = dSpotClose; dsMap.FFutures = fpRow.GetCell(12).NumericCellValue; dsMap.FOptions = fpRow.GetCell(13).NumericCellValue; for (int j = n5KStartIndex; j < m_MIN5KSheet.LastRowNum; j++) { IRow FiveKRow = m_MIN5KSheet.GetRow(j); if (FiveKRow == null || FiveKRow.GetCell(0).CellType != CellType.Numeric) continue; DateTime FiveKDateTime = ConvertToDateTime(FiveKRow.GetCell(0).NumericCellValue); if (date.CompareTo(FiveKDateTime) == 0) { FiveKDateTime = FiveKDateTime.Add(Convert.ToDateTime(FiveKRow.GetCell(1).StringCellValue).TimeOfDay); double[] dOHLCV = new double[5]; dOHLCV[0] = FiveKRow.GetCell(2).NumericCellValue; dOHLCV[1] = FiveKRow.GetCell(3).NumericCellValue; dOHLCV[2] = FiveKRow.GetCell(4).NumericCellValue; dOHLCV[3] = FiveKRow.GetCell(5).NumericCellValue; dOHLCV[4] = FiveKRow.GetCell(6).NumericCellValue; dsMap.Add5K(FiveKDateTime, dOHLCV); } else break; } m_DateStrategy.Add(nKey, dsMap); }