private void LoadMarketSettings() { var settings = _settingsService.GetSettings <ChartsSettings>(); var marketSettings = settings?.Markets?.FirstOrDefault(m => m.Epic == _marketEpic); if (marketSettings == null) { marketSettings = MarketSettings.GetDefault(_marketEpic); if (settings.Markets == null) { settings.Markets = new List <MarketSettings>(); } settings.Markets.Add(marketSettings); _settingsService.SaveSettings <ChartsSettings>(); } var tlp = marketSettings.TopLeftPeriod; if (tlp.Mode == PeriodMode.Time) { TopLeftCandleReceiver = _tradingService.GetCandleReceiver(_marketEpic, (Periods)tlp.TimePeriod, tlp.AverageOpen); } else { TopLeftCandleReceiver = _tradingService.GetCandleReceiver(_marketEpic, tlp.TickCount, tlp.AverageOpen, tlp.MaxSeconds); } var blp = marketSettings.BottomLeftPeriod; if (blp.Mode == PeriodMode.Time) { BottomLeftCandleReceiver = _tradingService.GetCandleReceiver(_marketEpic, (Periods)blp.TimePeriod, blp.AverageOpen); } else { BottomLeftCandleReceiver = _tradingService.GetCandleReceiver(_marketEpic, blp.TickCount, blp.AverageOpen, blp.MaxSeconds); } var rp = marketSettings.RightPeriod; if (rp.Mode == PeriodMode.Time) { RightCandleReceiver = _tradingService.GetCandleReceiver(_marketEpic, (Periods)rp.TimePeriod, rp.AverageOpen); } else { RightCandleReceiver = _tradingService.GetCandleReceiver(_marketEpic, rp.TickCount, rp.AverageOpen, rp.MaxSeconds); } }