/// <summary> /// Calculate score of each strategy /// </summary> /// <param name="history">One stock history</param> /// <param name="factory">Strategy Factory</param> /// <param name="reader">Bonus imformation</param> public void Calc(IStockHistory history, IStrategyFactory factory, IBonusProcessor reader) { FinanceRunner runner = new FinanceRunner(); runner.CurrentBonusProcessor = reader; runner.Go(history, factory); IStrategyJudger judger = new StrategyJudger(); judger.Judge(runner.Results); IStrategyJudger judger2 = new ValidationJudger(); judger2.Judge(runner.Results); AllScores_.AddRange(judger.ScoresArr); AllScores_.AddRange(judger2.ScoresArr); }
public void Go() { FakeStockHistory hist = new FakeStockHistory(); hist.Init(); LogMgr.Logger = new DummyLog(); FinanceRunner runner = new FinanceRunner(); runner.CurrentBonusProcessor = new FakeIBonusProcessor(); IStrategyFactory factory = StrategyFactoryCreater.Instance().CreateFactory(StrategyFactoryType.Normal); runner.Go(hist, factory); StrategyResults results = runner.Results; Assert.IsTrue(results.AllStrategyNames.Count > 0); LogMgr.Logger.Close(); }
private void buttonCalc_Click(object sender, EventArgs e) { SetUserDefinedDate(); log_.Info("==>Calculate start. Start Date = " + History_.MinDate.ToLongDateString() + ", End Date = " + History_.MaxDate.ToLongDateString()); FormStrategy frm = new FormStrategy(); if (frm.ShowDialog() != DialogResult.OK) { log_.Info("<==Calculate end. Not select strategy. "); return; } FinanceRunner runner = new FinanceRunner(); runner.CurrentBonusProcessor = BonusProcessor_; runner.Go(History_, frm.Factory); _results = runner.Results; log_.Info("<==Calculate complete. "); ShowCompareResults(); }