private static void SimulateMt(WekaEA2 ea, DateTime startDate, DateTime endDate, Feng.Data.DbHelper dbHelper) { long minTime = WekaUtils.GetTimeFromDate(startDate); long maxTime = WekaUtils.GetTimeFromDate(endDate); var dtD1 = dbHelper.ExecuteDataTable(string.Format("SELECT * FROM {0}_{3} WHERE TIME >= {1} AND TIME < {2} ORDER BY TIME", ea.m_symbol, minTime, maxTime, TestParameters2.CandidateParameter.MainPeriod)); var dtM1 = dbHelper.ExecuteDataTable(string.Format("SELECT * FROM {0}_M1 WHERE TIME >= {1} AND TIME < {2} ORDER BY TIME", ea.m_symbol, minTime, maxTime)); int idxD1 = 0; double[] pp = new double[TestParameters.CandidateParameter4Db.AllIndNames.Count + 6 + 5]; for (int i = 0; i < dtM1.Rows.Count; ++i) { long nowTime = (long)dtM1.Rows[i]["Time"]; FillPp(pp, dtM1.Rows[i]); ea.OnNewBar(nowTime, 60, pp); if (idxD1 >= dtD1.Rows.Count) { break; } long nowD1Time = (long)dtD1.Rows[idxD1]["Time"]; if (nowTime >= nowD1Time) { FillPp(pp, dtD1.Rows[idxD1]); ea.OnNewBar(nowD1Time, (int)(TestParameters2.MainPeriodOfHour * 60 * 60), pp); idxD1++; } } }
private static void 保存报关单快照(string 报关单号, string 网页快照) { Feng.Data.DbHelper db = Feng.Data.DbHelper.Instance; db.ExecuteNonQuery("delete Temp_报关单网页快照 where 报关单号 = '" + 报关单号 + "'"); db.ExecuteNonQuery(string.Format("insert Temp_报关单网页快照 (报关单号,网页快照) values ('{0}','{1}')", 报关单号, 网页快照.Replace("'", "''"))); }