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());
        }
Example #2
0
        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);
        }