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); }
public Printer(HistoricalFlatFinder historicalFf) : this() { historicalFlatFinder = historicalFf; }