/// <summary> /// Запуск расчета Болинжера по множеству параметров /// </summary> private async Task TaskMultiParametrBB(string _path, SettingsClass _sc) { MarketTradesRepository _marketTrad = (MarketTradesRepository)StaticService.Deserializes(_path); List <Task> tasks = new List <Task>(); int countPeriod = _sc.CountPeriodBB_Start; double k_stddev; string _fileNameInp = Path.GetFileNameWithoutExtension(_path) + "_"; for (int i = 0; i < _sc.CountStepPeriod; i++) { k_stddev = _sc.CountStdDevBB_Start; for (int ii = 0; ii < _sc.CountStepStdDev; ii++) { Task theTask = CreateRepositoryBolinger(_marketTrad, countPeriod, k_stddev, _fileNameInp); tasks.Add(theTask); k_stddev += _sc.StdDevBBStep; } countPeriod += _sc.PeriodBBStep; } await Task.WhenAll(tasks); }
public async Task <string> CalcBBAsync(SettingsClass _sc) { string _result = await this.GetInputData(_sc); StaticService.LogFileWrite("-- CalculationBBAsync = " + _result, "runtime.txt", true); return("Расчет закончен."); }
public ObtainingDriver(RepositiryClasses _rC) { _allTradChannel = (AllTradesChannel)_rC.GetReference("AllTradesChannel"); _allTradChannel.LoadedLineEvent += _allTradChannel_LoadedLineEvent; marketTradRepo = _rC.MarketTradRepo; settClass = _rC.SettClass; id = 0; }
public RepositiryClasses() { DDEChannelCreate(); // --1-- marketTradesRepository = new MarketTradesRepository(); testResultRepository = new TestResultRepositiry(); settingsClass = new SettingsClass(); // --2-- // восстанавливаем сохраненные экземпляры DeserializesObject(); // последний obtainingDriver = new ObtainingDriver(this); convertToDat = new ConvertToDat(); calcBolinger = new CalculationBolinger(); testMarketDriver = new TestMarketDriver(); }
/// <summary> /// Получение входных данных для расчета Болинжера /// </summary> private async Task <string> GetInputData(SettingsClass _sc) { TimeSpan _runTime; DateTime _startRun = DateTime.Now; List <Task> _tasks = new List <Task>(); string[] filePathes = StaticService.GetPathFiles(folderInput, patern1); foreach (string _path in filePathes) // проходим по файлам { _tasks.Add(TaskMultiParametrBB(_path, _sc)); } await Task.WhenAll(_tasks); _runTime = DateTime.Now - _startRun; return(String.Format("{0:00}:{1:00}:{2:00}.{3:000}", _runTime.Hours, _runTime.Minutes, _runTime.Seconds, _runTime.Milliseconds)); }
//-------- #region -Constructor- public ViewModel() { repositClasses = new RepositiryClasses(); manipulationCharts = new ManipulationCharts(); marketTradRepo = repositClasses.MarketTradRepo; testResultBufer = repositClasses.TestResReposit; settingsClass = repositClasses.SettClass; testMarketDriver = repositClasses.TestmarketDriver; intraAdapt = new IntradayAdaptation(); // работа через файлы convertToDat = repositClasses.ConvToDat; calcBolinger = repositClasses.CalcBolinger; fromDate = DateTime.Now; toDate = fromDate; oneDay = fromDate; countBest = 1; }
/// <summary> /// Десериализация сохраненных объектов /// </summary> private void DeserializesObject() { settingsClass = (SettingsClass)StaticService.Deserializes(settingsClass.GetType().ToString(), settingsClass); testResultRepository = (TestResultRepositiry)StaticService.Deserializes(StaticService.RelativePatchCreate(SettingsClass.TestResult + SettingsClass.FolderSBRF) + "!_actul_result", new TestResultRepositiry()); }