From 4ba1725d6a10f55f2619ebd79bc19510af92e7ca Mon Sep 17 00:00:00 2001 From: djbadders <34887832+djbadders@users.noreply.github.com> Date: Thu, 20 Aug 2020 07:16:48 +0100 Subject: [PATCH] Fixed issue where trend data got stuck --- Core/MarketAnalyzer/BaseAnalyzer.cs | 87 ++++++++++++++--------------- 1 file changed, 42 insertions(+), 45 deletions(-) diff --git a/Core/MarketAnalyzer/BaseAnalyzer.cs b/Core/MarketAnalyzer/BaseAnalyzer.cs index 2865926..1c16fd5 100644 --- a/Core/MarketAnalyzer/BaseAnalyzer.cs +++ b/Core/MarketAnalyzer/BaseAnalyzer.cs @@ -138,7 +138,7 @@ namespace Core.MarketAnalyzer string baseUrl = "https://api.github.com/repos/PTMagicians/PTMagic/releases/latest"; Newtonsoft.Json.Linq.JObject jsonObject = GetSimpleJsonObjectFromURL(baseUrl, log, new (string header, string value)[] { ("User-Agent", "PTMagic.Import") }); - + if (jsonObject != null) { result = jsonObject.GetValue("tag_name").ToString(); @@ -337,55 +337,52 @@ namespace Core.MarketAnalyzer Market recentMarket = recentMarkets[recentMarketPair.Key]; - if (trendMarkets.ContainsKey(recentMarketPair.Key)) + List ignoredMarkets = SystemHelper.ConvertTokenStringToList(marketTrend.IgnoredMarkets, ","); + if (ignoredMarkets.Contains(recentMarketPair.Value.Symbol)) { - List ignoredMarkets = SystemHelper.ConvertTokenStringToList(marketTrend.IgnoredMarkets, ","); - if (ignoredMarkets.Contains(recentMarketPair.Value.Symbol)) + log.DoLogDebug(platform + " - Market trend '" + marketTrend.Name + "' for '" + recentMarketPair.Key + "' is ignored in this trend."); + continue; + } + + List allowedMarkets = SystemHelper.ConvertTokenStringToList(marketTrend.AllowedMarkets, ","); + if (allowedMarkets.Count > 0 && !allowedMarkets.Contains(recentMarketPair.Value.Symbol)) + { + log.DoLogDebug(platform + " - Market trend '" + marketTrend.Name + "' for '" + recentMarketPair.Key + "' is not allowed in this trend."); + continue; + } + + Market trendMarket = trendMarkets[recentMarketPair.Key]; + + if (trendMarket != null) + { + double recentMarketPrice = recentMarket.Price; + double trendMarketPrice = trendMarket.Price; + + if (!platform.Equals("CoinMarketCap", StringComparison.InvariantCulture) && marketTrend.TrendCurrency.Equals("Fiat", StringComparison.InvariantCultureIgnoreCase)) { - log.DoLogDebug(platform + " - Market trend '" + marketTrend.Name + "' for '" + recentMarketPair.Key + "' is ignored in this trend."); - continue; - } - - List allowedMarkets = SystemHelper.ConvertTokenStringToList(marketTrend.AllowedMarkets, ","); - if (allowedMarkets.Count > 0 && !allowedMarkets.Contains(recentMarketPair.Value.Symbol)) - { - log.DoLogDebug(platform + " - Market trend '" + marketTrend.Name + "' for '" + recentMarketPair.Key + "' is not allowed in this trend."); - continue; - } - - Market trendMarket = trendMarkets[recentMarketPair.Key]; - - if (trendMarket != null) - { - double recentMarketPrice = recentMarket.Price; - double trendMarketPrice = trendMarket.Price; - - if (!platform.Equals("CoinMarketCap", StringComparison.InvariantCulture) && marketTrend.TrendCurrency.Equals("Fiat", StringComparison.InvariantCultureIgnoreCase)) + if (recentMarket.MainCurrencyPriceUSD > 0 && trendMarket.MainCurrencyPriceUSD > 0) { - if (recentMarket.MainCurrencyPriceUSD > 0 && trendMarket.MainCurrencyPriceUSD > 0) - { - recentMarketPrice = recentMarketPrice * recentMarket.MainCurrencyPriceUSD; - trendMarketPrice = trendMarketPrice * trendMarket.MainCurrencyPriceUSD; - } + recentMarketPrice = recentMarketPrice * recentMarket.MainCurrencyPriceUSD; + trendMarketPrice = trendMarketPrice * trendMarket.MainCurrencyPriceUSD; } - - double trendMarketChange = (recentMarketPrice - trendMarketPrice) / trendMarketPrice * 100; - - MarketTrendChange mtc = new MarketTrendChange(); - mtc.MarketTrendName = marketTrend.Name; - mtc.TrendMinutes = marketTrend.TrendMinutes; - mtc.TrendChange = trendMarketChange; - mtc.Market = recentMarket.Name; - mtc.LastPrice = recentMarket.Price; - mtc.Volume24h = recentMarket.Volume24h; - mtc.TrendDateTime = DateTime.UtcNow; - - result.Add(mtc); - - log.DoLogDebug(platform + " - Market trend '" + marketTrend.Name + "' for '" + recentMarketPair.Key + "' (Vol. " + recentMarket.Volume24h.ToString("#,#0.00") + ") is " + trendMarketChange.ToString("#,#0.00") + "% in " + SystemHelper.GetProperDurationTime(marketTrend.TrendMinutes * 60).ToLower() + "."); - - marketCount++; } + + double trendMarketChange = (recentMarketPrice - trendMarketPrice) / trendMarketPrice * 100; + + MarketTrendChange mtc = new MarketTrendChange(); + mtc.MarketTrendName = marketTrend.Name; + mtc.TrendMinutes = marketTrend.TrendMinutes; + mtc.TrendChange = trendMarketChange; + mtc.Market = recentMarket.Name; + mtc.LastPrice = recentMarket.Price; + mtc.Volume24h = recentMarket.Volume24h; + mtc.TrendDateTime = DateTime.UtcNow; + + result.Add(mtc); + + log.DoLogDebug(platform + " - Market trend '" + marketTrend.Name + "' for '" + recentMarketPair.Key + "' (Vol. " + recentMarket.Volume24h.ToString("#,#0.00") + ") is " + trendMarketChange.ToString("#,#0.00") + "% in " + SystemHelper.GetProperDurationTime(marketTrend.TrendMinutes * 60).ToLower() + "."); + + marketCount++; } } }