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