Example #1
0
        private static double CalculateLabel(string fileName)
        {
            List <_CandleStruct>  candles  = new List <_CandleStruct>();
            List <FlatIdentifier> flatList = new List <FlatIdentifier>();

            candles = new Reader(candles).GetHistoricalData(fileName);

            HistoricalFlatFinder historicalFlatFinder = new HistoricalFlatFinder(candles, ref flatList);

            historicalFlatFinder.FindAllFlats();
            if (flatList.Count <= _Constants.MinFlatsMustBeFound)
            {
                logger.Trace($"Not enough flats found ({flatList.Count})");
                return(_Constants.InitialBalance);
            }

            historicalFlatFinder.LogAllFlats();

            FlatClassifier flatClassifier = new FlatClassifier(candles, ref flatList);

            flatClassifier.ClassifyAllFlats();

            StopLossesFinder stopLossesFinder = new StopLossesFinder(candles, ref flatList);

            stopLossesFinder.FindAndSetStopLosses();

            TakeProfitsFinder takeProfitsFinder = new TakeProfitsFinder(candles, ref flatList);

            takeProfitsFinder.FindAndSetTakeProfits();
            takeProfitsFinder.LogStatistics();

            Dealer dealer = new Dealer(candles, flatList);

            dealer.SimulateDealing();

            return(dealer.balanceAccount);
        }
Example #2
0
 public Printer(HistoricalFlatFinder historicalFf) : this()
 {
     historicalFlatFinder = historicalFf;
 }