public bool Test() { InputData inData = new InputData(); inData.LoadFromDirectory(this.SourceDirectory, null); List <StratergyParameterRange> ranges = new BuyLimitAndWaitConfigReader().GetRanges(new List <string>()); BuyLimitAndWaitStrategy blwStrategy = new BuyLimitAndWaitStrategy(); StrategyParameter sParam = ranges[0].GetAllParameters()[0]; sParam["InitHistoryMinutes"] = 0; blwStrategy.TesterInit(sParam, null); FuturePredictor fPredictor = new FuturePredictor(inData.Data); EngineFast engineFast = new EngineFast(); engineFast.StartTest(inData, blwStrategy, fPredictor, true, 100); blwStrategy = new BuyLimitAndWaitStrategy(); sParam = ranges[0].GetAllParameters()[0]; sParam["InitHistoryMinutes"] = 0; blwStrategy.TesterInit(sParam, null); Engine engine = new Engine(null, null); engine.StartTest(inData, blwStrategy, new Account(10000000, 3)); return(engineFast.HistoryOpenBuyPoints.Count() + engineFast.HistoryOpenSellPoints.Count() == engine.ClosedOrders.Count()); }
static public void CalculatePoints(StrategyParameter currParam, InputData inData, FuturePredictor fPredictor, int countDiff, out IEnumerable <int> buyArray, out IEnumerable <int> sellArray) { buyArray = null; sellArray = null; BuyLimitAndWaitStrategy blwStrategy = new BuyLimitAndWaitStrategy(); currParam["InitHistoryMinutes"] = 0; blwStrategy.TesterInit(currParam, null); EngineFast engineFast = new EngineFast(); engineFast.StartTest(inData, blwStrategy, fPredictor, false, 100); buyArray = Enumerable.Select(engineFast.HistoryOpenBuyPoints, p => p + countDiff); sellArray = Enumerable.Select(engineFast.HistoryOpenSellPoints, p => p + countDiff); }